Я пытаюсь написать 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, полное имя которого - Билл Смит.
Я могу только вызвать этот скрипт и заставить его работать, указав Билла Смити в качестве пользователя.
Как мне сослаться на пользователя, передающего "bsmith"? Я не могу понять этого.
Учитывая, что VBS почти устарел, я рекомендую вам попробовать это в PowerShell. Использование get-aduser и set-aduser будет почти тривиальным. Попробуй это:
get-aduser bsmith |Unlock-ADAccount