Windows Server

Terminalserver-Anmeldungen eines Benutzers per PowerShell auslesen

aktualisiert am 1 min Lesezeit

Mit dem folgenden PowerShell-Befehl siehst du, wann sich ein bestimmter Benutzer per RDP am Terminalserver angemeldet hat und von welcher IP-Adresse. Den gewünschten Benutzer trägst du in $filterUser ein.

Ausgabe mit Zeit, Benutzername und Quell-IP

PowerShell
# Benutzer, dessen Anmeldungen angezeigt werden sollen
$filterUser = "benutzername"

Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -FilterXPath "*[System[(EventID=1149)]]" |
    ForEach-Object {
        $event = [xml]$_.ToXml()
        [pscustomobject]@{
            'Time'      = $_.TimeCreated
            'Username'  = $event.Event.UserData.EventXML.Param1
            'Source-IP' = $event.Event.UserData.EventXML.Param3
        }
    } |
    Where-Object { $_.Username -eq $filterUser }

Hinweis

Das Ereignis 1149 protokolliert eine erfolgreiche Netzwerk-Authentifizierung, also den Zeitpunkt, an dem sich jemand mit gültigen Anmeldedaten verbunden hat. Ein Abmeldezeitpunkt steht darin nicht, eine Sitzungsdauer lässt sich daraus deshalb nicht berechnen. Dafür brauchst du die Ereignisse 21 (Anmeldung), 23 (Abmeldung) und 24 (Trennung) im Protokoll Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.

Tippe, um alle Artikel zu durchsuchen.

Nachricht schreiben

Die Daten nutze ich nur, um dir zu antworten. Mehr dazu im Datenschutz.