Active Directory - alle EMailadressen in Datei ausgeben
Hi,
aufgrund der Komplexität habe ich die Umsetzung angepasst.
Es geht nun darum alle Mailadressen der Domäne, also von Benutzern, Gruppen etc. auszulesen und in eine Datei zu schreiben (wenn möglich nur bis zum @ Zeichen).
Das auslesen des Namens und der DN funktioniert auch, Problem hier ist nur das, sobald ich bei "Do Until" "Mail" ausgeben möchte (also auch die Mailadresse) sagt er:
Error: Type mismatch: 'WriteLine'
Code: 800A000D
Sorce: Microsoft VBScript runtime error
Hier der Code:
Const ADS_SCOPE_SUBTREE = 5
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("n:\ausgabe.txt", True)
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT distinguishedname,mail,name FROM 'LDAP://DC=www,DC=domain,DC=de'WHERE objectCategory='user'" & _
"OR objectCategory='group'"
Set objRecordSet = objCommand.Execute
Do Until objRecordSet.EOF
file.WriteLine(objRecordSet.Fields("distinguishedname"))
file.WriteLine(objRecordSet.Fields("mail"))
file.WriteLine(objRecordSet.Fields("name"))
objRecordSet.MoveNext
Loop
aufgrund der Komplexität habe ich die Umsetzung angepasst.
Es geht nun darum alle Mailadressen der Domäne, also von Benutzern, Gruppen etc. auszulesen und in eine Datei zu schreiben (wenn möglich nur bis zum @ Zeichen).
Das auslesen des Namens und der DN funktioniert auch, Problem hier ist nur das, sobald ich bei "Do Until" "Mail" ausgeben möchte (also auch die Mailadresse) sagt er:
Error: Type mismatch: 'WriteLine'
Code: 800A000D
Sorce: Microsoft VBScript runtime error
Hier der Code:
Const ADS_SCOPE_SUBTREE = 5
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("n:\ausgabe.txt", True)
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT distinguishedname,mail,name FROM 'LDAP://DC=www,DC=domain,DC=de'WHERE objectCategory='user'" & _
"OR objectCategory='group'"
Set objRecordSet = objCommand.Execute
Do Until objRecordSet.EOF
file.WriteLine(objRecordSet.Fields("distinguishedname"))
file.WriteLine(objRecordSet.Fields("mail"))
file.WriteLine(objRecordSet.Fields("name"))
objRecordSet.MoveNext
Loop
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 74893
Url: https://administrator.de/contentid/74893
Ausgedruckt am: 23.11.2024 um 15:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Breede,
ich habe leider nur den Tip, die dem jeweiligen System bekannten SMTP-Adressen auszulesen, vielleicht hilft es trotzdem:
http://www.msexchangefaq.de/code/smtplist.htm
Grüße, Steffen
ich habe leider nur den Tip, die dem jeweiligen System bekannten SMTP-Adressen auszulesen, vielleicht hilft es trotzdem:
http://www.msexchangefaq.de/code/smtplist.htm
Grüße, Steffen