Terminalserver Anmeldungen auslesen

Mit folgendem Powershell Befehl erhält man eine Übersicht der letzten Terminalserveranmeldungen gefiltert über den Benutzernamen.


Get-WinEvent -Logname 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-TerminalServices-RemoteConnectionManager'] and (EventID=1149)]]" | ForEach-Object {
    $event = [xml]$_.ToXML()
    $username = $event.Event.UserData.EventXML.Param1
    $sourceIP = $event.Event.UserData.EventXML.Param3
    $startTime = [datetime]$event.Event.System.TimeCreated.SystemTime
    $endTime = [datetime]$event.Event.System.TimeCreated.SystemTime
    $sessionDuration = $endTime - $startTime

    # Hier können Sie den gewünschten Benutzer für die Filterung festlegen
    $filterUser = "benutzername"

    # Überprüfen, ob der Benutzer dem Filterkriterium entspricht
    if ($username -eq $filterUser) {
        [pscustomobject]@{
            'Time' = $startTime;
            'Username' = $username;
            'Source-IP' = $sourceIP;
            'SessionDuration' = $sessionDuration;
        }
    }
}