windows的用户管理问题(50分)

  • 主题发起人 主题发起人 shenfeng_126
  • 开始时间 开始时间
S

shenfeng_126

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在需要用程序向操作系统中添加、删除用户,并分配权限,总之就象windows中的<br>用户管理一样,请问有代码怎么实现?
 
如果你編程實現的功能跟WINDOWS 的ACTIVE DIRECTORY 的功能一模一樣,那麼你可以去MICROSOFT做軟件工程師了.哈哈.<br>&gt;&gt;用程序向操作系统中添加、删除用户,并分配权限<br>如果你的程序是在WIN9X下運行的呢?如果是在NT WORKSTATION下呢?或者在W2K PRO .WIN XP<br>就算你的是W2K SERVER 或 WIN NT SERVER 或WIN 2K3 ,如果你的不是BDC或PDC,而是一台單獨的服務器你怎麼辦?<br>還有,如果你的權限不能新增使用者呢?<br>一句話,這是做夢.哈哈
 
只在单独的服务器上运行(2000server)上运行
 
api就不知道了,你到是可以在后台用net命令实现,具体看看win2k帮助-&gt;参考-&gt;MS-DOS 命令-&gt;Net(命令选项),至于楼上说的操作系统的版本嘛,用些api就可以判断了,具体俺也不知道了。[:D]
 
MS-DOS?<br>我需要用DELPHI实现。
 
就算你用DOS命令你都不能實現.不信你可以試試.
 
是不是一点办法没有?
 
是.<br>因為涉級的東西太底層了.<br>而且ACTIVE DIRECTORY是和WINDOWS捆綁在一起的.<br>如果你能實現,那微軟早就垮了.
 
楼上不会就不要乱说:<br><br>windows.WinExec('net user aaa /add',SW_HIDE);<br>//增加用户,SW_HIDE不显示dos窗口<br>windows.WinExec('net localgroup administrators aaa /add',SW_HIDE);<br>//把刚才添加的用户增加到administrators组<br>windows.WinExec('net user aaa /delete',SW_HIDE);<br>//删除用户<br><br>win2kp、win2kad运行通过!!!<br>
 
我说的是在delphi中调用dos命令实现,楼主到win2k帮助-&gt;参考-&gt;MS-DOS 命令-&gt;Net(命令选项)去好好看看windows的帮助,这里贴一段看看。<br><br>Net user<br>添加或修改用户帐户或者显示用户帐户信息。 <br><br>net user [username [password | *] [options]] [/domain]<br><br>net user username {password | */add [options] [/domain]<br><br>net user username [/delete] [/domain]<br><br>参数 <br><br>无<br><br>如果在没有参数的情况下使用,则 net user 将显示计算机上用户帐户的列表。 <br><br>username<br><br>指定要添加、删除、修改或查看的用户帐户名。用户帐户名最多可有 20 个字符。 <br><br>password<br><br>为用户帐户指派或更改密码。密码必须满足 net accounts 命令的 /minpwlen 选项设置的最小长度。最多可有 127 个字符。但是,如果网上既有 Windows 2000 计算机,也有 Windows 95 或 Windows 98 计算机,则密码不要超过 14 个字符。Windows 95 和 Windows 98 支持的密码长度最大为 14 个字符。如果密码太长,将无法从 Windows 98 或 Windows 95 计算机上登录到网络。<br><br>*<br><br>生成该密码的提示符。在密码提示符处键入密码时不显示密码。 <br><br>/domain<br><br>在计算机主域的主域控制器执行操作。 <br><br>该参数只适用于属 Windows 2000 Server 域成员的 Windows 2000 Professional 计算机。默认情况下,Windows 2000 Server 计算机在主域控制器上执行操作。 <br><br>&nbsp;注意<br><br>该操作在计算机主域的主域控制器上执行。该域可能不是登录域。 <br>/add<br><br>将用户帐户添加到用户帐户数据库。 <br><br>/delete<br><br>从用户帐户数据库中删除用户帐户。 <br><br>options<br><br>指定以下选项:<br><br>/active:{no | yes_<br><br>启用或禁用用户帐户。如果用户帐户不活动,该用户就无法访问计算机中的资源。默认设置为 yes(活动)。 <br><br>/comment:text<br><br>提供关于用户账户的描述性说明。该注释最多可以有 48 个字符。给文本加上引号。 <br><br>/countrycode:nnn<br><br>使用操作系统“国家(地区)”代码为用户帮助和错误消息实现指定的语言文件。数值 0 代表默认的“国家(地区)”代码。 <br><br>/expires:{date | never}<br><br>如果设置了 date,会使用户帐户过期;不要给用户帐户设置时间限制。到期时间的格式可以是 mm/dd/yy、 dd/mm/yy 或 mmm,dd,yy,这取决于“国家/地区”代码。注意,帐户在指定日期开始时到期。月份可以是数字、拼写或三个字母的缩写。年份可以是两位或四位数字。使用逗号和斜杠分隔日期的各部分(不使用空格)。如果省略了 yy,将假定为下一次出现的日期(根据计算机的日期和时间)。例如,如果输入的日期在 1994 年 1 月 10 日到 1995 年 1 月 8 日之间,则下列 date 项相等: <br><br>jan,9 <br>1/9/95 <br>january,9,1995 <br>1/9 <br><br>/fullname:"name"<br><br>指定用户的全名而不是用户名。将名称用引号括起来。 <br><br>/homedir:path<br><br>设置用户主目录的路径。该路径必须存在。<br><br>/passwordchg:{yes | no}<br><br>指定用户是否可以更改自己的密码。默认设置为 yes。 <br><br>/passwordreq:{yes | no}<br><br>指定用户帐户是否必须有密码。默认设置为 yes。 <br><br>/profilepath:[path]<br><br>设置用户登录配置文件的路径。该路径指向注册表配置文件。<br><br>/scriptpath:path<br><br>设置用户登录脚本的路径。path 值不能是绝对路径;path 相对于 %systemroot%/System32/Repl/Import/Scripts。 <br><br>/times:{times | all}<br><br>指定允许用户使用计算机的时间。times 值表示为 day [-day][,day[-day]],time[-time][,time[-time]],增量限于 1 小时。日期可以拼写或缩写 (M,T,W,Th,F,Sa,Su)。小时可以使用 12 或 24 制表示法。对于 12 小时表示法,请使用 AM、PM 或 A.M.、P.M.。数值 all 意味着用户总是可以登录。空值(空白)意味着用户永远不能登录。用逗号分隔日期和时间,用分号分隔日期和时间单元(例如,M,4AM-5PM;T,1PM-3PM)。指定时间时不要使用空格。 <br><br>/usercomment:"text"<br><br>指定管理员添加或更改帐户的“用户注释”。给文本加上引号。 <br><br>/workstations:{computername[,...] | *}<br><br>最多列出 8 个用户可以登录到网络的工作站。用逗号分隔列表中的多个项。如果 /workstations 没有列表,或列表为 *,则该用户可以从任何计算机登录。 <br><br>
 
[blue][/blue]我觉得吗?<br>就像有一位同志所说的啊,<br>这种情况不是不可能啊。。。只是太过于底层了啊。。。你看一下用MS-DOS编程开发一下<br>也许你会有一点启示。。例如可以用NET命令啊。。总之。。。要用DOS编程着手吧。。。<br>
 
&gt;&gt;楼上不会就不要乱说:<br>1&gt;某一用戶下次登入時需變更密碼.<br>2&gt;某一用戶只能在10:00-20:00登入<br>3&gt;某一用戶的密碼永不過期.<br>4&gt;給某用戶增加一個信箱.<br>你試試看呀.<br><br>
 
簡單一點,<br>你用net命令把administrator的密碼重設試試.
 
本人站点(下载110)http://www.down110.com<br>欢迎提出建议,大家一起进步! Email:web@down110.com
 
Net accounts<br>将用户帐户数据库升级并修改所有帐户的密码和登录请求。Net Logon 服务必须在需要更改帐户参数的计算机上运行。<br><br>net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]<br><br>net accounts [/sync] [/domain]<br><br>参数<br><br>无<br><br>键入不带参数的 net accounts 命令显示密码、登录限制和域信息的当前配置。 <br><br>/forcelogoff:{minutes | no}<br><br>设置当用户帐户或有效登录时间到期时在结束用户与服务器的会话前要等待的分钟数。no 选项防止强制注销。默认设置是 no。 <br><br>在指定了 /forcelogoff:minutes 选项后,Windows 2000 在强制用户离开网络的 minutes 分钟前发送警告。如果任何文件被打开,Windows 2000 将警告用户。如果 minutes 少于 2,Windows 2000 将警告用户立即从网络注销。 <br><br>/minpwlen:length<br><br>设置用户帐户密码的最少字符数。范围是 0-127 个字符,默认值是 6 个字符。 <br><br>/maxpwage:{days | unlimited}<br><br>设置用户帐户密码有效天数的最大值。数值 unlimited 设置无限长时间。/maxpwage 选项必须大于 /minpwage。范围是 1-49,710 天(“无限长”),默认值是 90 天。<br><br>/minpwage:days<br><br>设置在用户可以更改新密码前的最小天数。数值 0 设置无限短时间。范围是 0-49,710 天,默认值是 0 天。 <br><br>/uniquepw:number<br><br>要求用户不对 number 次密码更改重复相同的密码。范围是 0-24 次密码更改,默认值是 5 次密码更改。 <br><br>/domain<br><br>对当前域的主域控制器执行操作。否则,操作在本地计算机上执行。 <br><br>该参数只适用于属 Windows 2000 Server 域成员的 Windows 2000 Professional 计算机。默认情况下,Windows 2000 Server 计算机在主域控制器上执行操作。 <br><br>/sync<br><br>当在主域控制器上使用时,使域中的所有备份域控制器同步。当在备份域控制器上使用时,使备份域控制器只与主域控制器同步。该命令只适用于 Windows 2000 Server 域成员计算机。 <br><br>相关主题 <br>
 
刚才义试过了,确实可以,真是感激不尽!<br>另外我还想知道以下几个问题:<br>1。怎样用程序列出所有用户及各个用户的权限(属性)?<br>2。怎样用程序设置、修改密码?<br>3。怎样用程序修改用户的权限(属性,例如 将密码永不过期这个选项选上)?
 
真是厉害!<br>过会儿再加分,因为我看看你们讨论,增长见识吗
 
接受答案了.
 
来自:011101, 时间:2004-3-25 9:35:11, ID:2520930 <br>簡單一點,<br>你用net命令把administrator的密碼重設試試.<br>&nbsp;<br>答:<br>net user administrator &nbsp;1234qwer
 
dirk;<br> 不好意思,再打扰一下。<br> 请问:<br>  net user 是列出用户,可是怎样将用户放在ListBox中呢,也就是怎样读出用户信息?还有怎样读出用户的权限(属性)信息?<br>帮帮忙吧<br>谢谢!
 
后退
顶部