我正在尝试编写满足2个要求的VBScript:
#1的作品。 然而,我得到的下面的脚本只能引用用户完整的AD名称。
' UnlockUserAccount.vbs Option Explicit 'Get the arguments dim oArgs, strUser, strContainer set oArgs = WScript.Arguments strUser = "CN=" & trim(oArgs(0)) & "," strContainer = "OU=User Accounts,OU=Staff,OU=Org," ' Bind to Active Directory and get the user object dim objRootLDAP, objUser Set objRootLDAP = GetObject("LDAP://rootDSE") Set objUser = GetObject("LDAP://" & strUser & strContainer & objRootLDAP.Get("defaultNamingContext")) 'Unlock the user's account objUser.IsAccountLocked = False objUser.SetInfo Wscript.Quit(1)
例如,假设我们有用户'bsmith',其全名是Bill Smith。
我只能通过传递“Bill Smithi”作为用户来调用这个脚本。
我如何参考通过“bsmith”的用户? 我无法弄清楚这一点。
鉴于VBS几乎已经过时,我build议你在PowerShell中试试这个。 使用get-aduser和set-aduser几乎是微不足道的。 尝试这个:
get-aduser bsmith |Unlock-ADAccount