Die Anmeldung eines Benutzers auf einem Windows Betriebssystem wir als Anmeldeereignis in der Ereignisanzeige aufgezeichnet. Möchte man jetzt herausfinden, wann die letzte erfolgreiche Benutzeranmeldung stattgefunden hat, so muss man die ID kennen.
Diese lautet in der Ereignisanzeige 4648. Jetzt ist es im Prinzip ein Leichtes, sich die letzten Anmeldungen eines Benutzers anzeigen zu lassen. Dazu benötigt man das Cmdlet Get-Eventlog für die Windows PowerShell.
Get-EventLog -LogName Security -InstanceId 4648
Die Ausgabe liefert jedoch eine Menge an Informationen. Einfacher wäre es, die Ausgabe mehr zu sortieren und z. B. nur nach einem bestimmten Benutzer zu fragen. Hierfür hilft natürlich im Besonderen die Pipe.
Um die Benutzeranmeldung mit der PowerShell für einen bestimmten Benutzer anzeigen zu lassen, erweitert man die obige Befehlskette mit der Pipe und dem Cmdlet Where-Object. Natürlich wird auch der Name des Benutzers benötigt. In meinem Fall der Benutzer Markus.
Get-EventLog -LogName Security -InstanceId 4648 | Where-Object Message -Match "Markus"
Allerdings ist die Ausgabe nach wie vor sehr unübersichtlich. Daher wird diese noch etwa weiter eingekürzt. Zunutze macht man sich hier wieder die Pipe.
Die Ergebnisse werden nun in einer Tabelle ausgegeben. Als Parameter verwendet man die Zeit sowie die Nachricht. Jetzt werden die Informationen schon wesentlich deutlichen dargestellt.
Get-EventLog -LogName Security -InstanceId 4648 | Where-Object Message -Match "Markus" | Format-Table TimeGenerated,Message -AutoSize -Wrap

Die kurze Befehlssequenz zeigt auch wieder, wie schnell und einfach man mithilfe der Windows PowerShell Informationen aus dem System auslesen kann. Vor allem wird auch wieder die große Hilfe der Windows PowerShell Pipe deutlich.










