3

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

したがって、WorkstationX が ServerA に RDP を接続すると、次のようになります。

  • ComputerName=ServerA
  • ClientName=WorkstationX

それはうまくいきます。

アプリケーションを右クリックして [管理者として実行] を選択すると、ClientName 変数が設定されません。

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

4

2 に答える 2

3

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

New Cassia.TerminalServicesManager().CurrentSession.ClientName
于 2009-04-09T02:22:31.697 に答える
2

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

于 2008-11-14T04:15:01.027 に答える