Terminal Services: Get Client Name While Running As Administrator
environment-variables, terminal-services, vb.net
Solution
The terminal services API might be your answer. I use it in a VB.NET app to log off user sessions on a given server, and to retrieve the names of the workstations connected to those sessions. The code I have has a lot of p-invoke stuff and is rather unwieldy, but I can post it if you want.
Problem
Under normal circumstances, a VB.NET application of mine can check the ClientName environmental variable to get the name of the workstation the user is connecting from. So when WorkstationX RDPs into ServerA: - ComputerName=ServerA - ClientName=WorkstationX That works fine. If I right-click on the application and choose Run As Administrator, the ClientName variable is not set. Does anyone know of a way of easily getting the workstation name of the client connected to the terminal server, even when the application is launched via "Run As Administrator"?