Script para Desbloquear a Conta de Usuário do Active Directory com Visual Basic Scripting (VBScript)
Procedimento:
1. Copie o exemplo abaixo VBScript código e cole-o no bloco de notas ou em vbscript editor.
2. Salve o arquivo com a extensão .vbs por exemplo: UnlockADUser.vbs
3. Clique duas vezes no arquivo VBScript para desbloquear um usuário do Active Directory.
4. Digite o “nome de usuário” para desbloquear e clique em OK para prosseguir.
' UnlockADUser.vbs ' Sample VBScript to Unlock Active Directory user . ' Author: http://www.morgantechspace.com/ ' ------------------------------------------------------' Option Explicit Dim adoCommand, adoConnection Dim varBaseDN, varFilter, varAttributes Dim objRootDSE, varDNSDomain, strQuery, adoRecordset Dim strUserName,objUser ' Pede o nome de usuário para Desbloquear. Do strUserName= InputBox ("Favor informar o nome de usuário") If strUserName= "" then Wscript.Echo "Nenhum nome de usuario inserido" end if Loop Until strUserName <> "" ' Setup ADO objects. Set adoCommand = CreateObject("ADODB.Command") Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" Set adoCommand.ActiveConnection = adoConnection ' Search entire Active Directory domain. Set objRootDSE = GetObject("LDAP://RootDSE") varDNSDomain = objRootDSE.Get("defaultNamingContext") varBaseDN = "<LDAP://" & varDNSDomain & ">" ' Filter on user objects. varFilter = "(&(objectCategory=person)(objectClass=user)(|(samaccountname="& strUserName &")(name="& strUserName &")))" ' Comma delimited list of attribute values to retrieve. varAttributes = "samaccountname,distinguishedname" ' Construct the LDAP syntax query. strQuery = varBaseDN & ";" & varFilter & ";" & varAttributes & ";subtree" adoCommand.CommandText = strQuery adoCommand.Properties("Page Size") = 1000 adoCommand.Properties("Timeout") = 20 adoCommand.Properties("Cache Results") = False ' Run the query. Set adoRecordset = adoCommand.Execute IF(adoRecordset.EOF<>True) Then Set objUser = GetObject("LDAP://"& adoRecordset.Fields("distinguishedname").value) If objUser.IsAccountLocked = 0 Then Wscript.Echo "O usuário '" & strUserName & "' não está bloqueado." Else objUser.IsAccountLocked = 0 objUser.SetInfo WScript.Echo "O usuário '"& strUserName &"' foi desbloqueado com sucesso." End if Else WScript.Echo "Nenhum usuário encontrado com o nome '"& strUserName &"'" End if ' close ado connections. adoRecordset.Close adoConnection.Close