Scripts

Como Desbloquear a Conta de Usuário do Active Directory (AD) – VBScript

Visual Basic Scripting (VBScript) para desbloquear Conta de Usuário no AD

bloqueado-ad

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

Etiquetas

Artigos relacionados

Botão Voltar ao topo

Adblock detectado

Por favor, considere apoiar-nos, desativando o seu bloqueador de anúncios