Olá,
Dá uma olhada no script 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 = "CN=Users," & objDSE.Get("defaultNamingContext")
strDN = InputBox("Coloque o Caminho da OU" & _
vbCrLf & "(Exemplo:" & strDefaultDN & ")", , 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
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
Verifique se atende e nos retorne.
Até mais,
Jesiel
Obs.: Se útil, classifique