none
Adaptação de script RRS feed

  • Pergunta

  • Olá tenho este script que lista os usuários de um determinando grupo, o que quero é que ele liste também o nome do user não somente seu login.

     

    On Error Resume Next

     

    Diretorio= "c:\Documents and Settings\All Users\desktop\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


    segunda-feira, 4 de outubro de 2010 18:00

Respostas

  • Cassio,

    Para resolver via VBScript vc teria que a cada nome de usuário pesquisar o objeto no AD para pegar o campo do usuário que você precisa.

     

    Via .bat vc pode fazer assim:

    @echo off
    set /P grupo="Digite o nome do grupo: "
    set log=C:\%grupo%.txt
    
    REM - Localiza GRUPO ----------------  - Localiza Membros ----------  - Imprime dados do usuário
    dsquery group domainroot -name %grupo% | dsget group -members -expand | dsget user -samid -display > %log%
    
    notepad %log%
    

    Fábio de Paula Junior
    • Marcado como Resposta Cassio Rocha terça-feira, 5 de outubro de 2010 13:30
    terça-feira, 5 de outubro de 2010 12:49
    Moderador

Todas as Respostas

  • Cassio,

    Para resolver via VBScript vc teria que a cada nome de usuário pesquisar o objeto no AD para pegar o campo do usuário que você precisa.

     

    Via .bat vc pode fazer assim:

    @echo off
    set /P grupo="Digite o nome do grupo: "
    set log=C:\%grupo%.txt
    
    REM - Localiza GRUPO ----------------  - Localiza Membros ----------  - Imprime dados do usuário
    dsquery group domainroot -name %grupo% | dsget group -members -expand | dsget user -samid -display > %log%
    
    notepad %log%
    

    Fábio de Paula Junior
    • Marcado como Resposta Cassio Rocha terça-feira, 5 de outubro de 2010 13:30
    terça-feira, 5 de outubro de 2010 12:49
    Moderador
  • Cara valeu

     

    Funcionou como eu queria.

     

    Grande Abraço

    terça-feira, 5 de outubro de 2010 13:29