Quickly1971 0 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni 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 Zitieren Link zu diesem Kommentar
testperson 1.706 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni 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 Zitieren Link zu diesem Kommentar
Quickly1971 0 Geschrieben 24. Juni Autor Melden Teilen Geschrieben 24. Juni (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 24. Juni von Quickly1971 Zitieren Link zu diesem Kommentar
Beste Lösung cj_berlin 1.329 Geschrieben 24. Juni Beste Lösung Melden Teilen Geschrieben 24. Juni Schau mal, ob https://www.powershellgallery.com/packages/RDExSessionInfo/1.1.0.0 hilft. Ich habe es vor 8 Jahren geschrieben, weiß nicht mehr, was es ausgibt, aber ich meine, es war aus demselben Grund wie bei Dir.... Zitieren Link zu diesem Kommentar
testperson 1.706 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni 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" } Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni (bearbeitet) Das Problem mit Registry und Umgebungsvariable ist, dass es den Client beinhaltet, mit dem die Sitzung ursprünglich aufgebaut wurde, nicht den aktuellen Client. Falls sie nicht identisch sind, natürlich 🤣 bearbeitet 24. Juni von cj_berlin 1 Zitieren Link zu diesem Kommentar
testperson 1.706 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni D.h. nach einem Disconnect und Reconnect von einem neuen Client wird die Registry nicht aktualisiert? Dann hilft der Codeschnipsel oben nur bedingt. ;) Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni Zumindest die Umgebungsvariable wird nicht aktualisiert. Zitieren Link zu diesem Kommentar
testperson 1.706 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni Nach kurzem Test wird Registry (und Umgebungsvariable (sofern man die Eingabeaufforderung neu öffnet)) aktualisiert. Zitieren Link zu diesem Kommentar
Quickly1971 0 Geschrieben 24. Juni Autor Melden Teilen Geschrieben 24. Juni Super, vielen Dank. Das sind zwar mehr Infos als benötigt... aber trotzdem... damit komme ich weiter. Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni Das ist neu. Welche Server-Version? Zitieren Link zu diesem Kommentar
Quickly1971 0 Geschrieben 24. Juni Autor Melden Teilen Geschrieben 24. Juni (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 24. Juni von Quickly1971 Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni Das war die Antwort an @testperson Zitieren Link zu diesem Kommentar
Quickly1971 0 Geschrieben 24. Juni Autor Melden Teilen Geschrieben 24. Juni vor einer Stunde schrieb cj_berlin: Schau mal, ob https://www.powershellgallery.com/packages/RDExSessionInfo/1.1.0.0 hilft. Ich habe es vor 8 Jahren geschrieben, weiß nicht mehr, was es ausgibt, aber ich meine, es war aus demselben Grund wie bei Dir.... Markiert ist die Antwort ja als "beste Lösung". Hier dann auch "zitiert"... das funktioniert sehr gut! Zitieren Link zu diesem Kommentar
testperson 1.706 Geschrieben 24. Juni Melden Teilen Geschrieben 24. Juni vor 45 Minuten schrieb cj_berlin: Das ist neu. Welche Server-Version? Das war ein Windows Server 2016. Habe es gerade noch flott mit 2019/2022 identisch getestet. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.