emeriks
Goto Top

Powershell - Datumswerte vergleichen geht nicht

Hi,
habe hier ein kleines Problem mit Powershell.
Ich will Zertifikate aus dem Windows Certificate Store des Benutzer abfragen und abgelaufene Zertifikate anzeigen. Aber das Vergleichen von "NotAfter" mit "Jetzt" (Get-Date) funktioniert nicht.

Habe unten drei Abfragen.
Die Erste
- liefert drei Zertifikate --> eins davon ist abgelaufen
- bei allen meldet er beim "kleiner als jetzt"-Vergleich "False".

Die Zweite
- liefert die selben drei Zertifikate --> eins davon ist abgelaufen
- bei allen meldet er beim "größer als jetzt"-Vergleich "True".

Die Dritte
- liefert die selben drei Zertifikate --> eins davon ist abgelaufen
- bei allen meldet er beim "ist gleich jetzt"-Vergleich "False".

Er müsste doch beim zweiten Zertifikat melden, dass "10/27/2117 00:00:00" kleiner ist als "01/09/2018 00:00:00"? Oder umgehkehrt letzteres größer?
Bin ich blind oder was mache ich falsch?

E.

PS C:\Windows\system32> Get-childItem Cert:\CurrentUser\My  | foreach{"NotAfter: " + $_.NotAfter.Date; "Jetzt: " + (Get-Date).Date; "kleiner: " + ($_.NotAfter.Date -lt (Get-Date).Date) }  
NotAfter: 09/05/2018 00:00:00
Jetzt: 01/09/2018 00:00:00
kleiner: False
NotAfter: 10/27/2117 00:00:00
Jetzt: 01/09/2018 00:00:00
kleiner: False
NotAfter: 06/13/2022 00:00:00
Jetzt: 01/09/2018 00:00:00
kleiner: False

PS C:\Windows\system32> Get-childItem Cert:\CurrentUser\My  | foreach{"NotAfter: " + $_.NotAfter.Date; "Jetzt: " + (Get-Date).Date; "größer: " + ($_.NotAfter.Date -gt (Get-Date).Date) }  
NotAfter: 09/05/2018 00:00:00
Jetzt: 01/09/2018 00:00:00
größer: True
NotAfter: 10/27/2117 00:00:00
Jetzt: 01/09/2018 00:00:00
größer: True
NotAfter: 06/13/2022 00:00:00
Jetzt: 01/09/2018 00:00:00
größer: True

PS C:\Windows\system32> Get-childItem Cert:\CurrentUser\My  | foreach{"NotAfter: " + $_.NotAfter.Date; "Jetzt: " + (Get-Date).Date; "gleich: " + ($_.NotAfter.Date -eq (Get-Date).Date) }  
NotAfter: 09/05/2018 00:00:00
Jetzt: 01/09/2018 00:00:00
gleich: False
NotAfter: 10/27/2117 00:00:00
Jetzt: 01/09/2018 00:00:00
gleich: False
NotAfter: 06/13/2022 00:00:00
Jetzt: 01/09/2018 00:00:00
gleich: False

Content-ID: 360444

Url: https://administrator.de/forum/powershell-datumswerte-vergleichen-geht-nicht-360444.html

Ausgedruckt am: 31.03.2025 um 14:03 Uhr

135111
Lösung 135111 09.01.2018 aktualisiert um 15:23:27 Uhr
Goto Top
dass "10/27/2117 00:00:00" kleiner ist als "01/09/2018 00:00:00"?
Nö ist schon alles richtig face-smile.

Älteres Datum ist immer kleiner als ein Neueres. 2117 ist ja wohl größer als 2017 face-smile, hast du dich da vertippt ?!

Abgelaufene Zertfikate auf die schnelle anzeigen:
gci Cert:\CurrentUser\my | ?{$_.NotAfter -lt (get-date)} | select Thumbprint,NotAfter,Subject

Tass Kaffee rüberschieb ...
emeriks
emeriks 09.01.2018 aktualisiert um 15:30:48 Uhr
Goto Top
Also doch blind ...

Danke!

Edit: Nicht vertippt. Das kommt so aus dem Zertifikat.
135111
135111 09.01.2018 um 15:38:49 Uhr
Goto Top
Na dann beten wir mal das es uns bis dahin noch gibt face-smile.
emeriks
emeriks 09.01.2018 um 15:43:48 Uhr
Goto Top
Dieses stammt von Windows selbst. Das ist ein Zertifikat für EFS. Sollte reichen ... face-wink