Ich versuche gerade herauszufinden, wie ich den Anmeldeverlauf eines Benutzers auf einem bestimmten Computer anzeigen kann. Dieser Befehl soll lokal ausgeführt werden, um anzuzeigen, wie lange der Berater bei einem Server angemeldet ist.
Ich kenne derzeit nur diesen Befehl, der das vollständige Ereignisprotokoll abruft, aber ich muss es filtern, damit es pro Benutzer oder für einen bestimmten Benutzer angezeigt werden kann.
Get-EventLog System -Source Microsoft-Windows-WinLogon -After (Get-Date).AddDays(-5) -ComputerName $env:computername
Antwort1
Ausgehend von der Diskussion in den Kommentaren können Sie das Ereignisprotokoll mit Powershell durchsuchen.
Get-EventLog security | Where-Object {$_.TimeGenerated -gt '9/15/16'} | Where-Object {($_.InstanceID -eq 4634) -or ($_.InstanceID -eq 4624)} | Select-Object Index,TimeGenerated,InstanceID,Message
Get-EventLog
ermöglicht Ihnen den Zugriff auf das Ereignisprotokoll, insbesondere die Sicherheitsprotokolle- Die erste
Where-Object
Option gibt an, dass Sie alle Datensätze wünschen, die neuer sind als das angegebene Datum - Die zweite
Where-Object
gibt die beiden Ereignis-IDs an, an denen Sie interessiert sind Select-Object
lässt uns nur die Spalten zurückgeben, die für uns von Interesse sind
Sie müssen dies wahrscheinlich von einer erhöhten Instanz von Powershell aus ausführen, da hierdurch auf die Windows-Registrierung zugegriffen wird.