Windows Server 2003 und 2008 und 2008 R2

syntax error

Lieutenant
Registriert
Mai 2011
Beiträge
607
Hiho,

bin gerade dabei ne LDAP-Abfrage im MMC für Benutzer und Computer zu erstellen. Ich will mir anzeigen lassen, welche User sich seit einem ganz bestimmten Datum nicht mehr angemeldet haben. Man muss das Datum im UTC-Format angeben, doch klappt dies überhaupt nicht bzw. ich finde im Internet zwar UTC-Konverter, die geben aber trotzdem nicht das richtige Format fürs LDAP an. Beispiel:

GMT: Fri, 6 Jul 2012 11:40:33 UTC
wäre in UTC
1341574833 (laut dieser Seite http://www.epochconverter.com/)

Wenn ich in Powershell aber

Get-Date -UFormat "%s"

schreibe, bekomme ich so ein Format

1279152364.63599

Also die Frage ist nun, wie frag ich in Powershell ein bestimmtes Datum in diesem Format ab, um es dann in die Abfrage zu schrieben oder wie lautet das richtige Format für den 01.01.1995?

Die Abfrage sieht übrigens so aus:

(&(&(objectCategory=person)(objectClass=user)(LastLogonTimeStamp<=hiermussdasrichtigeformatrein)))
 
Does maybe that work for you?

Über die AD bekommst du ja alle Informationen über die Benutzer heraus, die man im Regelfall benötigt. Ebenso den "Timestamp".
 
Danke aber soweit war ich selber nur kann man dort maximal 180 Tage aus dieser Liste auswählen, das ist zu kurz
Ergänzung ()

kurioserweise funktioniert das hier:

"Alle Benutzer anzeigen, die sich seit dem 10.01.2010 nicht mehr angemeldet haben:
(&(&(objectCategory=person)(objectClass=user)(LastLogonTimeStamp<=129076122047040000)))"

aus http://blog.dikmenoglu.de/Gespeicherte+Abfragen.aspx
verstehe nicht wie der zu dem Format da kommt
 
(&(&(objectCategory=person)(objectClass=user)(LastLogonTimeStamp<=19950101000000.0Z)))

Der Timestamp wird in 64bit bespeichert aufgrund des Formates Integer8.

Du musst beachten, dass LastLogonTimeStamp nicht auf alle DCs repliziert wird, somit könnte die Abfrage zum nicht gewünschten Erfolg führen.
 
Zuletzt bearbeitet:
Ahh vielen herzlichen Dank!
Hab jetzt erstmal zwei Wochen lang Urlaub, aber werde es direkt danach mal machen.

icher, dass es nicht auf alle schreibbaren repliziert wird?
 
Ja, ich bin mir sicher!

Schönen Urlaub!
 
@Sty!a
Das stimmt nicht. Das Attribut 'LastLogon' wird nicht repliziert. Das Attribut 'LastLogonTimeStamp' wurde mit Server 2003 eingeführt und wird ab Domänenfunktionsmodus Windows Server 2003 sehr wohl repliziert.
 
Also igrendwie geht das nicht mit dem Hinweis von Sty!a.
Ich habe jetzt ein Windowseigenes-Tool gefunden, mit dem sich Datumsangaben im Integer8-Format in ein lesbares Format umwandeln lassen...klasse ich brauchs aber genau andersrum...vllt. noch einer nen Tipp?
Zum Beispiel das Datum 01.01.2010 bräuchte ich in Integer8
 
Keinen Windowsrechner? Das ist VBScript
129067704000000000


PowerShell:
(Get-Date "1/1/2012").ToFileTime()
 
Zuletzt bearbeitet:
Ja stimmt man brauch nix installieren um VBS auszuführen, ich dussel.

Und LOL den Befehl kenn ich und habs die ganze Zeit ohne Klammern eingegeben in Powershell...das normale get-date mit Parametern wird ja auch ohne Klammern geschrieben...

=> VIELEN herzlichen Dank an dich :)
 
Gerne. Allerdings wundert es mich, daß bei den Varianten unterschiedliche Ergebnisse rauskommen.
 
Hab um ehrlich zu sein das VBScript links liegen gelassen :-P

In Powershell den Befehl eingegeben mit verschiedenen Daten, Ergebnis in die Abfrage eingefügt und fertig ^^
 
Zurück
Oben