Logo faq-o-matic.net
Logo faq-o-matic.net

Active Directory, welche Objekte wurden seit dem 1. Juli 2014 erzeugt?

von veröffentlicht am13. August 2014, 06:47 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: AD: Erweiterte Abfragen, SQL, VBScript   Translate with Google Translate Translate EN   Die angezeigte Seite drucken

Beim Monitoring oder bei der Auswertung des Active Directory kann es von Interesse sein, welche Objekte nach einem bestimmten Datum erzeugt wurden. Leider ist es nicht immer ganz einfach, Datumswerte aus dem AD abzufragen oder sie gar als Suchkriterien zu verwenden. Im konkreten Fall hält sich der Aufwand aber in Grenzen. Eine einfache Art, diese Frage zu beantworten, kann mit unserem SQL-basierten AD-Abfragewerkzeug Carmen realisiert werden.

Active Directory speichert das Erzeugungsdatum jedes Objekts in dem Feld “whenCreated”. Daneben gibt es auch das Feld “whenChanged”, das das letzte Änderungsdatum für das betreffende Objekt enthält. Anders als manche anderen Datumsfelder im AD lassen sich diese beiden relativ einfach über eine festgelegte Syntax ansprechen.

In dem SQL-Dialekt, den AD (neben LDAP) versteht, kann man die Frage aus der Überschrift so formulieren:

SELECT distinguishedName,displayName,objectClass,whenCreated FROM ‘LDAP://DC=MeinAD,DC=faq-o-matic,DC=net’ WHERE whenCreated>=’20140701000000.0Z’

Das Interessante daran ist der Datums-String ganz am Ende. Er sieht erst mal aus wie eine fiese Zahlenkette, aber tatsächlich enthält er das Datum in recht einfach lesbarer Form: Jahr – Monat – Tag – Stunde – Minute – Sekunde – Zeitzone. Oder anders ausgedrückt: JJJJMMTThhmmss.0Z (dabei steht 0Z für UTC-Zeit, also die “Null-Zeitzone”).

In Carmen könnte man dies nun so eintragen:

image

Das Ergebnis ist eine Tabelle mit dem Erzeugungsdatum, der Objektklasse, dem Anzeigenamen und dem LDAP-Speicherpfad aller Objekte, die nach dem betreffenden Zeitpunkt erzeugt wurden.

Das Abfragetool Carmen findet sich hier:

[Carmen: Mit SQL das AD abfragen | faq-o-matic.net]
http://www.faq-o-matic.net/2004/10/20/carmen-mit-sql-das-ad-abfragen/

In einer alten Kolumne der Scripting Guys findet sich ein VBS-Skript, das die Aufgabe ähnlich löst:

[How Can I Get a List of All the Objects that have been Added to Active Directory Since a Specified Date? – Hey, Scripting Guy! Blog – TechNet Blogs]
http://blogs.technet.com/b/heyscriptingguy/archive/2006/01/25/how-can-i-get-a-list-of-all-the-objects-that-have-been-added-to-active-directory-since-a-specified-date.aspx

Man kann die Aufgabe auch rein mit Bordmitteln lösen, indem man sie an das Kommandozeilentool cavde.exe verfüttert. Hier lautet die Syntax für dieselbe Anfrage so:

csvde -f objekte.txt -r "(whenCretaed>=20140701000000.0Z)" -l whenCreated,displayName,objectClass

© 2005-2019 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!