Windows 2003 Shell Scripting

Scripting-Hilfe für ActiveDirectory

Beispiele für CSVDE

Sehen wir uns dazu gleich ein Beispiel an. Sie werden erkennen, dass nicht viele Optionen benötigt werden, um csvde sinnvoll einzusetzen. Zuerst sollen alle Objekte im Container „users“ ausgegeben werden. Für die Authentifizierung wird das Konto des angemeldeten Benutzers verwendet, und die Ausgabe soll in der Datei ausgabe.dat landen:

csvde -f ausgabe.dat -d "cn=users,dc=shellbook,dc=com"

Diese Ausgabe wird allerdings nicht oft Verwendung finden, sie enthält einfach zu viele Daten. Daher noch ein Beispiel aus der Praxis. Hier sollen aus einer OU alle Kontaktdaten in eine CSV-Datei exportiert werden, damit diese in ein E-Mail-Adressbuch übernommen werden können. Aus diesem Grund sollen auch nicht wahllos alle Attribute exportiert werden, sondern nur der angezeigte Name, die E-Mail-Adresse und die Homepage.

Dafür werden zwei weitere Optionen benutzt. Die Option -l definiert eine kommagetrennte Liste aus Attributnamen, und die Option -r legt einen LDAP-Suchfilter fest.

csvde -f ausgabe.dat -d "ou=produktion,dc=shellbook,dc=com" -r "(objectClass=contact)" -l "displayName,wwwhomepage,mail"

Die Ausgabe des Kommandos in der Konsole sieht dann wie folgt aus:

Connecting to "(null)"
Logging in as current user using SSPI
Exporting Verzeichnis to file ausgabe.dat
Searching for entries...
Writing out entries
..
Export Completed. Post-processing in progress...
2 entries exported

The command has completed successfully

Da wir keinen Server angegeben haben, erfolgt die Anmeldung am DC. Ohne die Optionen -a oder -b werden die Daten des angemeldeten Benutzers für die Authentifizierung verwendet. Für jeden exportierten Datensatz schreibt csvde einen Punkt nach „Writing out entries“. Da wir mit der Option -l die Liste der Attribute begrenzt haben, werden auch nur diese Attribute in die Datei geschrieben. Die Ausgabe des Distinguished Names (DN) erfolgt immer als erstes Attribut, damit die Ausgabe zuordnungsfähig bleibt.

Hier der Inhalt der Datei:

C:\tmp>more < ausgabe.dat
DN,displayName,wWWHomePage,mail
"CN=Norman Kerth,OU=Produktion,DC=shellbook,DC=com",Norm
Kerth, http://
www.retrospectives.com,norm@retrospectives.com
"CN=Julius
Caesar,OU=Produktion,DC=shellbook,DC=com",Caesar, http:/
/www.caesar.spqr,julius@roma.spqr

C:\tmp>