In Umgebungen mit größeren Active Directory Installationen ist es oft notwendig „alte“ Computer- und Benutzerkonten zu identifizieren und zu deaktivieren bzw. zu löschen. Doch wie können solche Konten identifiziert werden? Active Directory bzw. auch der kleinere Bruder AD LDS speichern bei der Anmeldung am jeweiligen Verzeichnisdienst den Zeitpunkt der Anmeldung im Feld „lastLogonTimeStamp“.
Die Herausforderung bei dem Attibut besteht im Format des Feldes. Der Wert, der im „lastLogonTimestamp“ Attribut gespeichert ist, repräsentiert ein Datum mit Uhrzeit, ausgedrückt in 100-Nanosekunden-Schritten (ticks) seit dem 1. Januar 1600, 0:00 Uhr.
Um mit diesem Attribut und entsprechenden DateTime Berechnungen zu arbeiten ist eine Konvertierung des Wertes notwendig. Die Konvertierung wird über [datetime]::FromFileTime erreicht.
In diesem Format lassen sich die PowerShell Methoden zum berechnen von DateTime Werten verwenden. Das folgende Beispiel geht sechs Monate zurück in die Vergangenheit.
Ich hoffe die Beispiele zeigen wie schnell und effektiv mit Datumswerten in PowerShell gearbeitet werden kann.