声明:本文转载自gnaw0725.blogbus.com,更新网址:

   在域控制器上如何一次修改属于这个域的计算机的管理员密码?成批更改域客户机本地管理员密码实例。

回答:经常有人看到问如何更改域客户机本地管理员口令,现在整理如下:

1.在DC或者有权限的电脑上运行管理工具Active Directory 用户和计算机,选定你欲操作的OU,新建一组,添加一条开机脚本。
2.开机脚本内容如下
Changing the Local Administrator Password.vbs
'**************************************************************
'
' file: Changing the Local Administrator Password.vbs
' Author: Microsoft
'
' *************************************************************
strComputer = "."
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")
objUser.SetPassword "testpassword"
objUser.SetInfo
3.保存组策略后,运行cmd,执行secedit /refreshpolicy MACHINE_POLICY命令立即刷新组策略。
注:
1. 本例不考虑管理员口令已改名的情况
2. 不考虑口令已经更改过,只要客户端重启就重置一次密码。

---final(▲▲)

把以下代码存成一个vbs,改改域名,在DC上运行

' VBScript source code
Option Explicit
On Error Resume Next
Msgbox "本操作将修改当前在线的客户端的本地Administrator密码", 1, "请注意"
Set objOU = GetObject("LDAP://OU=Finance, DC=fabrikam, DC=com")
objOU.Filter = Array("Computer")
For Each objItem in objOU
strComputer = objItem.CN
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")
objUser.SetPassword("i5A2sj*!")
Next
Msgbox "本次操作已经成功完成", 0, "恭喜您"

---竹林冷雨(▲▲▲)

很老的话题了,之前也这么在线做过,但有些计算机账户不在线,或者已经丢失与dc的信任连接,那么遍历一个OU中的所有计算机帐户,来更改密码,这个时间可能会比较长。

您可以可以考虑用计算机登录脚本的方式来做,比如 net user administrator i5A2sj*!
但计算机登录脚本需要考虑安全性的问题,毕竟是明文密码,可以考虑将authenticated users取消,然后使用更强壮一些语言来写脚本并编译它,然后还有就是执行的时间的保密性。
但无论用什么方式,在变更之前,需要计划好一个确定的可以实施的评估方式,即变更动作发生一段时间后,统计已经发生变更的计算机数目。因为可能已经有用户更改了管理员的名称,或者其他方面的原因,导致脚本执行失败。

---gnaw0725(★★)