Nathan Hartley Asked: 2009-06-25 07:42:12 +0800 CST2009-06-25 07:42:12 +0800 CST 2009-06-25 07:42:12 +0800 CST Windows 本地帐户和组维护 772 如何在 Windows 环境中远程维护本地帐户和组? windows user-management 4 个回答 Voted Best Answer Evan Anderson 2009-06-25T07:57:32+08:002009-06-25T07:57:32+08:00 您可以通过多种方式做到这一点。我只是使用调用 NET.EXE 命令行实用程序的 CMD 脚本。 要删除用户: NET USER <username> /DELETE 要创建新用户并将其添加到管理员组: NET USER <username> <password> /ADD NET LOCALGROUP Administrators <username> /ADD 请注意,您的脚本中将包含明文密码并相应地保护它。如果您将脚本分配为 AD 启动脚本(我会这样做),请更改脚本上的安全权限以包含“域计算机 - 读取和执行”并删除“经过身份验证的用户”权限,然后您将执行保持明文密码安全还有很长的路要走。 如果您在同一台机器上多次运行该脚本,它不会造成任何伤害。但是,如果您想跟踪它在哪些机器上运行,您可以考虑以下方法: 在 AD 中创建一个组——比如“用户创建脚本完成”。 修改组的权限以包括“域计算机 - 写入/将自己添加为成员” 在上面的脚本中,添加以下行: NET GROUP "用户创建脚本完成" /DOMAIN /ADD %COMPUTERNAME%$ 当它在每台机器上运行时,您会看到该组“增长”了成员计算机。 如果要阻止脚本在已经运行的计算机上运行,请向 GPO 添加一个权限,以分配启动脚本“用户创建脚本完成 - 拒绝应用组策略”。然后脚本将在每台机器上运行一次。(实际上,我经常为各种系统管理功能编写这种“trapdoor”脚本。) MathewC 2009-06-25T10:16:24+08:002009-06-25T10:16:24+08:00 1. MS方式: http: //support.microsoft.com/kb/272530 2.MS聘请了一个天才的方式: http ://technet.microsoft.com/en-gb/sysinternals/bb897553.aspx 3. GPO方式: http ://www.gilham.org/Blog/Lists/Posts/Post.aspx?List=aab85845-88d2-4091-8088-a6bbce0a4304&ID=505 4. 机器有时会关闭:使用 SMS/SCCM 发布 cmd 以更改密码警告:这会以明文形式留下密码,因此脚本在完成后删除文件 ta.speot.is 2010-02-03T14:40:06+08:002010-02-03T14:40:06+08:00 我建议使用受限组将用户添加到管理员组,而不是编写脚本。使用 GPO 应用它。 将它与@MathewC 的#3 结合起来,你应该有一个强大的解决方案。 Nathan Hartley 2010-02-03T14:22:56+08:002010-02-03T14:22:56+08:00 找到一篇关于如何通过组策略将域帐户添加到本地管理员组的帖子。 找到一篇文章,其中包含有关如何使用 Powershell 从本地组中列出/添加/删除帐户的信息。 Powershell 更改本地用户帐户密码示例 $userObject = [adsi] 'WinNT://ComputerName/UserName,user' $userObject.setpassword('NewPassword') 更多 WinNT/ADSI 提供商信息 使用 LDAP 提供程序设置和更改用户密码 (Windows) 帐户已禁用(WinNT 提供程序) ADSI WinNT 提供程序 IADs用户界面
您可以通过多种方式做到这一点。我只是使用调用 NET.EXE 命令行实用程序的 CMD 脚本。
要删除用户:
要创建新用户并将其添加到管理员组:
请注意,您的脚本中将包含明文密码并相应地保护它。如果您将脚本分配为 AD 启动脚本(我会这样做),请更改脚本上的安全权限以包含“域计算机 - 读取和执行”并删除“经过身份验证的用户”权限,然后您将执行保持明文密码安全还有很长的路要走。
如果您在同一台机器上多次运行该脚本,它不会造成任何伤害。但是,如果您想跟踪它在哪些机器上运行,您可以考虑以下方法:
在上面的脚本中,添加以下行:
NET GROUP "用户创建脚本完成" /DOMAIN /ADD %COMPUTERNAME%$
当它在每台机器上运行时,您会看到该组“增长”了成员计算机。
如果要阻止脚本在已经运行的计算机上运行,请向 GPO 添加一个权限,以分配启动脚本“用户创建脚本完成 - 拒绝应用组策略”。然后脚本将在每台机器上运行一次。(实际上,我经常为各种系统管理功能编写这种“trapdoor”脚本。)
1. MS方式: http: //support.microsoft.com/kb/272530
2.MS聘请了一个天才的方式: http ://technet.microsoft.com/en-gb/sysinternals/bb897553.aspx
3. GPO方式: http ://www.gilham.org/Blog/Lists/Posts/Post.aspx?List=aab85845-88d2-4091-8088-a6bbce0a4304&ID=505
4. 机器有时会关闭:使用 SMS/SCCM 发布 cmd 以更改密码警告:这会以明文形式留下密码,因此脚本在完成后删除文件
我建议使用受限组将用户添加到管理员组,而不是编写脚本。使用 GPO 应用它。
将它与@MathewC 的#3 结合起来,你应该有一个强大的解决方案。
找到一篇关于如何通过组策略将域帐户添加到本地管理员组的帖子。
找到一篇文章,其中包含有关如何使用 Powershell 从本地组中列出/添加/删除帐户的信息。
Powershell 更改本地用户帐户密码示例
更多 WinNT/ADSI 提供商信息