none
Exportar uma lista com os nomes de usuários e grupos que ele pertence. RRS feed

  • Pergunta

  • Caro Colegas.

    Preciso de uma lista com "Nome dos usuários" e os "Grupos que eles pertencem", já tentei o CSVDE, LDIFDE e nenhum sucesso.

     

    Espero que possam me ajudar.

     

    Desde já agreço

    segunda-feira, 9 de agosto de 2010 14:39

Respostas

  • Marcony,

    Alterei o script do Filipe que executei aqui.
    Ambiente Windows 2008 r2

    Com nome completo, logon name, script login e grupos..

    Teste e de um retorno

     

    Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& "," & "Login" & "," & "Script" & "," & "Grupos")
    While Not rs.EOF
    grps = ""
    Set User = GetObject(rs.Fields(0).Value)
    if isarray(User.MemberOf) then
    For each grp in User.memberOf
    grp1 = split(grp,",")
    grps = grps & " ; " & grp1(0)
    Next
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grps)
    else
    ' grp1 = split(User.MemberOf,",")
    grp1 = User.MemberOf
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grp1)
    end if
     
    rs.MoveNext()
    wend
    MsgBox "Process complete!"

     

     

    terça-feira, 28 de setembro de 2010 16:08
  • Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& vbtab & "Script" & vbtab & "Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grps)
     else
    ' grp1 = split(User.MemberOf,",")
     grp1 = User.MemberOf
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1)
     end if
     
     rs.MoveNext()
    wend
    MsgBox "Process complete!"

    Desculpa ae galera, erro de cálculos, segue o script corrigido.

    abs


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010
    sexta-feira, 27 de agosto de 2010 20:02
    Moderador

Todas as Respostas

  • Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(scriptPath=*));adspath;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& vbtab &"Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & grps)
     else
     grp1 = split(User.MemberOf,",")
     objTextFile.writeLine(User.DisplayName & vbtab & grp1(0))
     end if
     
     rs.MoveNext()
    wend
    MsgBox "Process complete!"

     

    Só rodar no AD com um usuário administrator.


    JATOBA - Qualquer criança brinca, qualquer criança se diverte! Texto meramente ilustrativo! haushuda

    segunda-feira, 9 de agosto de 2010 18:05
    Moderador
  • Felipe.

    Em primeiro lugar obrigado pela resposta.

    Eu gerei o .vbs e executei o seu SCRIPT em uma máquina virtual.

     

    Eu preciso passar algum parâmetro para funcionar corretamente?

    Dá uma mensagem de "Processo Completo" e gera um txt escrito Usuarios e grupos. nada mais.

     

    Abraço e obrigado novamente

    quarta-feira, 11 de agosto de 2010 15:08
  • Marco,

    não precisa de parâmetro nenhum, só precisa de um usuário com acesso administrativo ao AD.

    ele te gerou um arquivo vazio porque provavelmente na maquina virtual vc não tem acesso à nenhum AD, então o ROOTDSE foi o pc local e ele não dei bind em nada.

     


    JATOBA - Qualquer criança brinca, qualquer criança se diverte! Texto meramente ilustrativo! haushuda
    quarta-feira, 11 de agosto de 2010 15:45
    Moderador
  • Caro Felipe.

    Fiz exatamente o que me falou, logei como administrador no DC secundario de onde eu trabalho e novamente o arquivo que foi gerado estava vazio ou melhor, apenas com 02 palavras, Usuários e Grupos.

     

    Mais alguma coisa que devo tentar?

    segunda-feira, 16 de agosto de 2010 17:10
  • Marco,

    tem alguma coisa errada, eu acebei de testar esse código que tá postado ali em cima, e ele me trouxe todos os usuários e seus respectivos groups...

    o.0 ... muito estranho.

    Alguém mais pode testar o script ae por favor???

     


    JATOBA - Qualquer criança brinca, qualquer criança se diverte! Texto meramente ilustrativo! haushuda
    segunda-feira, 16 de agosto de 2010 17:26
    Moderador
  • Bom dia Marco,

     

    você pode usar o "dsget group -name "nome do grupo" | dsget group -members | dsget users -samid"

    ou

    "dsquery * domainroot -filter "(&(objectClass=Group)(managedby=*)(sAMAccountName=*))" -attr managedby displayname managedby -limit 0"

    Segue o link da documentação.

     

    http://www.ldapclient.com/ldapplusadhelp/index.jsp?topic=/LdapAdminHelp/html/adgroupreports.html

     

    Att,


    Juan Carlos Flores Neto
    terça-feira, 24 de agosto de 2010 14:59
  • Olá,

    Se forem poucos usuários você utilizar o comando dsget, veja exemplo:

    dsget user "DN_do_Usuário ,ou=Nome_da_OU ,dc=Nome_NetBios_do_Domínio ,dc=Nome_de_Domínio " -expand -memberof > arquivo .txt

    Ficaria + ou - assim:

    dsget user "cn=Jose Anderson,ou=Brasil,dc=planeta,dc=terra" -expand -memberof > GruposJose.txt

     

    Ele exporta um txt com DN dos grupos no qual o usuário é membro.



    José Anderson MCP - MCTS Windows Server 2008 Active Directory
    terça-feira, 24 de agosto de 2010 20:11
  • Ola Filepe

     

    Vi a duvida do Marco Aurelio e tenho a mesma questão que ele, porem alem do nome do usuario e grupo a que ele pertence, tem como colocar tambem nesta lista o nome do arq. de script que o usuario executa ao logar na rede ?

     

    desde ja te agradeço

    quinta-feira, 26 de agosto de 2010 18:40
  • Sim,

    pode usar o mesmo script só mudando essa linha de:

    objTextFile.writeLine(User.DisplayName & vbtab & grps)

    Para:

    objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grps)

    E:

    objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1(0))

     

    abs


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010
    quinta-feira, 26 de agosto de 2010 19:38
    Moderador
  • Valeu Camarada, vou testar
    quinta-feira, 26 de agosto de 2010 21:01
  • Ola Felipe, bom dia

     

    gerei dois arquivos .vbs com os dois exemplos o do marco e o que vc manndou para mim e os dosi deram erro

     

    o do marcos ele gera parte do relatorio e abre uma tela de errro com :

    comeca a gerar o arquivo
    gera parte do arq
    depois abre uma tela
    de erro cOM?

    Script: C:\listas\relata.vbs
    Line     : 29
    Char    : 2
    Error    : subscript out of range? `[number:0]`
    code    : 800A0009
    Source: Microsoft VBscript runtime error

    ******************************************************

    com o meu exemplo, ele não chega nem a gerar o arqi e abre a tela de erro assim:

    Script: C:\listas\mostradadosAD.vbs
    Line  : 26
    Char  : 2
    Error : Expect statement
    code  : 800A0400
    Source: Microsoft VBscript compilation error
    sexta-feira, 27 de agosto de 2010 10:48
  • EM TEMPO O EXEMPLO QUE VC MANDOU PARA MIN DESPREZE O ULTIMO COMENTARIO, TINHA DUAS LINHAS QUE VC ORIENTOU A SUBSTITUIR E EU SUBST MAS DEIXEIA ANTERIOR COMANTADA E DEU ERRO, AO APENAS SUBSTITUIR E REGERAR O RELATORIO ACONTE A MESMA COISA QUE NO EXEMPLO DO MARCOS , PELO QUE VI A LINHA QUE DA ERRO E EXATAMENTE A LINHA QUE CONTEM O CODIGO :

     

    objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1(0))

    sexta-feira, 27 de agosto de 2010 11:55
  • Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& vbtab & "Script" & vbtab & "Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grps)
     else
    ' grp1 = split(User.MemberOf,",")
     grp1 = User.MemberOf
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1)
     end if
     
     rs.MoveNext()
    wend
    MsgBox "Process complete!"

    Desculpa ae galera, erro de cálculos, segue o script corrigido.

    abs


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010
    sexta-feira, 27 de agosto de 2010 20:02
    Moderador
  • Ola Felipe

     

     

    O Script funcionou beleza, agora tem como separar os campos com , tipo cvs

    quarta-feira, 1 de setembro de 2010 13:38
  • Tem sim,

    é só substituir "& vbtab &" por "& "," &"

    abs

     


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010
    quarta-feira, 1 de setembro de 2010 13:44
    Moderador
  • Felipem o Script fuuncionou demais, mas sem querer abusar em vez do nome do usuario como ficaria se quisesse alem do nome do usuario o logonName do danado, ou seja o Nome completo do cara e o nome da conta de logon
    quinta-feira, 16 de setembro de 2010 13:35
  • Basta mudar essas linhas:

     

    objTextFile.writeLine("Usuário"& vbtab & "Script" & vbtab & "Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grps)
     else
    ' grp1 = split(User.MemberOf,",")
     grp1 = User.MemberOf
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1)

    para:

    objTextFile.writeLine("Usuário"& vbtab & "Login" & vbTab & "Script" & vbtab & "Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & User.Name & vbtab & User.ScriptPath & vbtab & grps)
     else
    ' grp1 = split(User.MemberOf,",")
     grp1 = User.MemberOf
     objTextFile.writeLine(User.DisplayName & vbtab & User.Name & vbtab & User.ScriptPath & vbtab & grp1)

    abs.

     


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010
    quinta-feira, 16 de setembro de 2010 18:57
    Moderador
  • Ola Felipe

     

    Substitui as linhas mencionadas porem continua do mesmo jeito Ex:

     

    Nome do Usuario: Ana Paula Moura

    Login do Usuario : Ana.Moura

    Grupo : FINANCEIRO

    SCRIPT: FINAN.BAT

    ao executar o script ele me retorna:

     

    Ana Paula Moura;Ana Paula Moura;FINAN.BAT;FINANCEIRO

    no que deveria ser:

    Ana Paula Moura;Ana.Moura;FINAN.BAT;FINANCEIRO

     

    não sei se fui claro, mas a bronca e esta se poder ajudar te agradeço muito. Valeu

     

     


     

    segunda-feira, 20 de setembro de 2010 14:50
  • Marcony,

    Alterei o script do Filipe que executei aqui.
    Ambiente Windows 2008 r2

    Com nome completo, logon name, script login e grupos..

    Teste e de um retorno

     

    Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& "," & "Login" & "," & "Script" & "," & "Grupos")
    While Not rs.EOF
    grps = ""
    Set User = GetObject(rs.Fields(0).Value)
    if isarray(User.MemberOf) then
    For each grp in User.memberOf
    grp1 = split(grp,",")
    grps = grps & " ; " & grp1(0)
    Next
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grps)
    else
    ' grp1 = split(User.MemberOf,",")
    grp1 = User.MemberOf
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grp1)
    end if
     
    rs.MoveNext()
    wend
    MsgBox "Process complete!"

     

     

    terça-feira, 28 de setembro de 2010 16:08
  • Ola Junior

     

    depois de um longo periodo sem resposta estou de volta(prob particulares me levaram a imersão). vi seu script vou testar e te dou um retorno logo-logo, de toda forma de agradeço e peço mil desculpas

    sábado, 30 de outubro de 2010 17:30
  • simplesmente showzaço de bola. valeu meu camarada
    sexta-feira, 5 de novembro de 2010 22:27
  • Esse script me ajudou muito! Mas, estou pesquisando como eu posso inserir mais uma informação a OU (Unidade Organizacional) que cada usuário pertence. Seria possível? Não estou conseguindo...
    sábado, 26 de fevereiro de 2011 22:47
  • Bom Dia, preciso somente exportar de um grupo e nao de todos os grupos.

    Poderia me ajudar como altero o script para pegar somente do grupo: america - south america - users.

     

    Obrigado.

    terça-feira, 8 de novembro de 2011 12:56
  • Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& vbtab & "Script" & vbtab & "Grupos")
    While Not rs.EOF
     grps = ""
     Set User = GetObject(rs.Fields(0).Value)
     if isarray(User.MemberOf) then
     For each grp in User.memberOf
     grp1 = split(grp,",")
     grps = grps & " ; " & grp1(0)
     Next
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grps)
     else
    ' grp1 = split(User.MemberOf,",")
     grp1 = User.MemberOf
     objTextFile.writeLine(User.DisplayName & vbtab & User.ScriptPath & vbtab & grp1)
     end if
     
     rs.MoveNext()
    wend
    MsgBox "Process complete!"

    Desculpa ae galera, erro de cálculos, segue o script corrigido.

    abs


    JATOBA - MCSA-M Exchange 2003 / MCTS Network Infrastructure 2008 / MCTS Microsoft Exchange Server 2010

    Olá Felipe, achei boa a sua dica, mas tenho uma necessidade específica... Se eu quiser saber de quais grupos que o usuário "X" participa, tem como fazer um filtro para isso com uma VBS também?

    Obrigado e desde já agradeço sua valiosa atenção.

    André Nascimento Paulo.


    quinta-feira, 13 de setembro de 2012 14:59
  • Olá André,

        Você tem muitas formas de fazer o que você precisa. Com script ou com um comando, depende muito da aplicação e do formato de saida que você deseja.

        Por exemplo, o comando abaixo lista os grupos que o usuario Andre.Paulo (username) faz parte:

                  dsquery * domainroot -filter (sAMAccountName=Andre.Paulo) -attr sAMAccountName memberOf

        Você pode generalizar um pouco e dizer que quer uma lista de todos os usuários, com os respectivos grupos a que fazem parte, que o username comece com Andre:

                  dsquery * domainroot -filter (sAMAccountName=Andre*) -attr sAMAccountName memberOf

        O formato de saida será o nome de logon e o nome dos grupos separados por ponto e vírgula (;).

        Para utilizar o comando dsquery, você pode precisar instalar o Adminpak ou RSAT dependendo da versão do Windows que esteja utilizando.

        As soluções baseadas em scripts dão um alto grau de controle sobre o formato e forma de saida, você pode gerar arquivos TXT, CSV ou mesmo uma planilha Excel.

    []´s

    CLN

    terça-feira, 6 de novembro de 2012 20:39
  • muito bom!!! me ajudou muito!!!!
    terça-feira, 20 de novembro de 2012 15:07

  • Quando encontrarem alguma postagem útil classifique-a clicando no Votar como útil no canto esquerdo da postagem.

    Essa resposta não precisa necessáriamente ser a postagem que está marcada como resposta, as vezes alguém ajudou com algo que não foi a solução do problema daquela dúvida mas pode ter influenciado ou ajudado a resolver.Exemplo:


    Fábio de Paula Junior




    terça-feira, 20 de novembro de 2012 15:31
    Moderador
  • Marcony,

    Alterei o script do Filipe que executei aqui.
    Ambiente Windows 2008 r2

    Com nome completo, logon name, script login e grupos..

    Teste e de um retorno

     

    Const ForWriting = 2
    filePath = "Users_and_groups.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(filepath, ForWriting, True)
    Set rootDSE = GetObject("LDAP://RootDSE")
    DomainContainer = rootDSE.Get("defaultNamingContext")
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    strLDAP = "<LDAP://" & DomainContainer & ">;(&(objectCategory=person)(objectClass=user));adspath,distinguishedname;subtree"
    Set oComm = CreateObject("ADODB.Command")
    oComm.ActiveConnection = conn
    oComm.CommandText = strLDAP
    oComm.Properties("Sort on") = "DisplayName"
    oComm.Properties("Page size") = 1500
    Set rs = oComm.Execute
    objTextFile.writeLine("Usuário"& "," & "Login" & "," & "Script" & "," & "Grupos")
    While Not rs.EOF
    grps = ""
    Set User = GetObject(rs.Fields(0).Value)
    if isarray(User.MemberOf) then
    For each grp in User.memberOf
    grp1 = split(grp,",")
    grps = grps & " ; " & grp1(0)
    Next
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grps)
    else
    ' grp1 = split(User.MemberOf,",")
    grp1 = User.MemberOf
    objTextFile.writeLine(User.DisplayName & "," & user.sAMAccountName & "," & User.ScriptPath & "," & grp1)
    end if
     
    rs.MoveNext()
    wend
    MsgBox "Process complete!"

     

     

    Olá galera, ta meio empoeirado aqui cof cof... rsrs

    Sei q o tópico é antigo mas estou precisando de um help.

    Em primeiro lugar obrigado pela força, pois este script me serviu mt bem, porem eu preciso de algo parecido agora... Preciso de uma lista dos grupos e seus respectivos membros. tem como gerar isso pelo VB tb? Se for possível fico mt agradecido pois nossa AD tem mts grupos e varios usuário e para eu garimpar grupo por grupo iria demorar séculos!!!

    Desde já muito obrigado.

    quarta-feira, 6 de março de 2013 18:16