Jump to content

RDP Client Namen auslesen


Direkt zur Lösung Gelöst von cj_berlin,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo.

Irgendwie heute mal wieder Brett vorm Kopf...

mit "qwinsta" kann ich die verbunden RDP-Sitzungen auslesen. Soweit gut.

 

Nur muss ich den RDP-Client-Namen, wenn es geht mit dem Zugehörigen Benutzer, anzeigen/auslesen.

 

Hier komme ich nicht weiter... Hat da jemand eine Idee oder Script?!?!

 

VG, Lars

Geschrieben

Hi,

 

möchtest du als Admin eine (einmalige) Übersicht oder willst du das in der Session des Users verwenden?

  • Als Admin einmalig: Task Manager und die Spalte Clientname einblenden
  • Als Admin per Script bspw.: In HKEY_USERS die SIDs der angemeldeten User durchlaufen und unter "HKEY_USERS\<SID>\Volatile Environment\<Session-Id>" den "Clientname" auslesen
  • Als User
    • bspw. in der Registry: "HKEY_CURRENT_USER\Volatile Environment\<Session-Id>"  den "Clientname" auslesen
    • bspw. in "%CLIENTNAME%"

 

HTH

Jan

Geschrieben (bearbeitet)

Hi.

Ja, hätte ich auch gleich schreiben können. Sorry....

Ich habe eine kleinen Terminalserver.

 

Hier habe ich 20 angemeldete Benutzer die ich mit "qwinsta" (Powershell) auslesen kann.

Und hier, wenn es denn geht würde ich gerne ein Powershell script nutzen um den Hostnamen auch gleich anzuzeigen, in den idetischen Tabelle.

Also möchte ich den Befehl gerne als Admin, auf dem Server ausführen.

 

Sollte das so nicht gehen, auch jeder andere Weg per Powershell oder CMD.

 

 

 

 

 

bearbeitet von Quickly1971
Geschrieben

Wenn es erstmal nur ein Terminalserver ist, wäre das ein quick and dirty Ansatz, der beendet werden könnte/möchte:

$objRegPaths = Get-Item -Path Registry::HKEY_USERS\S-1-5-21* |
    Where-Object { -not $_.Name.ToLower().EndsWith("classes") }

foreach($r in $objRegPaths){
    $curSID = New-Object System.Security.Principal.SecurityIdentifier($r.PSChildName)
    $curUser = $curSID.Translate([System.Security.Principal.NTAccount])
    $curPath = Join-Path -Path $r.PSPath `
        -ChildPath "Volatile Environment"
    $curPath = Get-ChildItem -Path "$curPath"
    $curClientName = Get-ItemPropertyValue -Path $curPath.PSPath `
        -Name "CLIENTNAME"
    Write-Host "User: $curUser; Client $curClientName"
}

 

Geschrieben (bearbeitet)

xxx

vor 7 Minuten schrieb cj_berlin:

Das ist neu. Welche Server-Version?

Was ist neu?!?!?

Nur zum Verständnis: Ich habe Deinen Vorschlag als "beste Lösung" markiert.

Oder wie jetzt?!?!?

 

Microsoft Windows Server 2019 Standard x64
Leider habe ich gerade keinen 2022er als TS zur Hand...
bearbeitet von Quickly1971
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...