none
DS GET RRS feed

  • Pergunta

  • Pessoal, podem me ajudar?

    Eu estou tentando fazer uma busca dos usuarios que estao em um grupo especifico, só que nao estou acertando a sintaxe do comando, estou realizando o comando do meu DC, e eu sou a filial do brasil, estou especificando a hirarquia de OUs para que o grupo em questao possa ser encontrado.

    Porem eu recebo a mensagem -> dsget failed:Directory object not found.

     

    Podem me ajudar aonde estou errando?

    Obrigado!!

    C:\Documents and Settings\Administrator>dsget group "cn=BRSAP Farmacare Forca de Vend
    as,ou=ADC,ou=BRSAP,ou=User & Groups,ou=Global Groups,dc=meudominio,dc=com" -expand
     -members >teste.txt

    dsget failed:Directory object not found.

     

    quarta-feira, 27 de abril de 2011 20:18

Respostas

Todas as Respostas

  • Olá Felipe!

    Salve este arqivo com extensão  .VBS

    Insira o nome do grupo quando solicitado.

    Ele vai criar uma pasta C:\grupos e dentro dela terá 1 .TXT com o nome do grupo e os usuários.

    Único problema que reparei neste script é que se existir somente 1 usuário pertensendo ao grupo ele informa que não existe usuários ou o grupo.

    Segue:

     

    On Error Resume Next
     
    Diretorio= "c:\grupos"
     
    grupo= InputBox("Digite o Nome do Grupo")
     
    file= grupo & ".txt"
     
    Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
     
    Set objFolder = oFSO.CreateFolder(Diretorio)
    Set Dir=oFSO.GetFolder(Diretorio)

    Set arqtxt = Dir.CreateTextFile(file, True)
     
    Set rootDSE = GetObject("LDAP://RootDSE")
    domainContainer =  rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    LDAPStr = "<LDAP://" & DomainContainer & ">;(&(objectclass=group)(objectCategory=group)(samaccountname=" & grupo & "));adspath;subtree"
     
    Set rs = conn.Execute(LDAPStr)
    If rs.RecordCount = 1 Then
       Set oGroup = GetObject(rs.Fields(0).Value)
             
    End If
    for each strMember in oGroup.member
     
    Spmember = Split(strMember, ",")
     
    member= Spmember(0)
     
    arqtxt.WriteLine Mid (member,4)
        
    Next

    iGroupCount = 0
         For each strMember in oGroup.member
              If Len(strMember) = 0 Then
                   wscript.echo "Grupo sem nenhum membro ou não existente!."
              Else
                   iGroupCount = iGroupCount + 1
                 
              End If
         Next
     
    arqtxt.WriteLine("Número total de usuarios neste grupo = ") & iGroupCount
    arqtxt.Close 

    WScript.echo "pronto!!!"
    wscript.quit

     

     

    Faça o teste boa sorte!!


    MCP/MCDST/MCTS/MCITP/MCSA
    quinta-feira, 28 de abril de 2011 03:47
    Moderador
  • Tentei mas eu recebo uma mensagem de erro, na linha 7 char 13 CODE 800a0401

    =/

    On Error Resume Next
     
    Diretorio= "c:\grupos"
     
    grupo= InputBox("BRSAP Farmacare Forca de Vendas")
     
    file= BRSAP Farmacare Forca de Vendas & ".txt"
     
    Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
     
    Set objFolder = oFSO.CreateFolder(c:\grupos)
    Set Dir=oFSO.GetFolder(c:\grupos)

    Set arqtxt = Dir.CreateTextFile(file, True)
     
    Set rootDSE = GetObject("LDAP://RootDSE")
    domainContainer =  rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    LDAPStr = "<LDAP://" & DomainContainer & ">;(&(objectclass=BRSAP Farmacare Forca de Vendas)(objectCategory=BRSAP Farmacare Forca de Vendas)(samaccountname=" & BRSAP Farmacare Forca de Vendas & "));adspath;subtree"
     
    Set rs = conn.Execute(LDAPStr)
    If rs.RecordCount = 1 Then
       Set oGroup = GetObject(rs.Fields(0).Value)
             
    End If
    for each strMember in oGroup.member
     
    Spmember = Split(strMember, ",")
     
    member= Spmember(0)
     
    arqtxt.WriteLine Mid (member,4)
        
    Next

    iGroupCount = 0
         For each strMember in oGroup.member
              If Len(strMember) = 0 Then
                   wscript.echo "Grupo sem nenhum membro ou não existente!."
              Else
                   iGroupCount = iGroupCount + 1
                 
              End If
         Next
     
    arqtxt.WriteLine("Número total de usuarios neste grupo = ") & iGroupCount
    arqtxt.Close

    WScript.echo "pronto!!!"
    wscript.quit

     

    quinta-feira, 28 de abril de 2011 11:25
    • Marcado como Resposta Felipegds quinta-feira, 28 de abril de 2011 11:46
    quinta-feira, 28 de abril de 2011 11:46