Jump to content

abgelaufene Konten im AD finden


Bkolbe
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

wahrscheinlich werden nicht nur bei uns viele befristet eingestellt.

Zum Jahreswechsel waren nun wieder einige Konten betroffen.

Um nun die betreffenden Konten schnell zu finden, habe ich mir gedacht, ich bastel mal schnell ne gespeicherte Abfrage. Nur so einfach war das dann doch nicht...

 

Über adsiedit.msc habe ich mir den benötigten Parameter herausgesucht:

"Accountexpires"

 

Aber der Wert war ganz komisch, kein gewohnter Zeitwert sondern irgendwas in der Richtung:

128436156000000000

 

Das ist die NT-Systemzeit, diese gibt die Anzahl der 100 Nanosekundenintervalle seit dem 1. Januar 1601 wieder.

Über diesen Artikel bin ich auf die Umrechnung und die Bedeutung des Zahlenwertes gestoßen.

 

In der Kommandozeile folgendes eintippen:

w32tm.exe /ntte 128436156000000000

 

Das ist dann das Ergebnis:

148652 23:00:00.0000000 - 01.01.2008 00:00:00 (local time)

 

Dieser Wert (128436156000000000) steht für das Ablaufdatum 31.12.2007 (Auch wenn hier nun der 1.Januar 2008 steht!)

 

Die gespeicherte Abfrage für am 31.12.2007 abgelaufene Konten sieht wie folgt aus:

(objectCategory=user)(Accountexpires=128436156000000000)

 

Will man nun ein anderes Datum suchen, muss man den NT-Systemzeitwert ermitteln.

Bis jetzt habe ich kein Tool gefunden, dass mit einen beliebigen GMT-Zeitwert in die NT-Systemzeit umrechnet, also muß das manuell erfolgen:

-zuerst bei einem Testbenutzer das Datum einstellen, nach dem man suchen möchte

-Über adsiedit.msc den Testbenutzer auswählen, den Wert der Eigenschaft "Accountexpires" markieren und kopieren

-dann in der vorhandenen gespeicherten Abfrage, den alten Zeitwert durch den neuen Wert ersetzen

-fertig

Link zu diesem Kommentar
  • 2 Wochen später...

Vielen Dank für die Tipps von Euch!

 

Ich habe nun ein kleines Umrechnungstool erstellt, dass auf der Quelle von Blub basiert.

 

Im VBS-Quelltext sieht das ganze nun so aus:

'Eingeben des Ablaufdatums
dtmexpirationDate= inputbox ("Bitte geben Sie das Ablaufdatum ein, nachdem in der gespeicherten Abfrage gesucht werden soll:", "Eingabe" , date())

'Hier wird ein Tag dazugerechnet, da im Feld "AccountExpires" der Tag nach dem Ablaufdatum abgespeichert wird. Falls das aktuelle DAtum benötigt wird, die folgende Zeile einfach auskommentieren
dtmexpirationdate=dateadd("d","1",dtmexpirationdate)


'Hier wird nun das Datum in die NT-Zeit umgerechnet, Quelle ist das Microsoft Skriptcenter: http://www.microsoft.com/technet/scriptcenter/scripts/ad/search/users/srch071.mspx?mfr=true
Set objShell = CreateObject("Wscript.Shell")
lngTimeZoneBias = objShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias")
lngFinalBias = lngTimeZoneBias
dtmNewDate = DateAdd("n", lngFinalBias, dtmExpirationDate)
lngSeconds = DateDiff("s", #1/1/1601#, dtmNewDate)
strModifiedExpirationDate = CStr(lngSeconds) & "0000000"


'Damit der Wert aus der Messagebox kopiert werden kann, habe ich hier eine Inputbox generiert
Leer=inputbox("Das umgerechnete Datum lautet:" & strModifiedExpirationDate & "; Bitte den Wert in die gepeicherte Abfrage einfügen.", "Ergebnis", strModifiedExpirationDate)

 

Einer meiner Kollegen hatte dann noch den Wunsch, alle Konten anzuzeigen, die bis zu dem Datum ablaufen und nicht nur die Konten die an dem Tag ablaufen.

 

Hier nun die gespeicherte Abfrage für eine Suche bis zum Stichtag:

 

(&(objectCategory=user)  (Accountexpires<=128449116000000000) (!Accountexpires=0))

 

 

Durch das Skript vereinfacht sich die Sache erheblich, einfach nur noch das Wunschdatum eingeben, den Zahlenwert kopieren und in die gespeicherte Abfrage einfügen, fertig.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...