none
distinguishedName de usuário no AD RRS feed

  • Pergunta

  • Caros

     

    como poderei via vbs recuperar o atributo "distinguishedName" de um usuário no AD ?

    Exemplo de atributo distinguishedName: CN=Antônio Araújo,OU=Usuários,OU=Infra-estrutura,OU=Setores,DC=minhaempresa,DC=local

     

    Grato

     

    Antônio Carlos C. de Araújo

    Analista de suporte a redes

    quinta-feira, 16 de outubro de 2008 22:05

Respostas

  • Aqui...

     

     

    Code Snippet

    username = "login_do_fulano"

     

    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 distinguishedName, cn, displayName FROM 'LDAP://dc=HD,dc=INTRANET' WHERE objectCategory='user' and cn='" & username & "'"

    Set objRecordSet = objCommand.Execute

     

    if not objRecorSet.Eof

    Wscript.Echo objRecordSet.Fields("distinguishedName").Value

    end if

     

     

     

    sexta-feira, 17 de outubro de 2008 11:43
    Moderador

Todas as Respostas

  • Aqui...

     

     

    Code Snippet

    username = "login_do_fulano"

     

    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 distinguishedName, cn, displayName FROM 'LDAP://dc=HD,dc=INTRANET' WHERE objectCategory='user' and cn='" & username & "'"

    Set objRecordSet = objCommand.Execute

     

    if not objRecorSet.Eof

    Wscript.Echo objRecordSet.Fields("distinguishedName").Value

    end if

     

     

     

    sexta-feira, 17 de outubro de 2008 11:43
    Moderador
  • Felipe

     

    Alterei os parametros necessários como login e nome do domínio, mas o mesmo não retornou nenhum resultado.

    Fiz algumas alterações no script para pegar alguma exceção e os mesmo saiu pelo display do "else".

    Segue código abaixo:

     

    On error resume next
    username = "accaraujo"

    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 distinguishedName, cn, displayName FROM 'LDAP://dc=global,dc=adm' WHERE objectCategory='user' and cn='" & uername & "'"
    if err then
     wscript.echo err.number & ", " & err.description
    end if

    Set objRecordSet = objCommand.Execute
    if err then
     wscript.echo err.number & ", " & err.description
    end if
     

    if not objRecordSet.Eof then
     Wscript.Echo objRecordSet.Fields("distinguishedName").Value
     if err then
      wscript.echo "if then"
      wscript.echo err.number & ", " & err.description
     end if
    else
     Wscript.Echo objRecordSet.Fields("distinguishedName").Value
     if err then
      wscript.echo "else"
      wscript.echo err.number & ", " & err.description
     end if 
    end if

    Grato

     

    Antônio Carlos

     

    sexta-feira, 17 de outubro de 2008 13:27

  • Não funcionou pq tinha um erro de
    digitação no script, corrigi ali na linha vermelha, testa ae vê se vai agora.
    segunda-feira, 27 de outubro de 2008 11:06
    Moderador