none
Script Listar todos os usuários de um Grupo - Dúvidas no funcionamento. RRS feed

  • Pergunta

  • Srs. bom dia.
    Estou usando esse script abaixo para fazer uma consulta de todos os membros dos grupos que tenho em minha empresa.
    Com isso eu tenho alguns grupos que tem usuários e a mensagem que dá no final da consulta é que não tem usuários nenhum no grupo.
    EX Telefonia Nivel-1
    Existe nesse grupo 30 membros, mas o resultado dá informando que não tem user nenhum.
    E também estou tendo o erro de que quando eu listo alguns grupos, não aparecem todos os membros.
    EX: Eu tenho em um grupo 33 membros e aparece apenas 32.

    Queria saber se tem com resolvermos isso.

    Preciso que esse script me dé todos os membros do grupo e que leia todos os membros dos grupos e me dê o resultado preciso conforme o AD tem me mostrado, ah ... tem como eu listar os membros em odém alfabética também ?

    Fico no aguardo srs.

    Script:

    On Error Resume Next

    Diretorio= "caminho onde vc quer gravar o resultado"

    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

     

     

    ------//----------

    Obrigado.
    Marcão!

    quarta-feira, 16 de junho de 2010 14:09

Todas as Respostas

  • Srs. boa tarde

    Acabei de ver também que grupos que contém qualquer tipo de caracteres especiais dá o script não encontra nenhum usuário dentro dele.

    Como proceder ?

    No aguardo.

    Marcus!

    quarta-feira, 16 de junho de 2010 19:03