文章来至54lihui的Blog,保存下来以留后用,稍有改动。
通过下面一段加入域的代码只要保存为.bat文件在客户机执行,就可以加入域了,虽然还要一台台运行,但是一定程度上提高了工作效率。ps:双击运行后,并不会像以前那种方式加入域后提示重启。而是需要手动重启后,方可看到效果。
代码如下:
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
strDomain = "XXX" 注:这里添的是域名,可谓netbios或者域名
strPassword = "XXX" 注:这里添的是具有加入域权限的帐户的密码
strUser = "XXX" 注:这里添的是具有加入域权限的帐户
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
strDomain = "XXX" 注:这里添的是域名,可谓netbios或者域名
strPassword = "XXX" 注:这里添的是具有加入域权限的帐户的密码
strUser = "XXX" 注:这里添的是具有加入域权限的帐户
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
wscript.echo "计算机加入域完成!按确定后重新启动电脑!"
set ws=wscript.createobject("wscript.shell")
ws.run "shutdown -r -t 0",0
set ws=wscript.createobject("wscript.shell")
ws.run "shutdown -r -t 0",0
转载于:https://blog.51cto.com/guigui/815141