none
Informações do Usuário RRS feed

  • Pergunta

  • Boa tarde,

    Preciso de um Script que procura um usuário no Active Directory e retorna informações dele.

    OBS: Preciso disso sem ter que passar a OU onde o usuário está. Preciso que ele realmente procure.

    Se alguém souber....

    No aguardo


    sexta-feira, 26 de janeiro de 2007 15:11

Respostas

  • Eder,

    Um pouco tarde mas segue a modificação necessária:

    On Error Resume Next
    
    Const ADS_SCOPE_SUBTREE = 2
    
    strUser=Inputbox("Digite o login do usuário")
    
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection
    
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
    
    objCommand.CommandText = _
        "SELECT AdsPath,givenName,SN,title,telephoneNumber " _
            & "FROM 'LDAP://dc=seu,dc=dominio,dc=com,dc=br' WHERE " _
                & "objectCategory='user' AND samAccountName='" & strUser & "'"  
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    
    Do Until objRecordSet.EOF
        Wscript.Echo objRecordSet.Fields("ADsPath").Value
        Wscript.Echo objRecordSet.Fields("givenName").Value
        Wscript.Echo objRecordSet.Fields("SN").Value
        Wscript.Echo objRecordSet.Fields("title").Value
        Wscript.Echo _
            objRecordSet.Fields("telephoneNumber").Value
        objRecordSet.MoveNext
    Loop


    Fábio de Paula Junior


    sexta-feira, 31 de agosto de 2012 16:18
    Moderador

Todas as Respostas

  • Eder, veja se este script atende suas necessidades :

    On Error Resume Next

    Const ADS_SCOPE_SUBTREE = 2

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection

    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE

    objCommand.CommandText = _
    "SELECT AdsPath,givenName,SN,title,telephoneNumber " _
    & "FROM 'LDAP://dc=fabrikam,dc=com' WHERE " _
    & "objectCategory='user'"
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst

    Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("ADsPath").Value
    Wscript.Echo objRecordSet.Fields("givenName").Value
    Wscript.Echo objRecordSet.Fields("SN").Value
    Wscript.Echo objRecordSet.Fields("title").Value
    Wscript.Echo _
    objRecordSet.Fields("telephoneNumber").Value
    objRecordSet.MoveNext
    Loop

    Ou verifique neste link que pode ajudá-lo ainda mais:
    http://www.microsoft.com/technet/scriptcenter/scripts/misc/searchad/default.mspx?mfr=true


    Abs

    sexta-feira, 26 de janeiro de 2007 16:09
  • Nossa... show... ele encontra os usuários e traz as informações... mas... tem jeito de passar o usuário no código para que ele encotre apenas o desejado?

    Talvez dê para implementar com este que eu encontrei abaixo, só que eu não sei como fazer. O exemplo retorna se o usuário existe ou não.

    strUserName = "er_pardeiro"
    dtStart = TimeValue(Now())
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
    set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText =  "<
    LDAP://dc=magazineluiza,dc=intranet>;(&(objectCategory=User)" & "(samAccountName=" & strUserName & "));samAccountName;subtree"
    Set objRecordSet = objCommand.Execute
    If objRecordset.RecordCount = 0 Then
        WScript.Echo "sAMAccountName: " & strUserName & " does not exist."

    Else
        WScript.Echo strUserName & " exists."
    End If
    objConnection.Close

    sexta-feira, 26 de janeiro de 2007 20:20
  • E aí pessoal??? nada?

    Vou ser mais preciso.

    Quero um script que eu passe o usuário do cara, por exemplo "er_pardeiro" e ele retorne o nome completo: "Eder Rodrigo Pardeiro"

    No aguardo,

    quinta-feira, 1 de fevereiro de 2007 10:07
  • Eder,

    Um pouco tarde mas segue a modificação necessária:

    On Error Resume Next
    
    Const ADS_SCOPE_SUBTREE = 2
    
    strUser=Inputbox("Digite o login do usuário")
    
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection
    
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
    
    objCommand.CommandText = _
        "SELECT AdsPath,givenName,SN,title,telephoneNumber " _
            & "FROM 'LDAP://dc=seu,dc=dominio,dc=com,dc=br' WHERE " _
                & "objectCategory='user' AND samAccountName='" & strUser & "'"  
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    
    Do Until objRecordSet.EOF
        Wscript.Echo objRecordSet.Fields("ADsPath").Value
        Wscript.Echo objRecordSet.Fields("givenName").Value
        Wscript.Echo objRecordSet.Fields("SN").Value
        Wscript.Echo objRecordSet.Fields("title").Value
        Wscript.Echo _
            objRecordSet.Fields("telephoneNumber").Value
        objRecordSet.MoveNext
    Loop


    Fábio de Paula Junior


    sexta-feira, 31 de agosto de 2012 16:18
    Moderador