Bkolbe 10 Geschrieben 3. Januar 2008 Melden Teilen Geschrieben 3. Januar 2008 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 Zitieren Link zu diesem Kommentar
BrainStorm 10 Geschrieben 3. Januar 2008 Melden Teilen Geschrieben 3. Januar 2008 Hallo BKolbe, schau dir mal folgenden Tipp an, vielleicht kannst du da was drumherum basteln. http://www.jsifaq.com/SF/Tips/Tip.aspx?id=8330 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 3. Januar 2008 Melden Teilen Geschrieben 3. Januar 2008 Hallo, Mit vbs: Search for All Users Whose Accounts Expire Before a Specified Date cu blub Zitieren Link zu diesem Kommentar
Bkolbe 10 Geschrieben 14. Januar 2008 Autor Melden Teilen Geschrieben 14. Januar 2008 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. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.