Script VBS - Acesse o objeto Usuário LDAP com samAccountName

Script VBS - Acesse o objeto Usuário LDAP com samAccountName

Estou tentando escrever um VBScript que atenda a 2 requisitos:

  1. Ele desbloqueia a conta de um usuário.
  2. Ele pode fazer isso e referenciar o usuário usando samAccountName.

# 1 funciona. No entanto, o script abaixo que comecei a trabalhar apenas faz referência ao usuário com seu nome completo do 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)

Por exemplo, suponha que temos o usuário ‘bsmith’, cujo nome completo é Bill Smith.

Só posso chamar esse script e fazê-lo funcionar passando "Bill Smithi" como usuário.

Como faço referência ao usuário que passa em "bsmith"? Eu não consigo entender isso.

Responder1

Dado que o VBS está quase obsoleto, recomendo que você tente fazer isso no PowerShell. Será quase trivial usar get-aduser e set-aduser. Experimente isto:

 get-aduser bsmith |Unlock-ADAccount

informação relacionada