1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
Dim oContainer
Dim OutPutFile
Dim FileSystem
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("AD_" & Replace(FormatDateTime(Now,2),"/","-") & ".csv", True)
OutPutFile.WriteLine "NoAgent;Nom;DateExpiration"
Set oContainer=GetObject("LDAP://DC=xxx,DC=xxx,DC=xxx")
' Parcours de l'AD
EnumerateUsers oContainer
OutPutFile.Close
Set FileSystem = Nothing
Set oContainer = Nothing
WScript.Echo "Terminé !!"
WScript.Quit(0)
Sub EnumerateUsers(oCont)
Dim oUser
Dim Ok
' Pour chaque entrée de l'AD
For Each oUser In oCont
Ok=false
Select Case LCase(oUser.Class)
' Si c'est un utilisateur
Case "user"
Ok=true
' On récupère son ID
If Not IsEmpty(Trim(oUser.sAMAccountName)) Then
If oUser.sAMAccountName<>"" Then
WScript.StdOut.Write oUser.sAMAccountName & "/"
OutPutFile.Write oUser.sAMAccountName & ";"
End If
End If
' son nom
If Not IsEmpty(Trim(oUser.cn)) Then
If oUser.name<>"" Then
OutPutFile.Write oUser.cn & ";"
WScript.StdOut.Write oUser.cn & "/"
End If
End If
' s'il y a des containers
For Each Containeur In oUser
WScript.StdOut.Writeline Containeur.name
OutPutFile.Write Containeur.name & ";"
' On les parcours et recupère les noms
For Each ClefContaineur In Containeur
WScript.StdOut.Writeline ClefContaineur.name
OutPutFile.Write ClefContaineur.name & ";"
Next
Next
Case "organizationalunit", "container"
EnumerateUsers oUser
End Select
If Ok Then WScript.StdOut.WriteLine
Next
End Sub |
Partager