Terminal Services: Get-Name-Client Während Als Administrator ausführen
-
08-07-2019 - |
Frage
Unter normalen Umständen eine VB.NET Anwendung von mir können die Clientumgebungsvariable überprüfen Sie den Namen der Workstation erhalten die Benutzer eine Verbindung herstellt.
Also, wenn WorkstationX RDPs in ServerA:
- Computername = ServerA
- Client = WorkstationX
Das funktioniert gut.
Wenn ich einen Rechtsklick auf die Anwendung und Ausführen als Administrator wählen, die Client Variable nicht gesetzt ist.
Kennt jemand eine Möglichkeit, leicht die Workstationnamen des Clients immer mit dem Terminalserver verbunden ist, auch wenn die Anwendung über „Ausführen als Administrator“ gestartet wird?
Lösung
Die Terminal-Services-API sein könnte Ihre Antwort. Ich benutze es in einer VB.NET app Benutzersitzungen auf einem bestimmten Server abzumelden, und die Namen der Workstations zu diesen Sitzungen verbunden abzurufen. Der Code, den ich habe hat eine Menge von p-invoke Sachen und ist eher sperrig, aber ich kann es schreiben, wenn Sie wollen.
Andere Tipps
Wenn Sie nicht mit dem P beschäftigen möchten / Invoke Unternehmen selbst, können Sie Cassia , was es für Sie hüllt:
New Cassia.TerminalServicesManager().CurrentSession.ClientName