Windows 2003 Shell Scripting

Scripting-Hilfe für ActiveDirectory

Freie LDAP-Suchen

Etwas mehr Erläuterung benötigt das Subkommando *, mit dem Sie in der Lage sind, beliebige Suchen im AD durchzuführen. Hier existieren zusätzliche Optionen: -filter, -attr und -l. Die Option -filter legt (wie bei csvde und ldifde) einen LDAP-Suchfilter fest, während -attr eine Liste der auszugebenden Attribute (oder * für alle) festlegt. Damit alles schön neu und damit anders bleibt, wird hier die Liste der Attribute nicht durch Kommata, sondern durch Leerzeichen getrennt. Die Option -l schließlich schaltet vom Tabellenformat für die Ausgabe in ein Listenformat (ähnlich dem LDIF-Format) um.

Damit dies alles klarer wird, auch hier wieder einige Beispiele. Als Erstes die übliche Suche nach den Kontakten, diesmal über die ganze Domain:

dsquery * -filter "(objectClass=contact)"

Jetzt alle Benutzer, deren Nachname mit einem Buchstaben von L-Z beginnt:

dsquery * -filter "(&(objectCategory=person)(sn>=L*))"

Als Letztes möchten wir eine Datumssuche vorstellen. Angenommen, Sie kommen frisch erholt und tatendurstig aus dem Urlaub und möchten wissen, welche Gruppen nach dem 01.06.2008 (dem ersten Tag Ihres Urlaubs) im Container „users“ erstellt wurden. Ersetzen Sie im folgenden Kommando den Domain-Namen durch den Namen Ihrer Domain.

dsquery * "cn=Users,dc=shellbook,dc=com" -filter "(&(objectClass=group)(whenCreated>=20080601000000.0Z))"

Falls Sie (wie bei csvde und ldifde) Kommata verwenden, erhalten Sie einfach eine leere Ausgabe, da dann als Attributname der gesamte String verwendet wird.