문제

정상적인 상황에서 VB.NET 응용 프로그램은 고객이 연결하는 워크 스테이션의 이름을 얻기 위해 ClientName 환경 변수를 확인할 수 있습니다.

따라서 WorkStationx가 Servera에 RDPS를 때는 경우 :

  • computername = servera
  • ClientName = WorkStationX입니다

잘 작동합니다.

응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 관리자로 RUN을 선택하면 ClientName 변수가 설정되지 않습니다.

"관리자로 실행"을 통해 응용 프로그램을 시작하는 경우에도 터미널 서버에 연결된 클라이언트의 워크 스테이션 이름을 쉽게 가져 오는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

그만큼 터미널 서비스 API 당신의 대답 일 수 있습니다. VB.NET 앱에서 사용하여 주어진 서버에서 사용자 세션을 로그 오프하고 해당 세션에 연결된 워크 스테이션의 이름을 검색합니다. 내가 가진 코드에는 많은 p-invoke 물건이 있고 다소 다루기 쉬운 것이지만 원하는 경우 게시 할 수 있습니다.

다른 팁

P/Invoke Business를 직접 처리하고 싶지 않다면 사용할 수 있습니다. 카시아, 당신을 위해 그것을 감싸는 것 :

New Cassia.TerminalServicesManager().CurrentSession.ClientName
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top