web-dev-qa-db-ja.com

RDPを実行する前に、ユーザーがリモートマシンでアクティブかどうかを確認する方法

共通のWindows XP複数のユーザー間で共有されるマシンがあります。すべてのユーザーが共通のドメインログインを使用してRDPを実行します。問題は、アクティブな他のユーザーを引き継いでしまう場合があることです。どちらの当事者にも警告されないセッション(同じログインを使用するため、警告は発行されません)。

リモートマシンで現在ログインしているユーザーがアクティブである(端末がロックされている)かどうかをテストする方法はありますか?

セキュリティ上の理由から、ITによってブロックされているVNC、LogMeIn、またはその他のデスクトップ共有ユーティリティは使用できません。

いくつかのクイックテストユーティリティ(C#、C++、スクリプトなど)も開発できます。

編集:

  1. 同じログインを使用しているため、ユーザーはログアウトせず、ターミナルを切断またはロックするだけです。
24
YetAnotherUser

qwinstaを使用して Qとても WIN鳩 STAすべてのアクティブなセッションのリストを取得します。

State列は、ユーザーがアクティブかどうかを示します。これには、ターゲットマシンでの管理アクセスが必要です。

それを得た TechTalkz:コマンドラインからリモートデスクトップセッションを表示/切断する方法

enter image description here

31
YetAnotherUser

受け入れられた回答と同様に、次のようにQuery.exeを使用することもできます。

quser /server:<COMPUTERNAME>

これにより、次の結果になります。

enter image description here

2
Felix D.

コンピュータが使用中であることを示す共有上にファイルを生成するBATファイルを作成します。ユーザーがログインすると、実行され、そのファイルが作成されます。ユーザーがログアウトすると(GPスクリプトで実行可能)、ファイルが削除されます。接続する前にそのファイルの共有を確認してください

1
Canadian Luke

NET SENDコマンドを使用して、メッセージをマシンに送信し、誰かがマシン上にいるかどうかを確認できます。これは、GUIアプリを使用することで簡単にできます。下のリンクは、Web検索を行って最初に見つけた無料のリンクです。特定の推奨なしに表示されます。

http://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/net_send.mspx

http://www.fomine.com/netsend.html

1
Linker3000

別の方法:

wmic.exe /node:<computername or IP address> computersystem get username

(Windows 7でテスト済み)

1

参考までに、これは1年以上前のものであることを知っていますが、誰かがドメイン管理者権限を持っている場合でも、特定の管理者アカウント(ドメイン、エンタープライズなど)をブロックできるGPOポリシーがあります)マシンにリモートでログインする。

これは、リモートロケーションの一部であるマシンが、AD構造の上位にいる誰かによってリモートで管理されるのを防ぐのに役立ちます。

拒否されているかどうかを確認するには、GPOの下にあるローカルマシンのレポートを

                  gpreport /h report.html

管理コマンドプロンプトから。

0
Norm