質問

通常の状況では、私のVB.NETアプリケーションはClientName環境変数をチェックして、ユーザーが接続しているワークステーションの名前を取得できます。

したがって、WorkstationX RDPがServerAにある場合:

  • ComputerName = ServerA
  • ClientName = WorkstationX

それは問題なく動作します。

アプリケーションを右クリックして「管理者として実行」を選択した場合、ClientName変数は設定されません。

「管理者として実行」でアプリケーションを起動した場合でも、ターミナルサーバーに接続されているクライアントのワークステーション名を簡単に取得する方法を知っている人はいますか?

役に立ちましたか?

解決

ターミナルサービスAPI はあなたの答え。 VB.NETアプリで使用して、特定のサーバー上のユーザーセッションをログオフし、それらのセッションに接続されているワークステーションの名前を取得します。私が持っているコードには多くのp-invokeがあり、かなり扱いにくいですが、必要に応じて投稿できます。

他のヒント

P / Invokeビジネスを自分で処理したくない場合は、 Cassia を使用できます、それはあなたのためにそれをラップします:

New Cassia.TerminalServicesManager().CurrentSession.ClientName
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top