none
Unlock usuário especifico.... RRS feed

  • Pergunta

  • Ola Pessoal tudo bom?

    Estou tentanto criar um script para desbloquear um determinado usuário, usando o protocolo ldap, so que os users estão espalhado por varias OUs, alguem teria alguma solução para procurar o usuário?

     

     

    Obrigado

     

    Danillo =)

    domingo, 27 de agosto de 2006 21:21

Respostas

  • Nome = Inputbox("Nome do usuário","Desbloqueia Usuário")

    if nome="" then wscript.quit

    NomeLDAP=Get_Ldap(Nome)

    Set objUser = GetObject _
        ("LDAP://" & NomeLDAP)

    objUser.IsAccountLocked = False
    objUser.SetInfo

    if error.number=0 then
     wscript.echo "Operação concluida com suceeso!"
    else
     wscript.echo error.description
    end if

     


    function Get_Ldap(strUserName)

     Set objConnection = CreateObject("ADODB.Connection")
     objConnection.Open "Provider=ADsDSOObject;"
     
     Set objCommand = CreateObject("ADODB.Command")
     objCommand.ActiveConnection = objConnection
     
     objCommand.CommandText = "<GC://dc=ms,dc=com,dc=br>;(&(objectCategory=User)(samAccountName=" & strUserName & "));distinguishedName;subtree"
     

     Set objRecordSet = objCommand.Execute
     
     If objRecordset.RecordCount = 0 Then
          Get_Ldap=""
     Else
      objRecordset.movefirst
          Get_Ldap=ObjRecordset("distinguishedName")
     end if
     
     
     objConnection.Close
     set objConnection = Nothing


    end function


     

    terça-feira, 29 de agosto de 2006 17:54
    Moderador

Todas as Respostas

  • Coloque o script a nivel de dominio.

     

    Abraços

    domingo, 27 de agosto de 2006 23:08
  • Não entendi?
    segunda-feira, 28 de agosto de 2006 11:52
  • Pelo que entendi vc tem o nome do usuário mas sempre precisa informar o caminho completo.

    Utilize a função abaixo para retornar o caminho completo:

    Exemplo de utilização:

    Nome_completo = Get_Ldap(danillofa)

    obs: A parte em vermelho vc tem que alterar para refletir o seu dominio.

    function Get_Ldap(strUserName)

     Set objConnection = CreateObject("ADODB.Connection")
     objConnection.Open "Provider=ADsDSOObject;"
     
     Set objCommand = CreateObject("ADODB.Command")
     objCommand.ActiveConnection = objConnection
     
     objCommand.CommandText = "<GC://dc=ms,dc=com,dc=br>;(&(objectCategory=User)(samAccountName=" & strUserName & "));distinguishedName;subtree"
     

     Set objRecordSet = objCommand.Execute
     
     If objRecordset.RecordCount = 0 Then
          Get_Ldap=""
     Else
      objRecordset.movefirst
          Get_Ldap=ObjRecordset("distinguishedName")
     end if
     
     
     objConnection.Close
     set objConnection = Nothing


    end function

    Ex

     

    terça-feira, 29 de agosto de 2006 13:59
    Moderador
  • na realidade estou tentando colocar uma InputBox para digitar o nome do usuário e assim desbloquear o mesmo.

    T+
    Danillo =)
    terça-feira, 29 de agosto de 2006 14:33
  • Nome = Inputbox("Nome do usuário","Desbloqueia Usuário")

    if nome="" then wscript.quit

    NomeLDAP=Get_Ldap(Nome)

    Set objUser = GetObject _
        ("LDAP://" & NomeLDAP)

    objUser.IsAccountLocked = False
    objUser.SetInfo

    if error.number=0 then
     wscript.echo "Operação concluida com suceeso!"
    else
     wscript.echo error.description
    end if

     


    function Get_Ldap(strUserName)

     Set objConnection = CreateObject("ADODB.Connection")
     objConnection.Open "Provider=ADsDSOObject;"
     
     Set objCommand = CreateObject("ADODB.Command")
     objCommand.ActiveConnection = objConnection
     
     objCommand.CommandText = "<GC://dc=ms,dc=com,dc=br>;(&(objectCategory=User)(samAccountName=" & strUserName & "));distinguishedName;subtree"
     

     Set objRecordSet = objCommand.Execute
     
     If objRecordset.RecordCount = 0 Then
          Get_Ldap=""
     Else
      objRecordset.movefirst
          Get_Ldap=ObjRecordset("distinguishedName")
     end if
     
     
     objConnection.Close
     set objConnection = Nothing


    end function


     

    terça-feira, 29 de agosto de 2006 17:54
    Moderador
  • que massa isso =)
    onde encontro mais material a respeito
    obrigado =)

    Danillo
    terça-feira, 29 de agosto de 2006 18:36
  •  

    http://www.microsoft.com/technet/scriptcenter/hubs/ad.mspx

    Muitos exemplos, é só pegar e as vezes ajustar alguma coisa para refletir o seu ambiente.

    sexta-feira, 1 de setembro de 2006 15:17
    Moderador
  • Usua esse script não tem imbox mas roda super bem   .

     

    strCN = "John Doe" 
    strContainer = "OU=users,DC=constoso,DC=com" 
    intAccValue = 514   ' 512 = Enable, 514 = disable 
     
    Set UserObj = GetObject("LDAP://CN=" & strCN & ", " & strContainer) 
       UserObj.Put "userAccountControl", intAccValue  
       UserObj.SetInfo 
    Wscript.Quit 
    

    Denis Faustino
    terça-feira, 5 de julho de 2011 23:14