У меня есть этот vbscript, который я использую для экспорта AD пользователей и их свойств к csv:
Const ForAppending = 8
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_1779 = 1
Const ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = 12
Set objOU = GetObject("LDAP://OU=users,DC=example,DC=com")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("D:\temp\AD_Users_Export.csv")
Call enummembers(objOU)
Sub enumMembers(objOU)
On Error Resume Next
For Each objMember In objOU
If ObjMember.Class = "user" Then
If Not (isempty(ObjMember.CN)) Then
Initials = ObjMember.CN
Else
Initials = ""
End If
If Not (isempty(objMember.GivenName)) Then
FirstName = objMember.GivenName
Else
FirstName = ""
End If
If Not (isempty(objMember.sn)) Then
Lastname = ObjMember.sn
Else
LastName = ""
End If
If Not (isempty(objMember.mail)) Then
Mail = ObjMember.mail
Else
Mail = ""
End If
If Not (isempty(objMember.whenCreated)) Then
whencreated = ObjMember.whenCreated
Else
whencreated = ""
End If
set objFolder = nothing
set objFile = nothing
Set objTextFile = objFSO.OpenTextFile ("D:\temp\AD_Users_Export.csv", ForAppending, True)
strText1 = FirstName & "," & Lastname & "," & Initials & "," & Mail & "," & strSidDec & "," & whencreated
objTextFile.WriteLine(strText1)
objTextFile.Close
End If
If objMember.Class = "organizationalUnit" or OBjMember.Class = "container" Then
enumMembers (objMember)
End If
Next
End Sub