none
Listar membros de um grupo e consultar se são membros de um outro grupo RRS feed

  • Pergunta

  • Pessoal, bom dia.

    Gostaria de saber se tem algum script de dê para listar, dos membros de um determinado grupo no AD, quais fazem parte de um outro grupo?

    sexta-feira, 13 de novembro de 2009 14:40

Todas as Respostas

  • Olá,

    Verifique o exemplo abaixo:


    Option Explicit

     

    Dim objDSE, strDefaultDN, strDN, objContainer, objChild,Userobj,List,GroupObj,FileSystem,OutPutFile

     

    Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")

    Set OutPutFile = FileSystem.CreateTextFile("Lista_de_Grupos.txt", True)

    Set objDSE = GetObject("LDAP://rootDSE")

    strDefaultDN = objDSE.Get("defaultNamingContext")

     

    strDN =     InputBox("Coloque o Caminho da OU" & _
        vbCrLf & "(Exemplo: ou=saopaulo," & "CN=Users," & ")", , "ou=Sao Paulo," & strDefaultDN)

     

    If strDN = "" Then WScript.Quit(1)        '

     

    Set objContainer = GetObject("LDAP://" & strDN)

     

    objContainer.Filter = Array("user")

     

    For Each objChild In objContainer

        set UserObj = GetObject("LDAP://" & objChild.Name & "," & strDN)

        if err.number<>0 then

             if ChkEngine = "cscript.exe" then

              wscript.echo "Erro conectando ao " & strDN & " ou usuário não encontrado."

              wscript.quit

           else

              wscript.quit

           end if

        end if

     

        List= "Grupos do usuário: " & UserObj.cn & " (" & objChild.Name & ") in " & UCASE(strDN) & VBCRLF & VBCRLF

     

        For Each GroupObj In UserObj.Groups

           List = List & GroupObj.Name  & VBCRLF

        Next

        wscript.echo List

     

            OutPutFile.WriteLine List

        OutPutFile.WriteLine "===================================================="

    Next

     

    OutPutFile.Close

    wscript.quit

     

    Function ChkEngine()

     

    ON ERROR RESUME NEXT

     

    strEngine=Wscript.FullName

     

    if Err.Number <>0 then

    wscript.echo "Error!"

    wscript.echo "Erro (" & Err.Number & ") Descrição: " & Err.Description

    wscript.quit

    end if

     

    PosX=InStrRev(strEngine,"\",-1,vbTextCompare)

    ChkEngine=Mid(strEngine,PosX+1)

     

    End Function




    Até mais,

    Jesiel

    Obs.: Se útil, classifique





    sexta-feira, 13 de novembro de 2009 15:15
  • Jesiel, boa tarde.

    Onde eu informo os dois grupos que devem ser "comparados"?
    No caso eu precisaria saber dos usuários do grupo "diagnosticos" quem faz parte do grupo "internet".


    Obrigada.

    Karina
    sexta-feira, 13 de novembro de 2009 15:37