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


24

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

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

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

クイックテストユーティリティ(C#、C ++、スクリプティングなど)も開発できます。

編集:

  1. 同じログインを使用しているため、ユーザーはログアウトせず、単に端末を切断またはロックします。

2
Win7環境でまったく同じことを行う方法を知りたいと思います。
ダリウス

@Darius、これに対する解決策を見つけました。W7ではテストしていませんが、これがあなたにも役立つことを願っています。
YetAnotherUser

@Darius&YetAnotherUser:以下に答えました:superuser.com/a/822743/430
ケビンワージントン14年

回答:


31

我々は使用することができますqwinstaQ ueryでWIN dows STAションおよびすべてのアクティブなセッションのリストを取得します。

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

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

ここに画像の説明を入力してください


1
+1それは便利です。私は過去に使用したものを把握しようとしてきましたが、それを把握することができませんでした。私はそれがあったかもしれないと思うpsexec \\COMPUTERNAME net sessiontsdiscon切断にも使用できます。
パラドロイド

2

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

quser /server:<COMPUTERNAME>

これにより、次の結果が得られます。

ここに画像の説明を入力してください


アクセスの取得は、昇格されたコマンドプロンプトから拒否されます。ドメイン管理者アカウントも使用しています。
シブ

RDP-ingがWin 2k8 R2サーバーから誰かを起動するかどうかをチェックしてくれました。ステータスは「Disc」(切断)だったので、安全にRDPで接続できます。
アダムビーン

1

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


1
申し訳ありませんが、同じログインを使用しているため、ユーザーはログアウトせず、端末を切断またはロックするだけです。
YetAnotherUser

1

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-ネット送信は良いオプションです。他のユーザーがマシンを使用していることを確認するために応答する必要があり、使用されていないと想定する前に不必要に4〜5分待機する必要があります。さらに、Messengerサービスがすべてのシステムで実行されている必要がありますが、これはこの場合には当てはまりません。
YetAnotherUser

NET SENDは質問に対する正しい答えであり、Windows XPを反映していることに注意してください。SENDは露骨な濫用問題のためにNETから削除されたため、Windowsの現在のバージョンではなくなりました。
私はモニカと

1

別の方法:

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

(Windows 7でテスト済み)


好奇心から、これを試みると「アクセスが拒否されました」というエラーメッセージが表示されるのはなぜですか?
ダリウス14年

リモートコンピューターの管理者権限がない場合があります。
ケビンワージントン14年

I "....ミリアンペアネット管理者は、私は私がすべきだと思うが、あなたは正しい方向に私を指摘
ダリウス

これは、リモートマシンに接続するユーザーを指定するオプションを提供した唯一の回答です。他のユーザーは、同じドメインにいて、アクセス権を持つユーザーとして実行している場合にのみ機能するようです。
ルブルー

0

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

これは、遠隔地の一部であるマシンがAD構造の上位の誰かによってリモートで管理されるのを防ぐためです。

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

                  gpreport /h report.html

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


1
6年、しかし誰がカウント
mic84
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.