リモートデスクトップ接続しているかを確認する方法

医療情報システムqwinsta, リモートデスクトップ

院内SEはWindowsのリモートデスクトップを使って遠隔でサーバーなどを操作する事がよくあります。サーバーはサーバー室にあり冷房で冷却されていて長時間作業する事ができませんし、何よりモニターがつながっていないので直接操作することはできないです。そのため自席などからクライアントPCを使って操作することになります。

今回はそのようなリモートデスクトップを使ったサーバーの操作でちょっとした不満を解決できるかもしれない方法があったのでご紹介したいと思います。

問題

上記のようにリモートデスクトップでサーバーに接続しますが、基本的には一人のユーザーしかログインできません。(ライセンス形態により複数人ログインできるオプションがあるらしいんですが、そこは調べていないです…)

また、サーバー上に複数のアカウントを作らず、管理者権限のadministratorでログインする場合が多いです。 そうなると、同じadministratorアカウントでログインしてしまい、先にログインしていたユーザーが切断されて追い出されてしまいます。しかも、後からログインしたユーザーは追い出されたことの通知も受けないので追い出してしまったことも知らずにそのまま使ってしまいます。 追い出されたユーザーは一方的に追い出されただけで、なんだかなぁとモヤモヤを感じることが多々ありました。

人数が少なかったり、同じ場所で作業していれば声掛けして防止することもできますが、病院内の各地で呼び出されて対応している場合はなかなか難しい問題です。

確認方法

今回見つけた確認方法は、接続先のサーバーに先に誰かログインしていないかを調べる方法です。 コマンドは qwinsta /server:[サーバー名] で調べられます。

qwinstaコマンドの例

コマンドをコマンドプロンプトで実行すると上記のように表示され、状態がActiveなら接続しているユーザーがおり、Discなら接続していないという事がわかります。

このようにコマンド一つでサーバーの使用状況がわかる便利なコマンドですが、一つ事前作業が必要となります。それはWindowsの資格情報に接続先のサーバーへの接続情報を記録しておく事です。これをしていないとコマンドの実行に失敗しますので注意です。

Windows 資格情報

活用事例

私の活用事例としては、上記のコマンドを記述したbatファイルを作成し、目的のサーバーに接続する前に一度batファイルを確認してログインしている人がいないことを確認して接続するようにしています。

こうすることで誰かを知らず知らずのうちに追い出してしまうという事態がなくなります。接続後にサーバーの画面を見て何かを開いていたりすると誰かが作業中だったかもと申し訳ない気持ちになることがあるのでそれを防げます。(笑

ただ、なるべく自分以外の人にはこの習慣を守ってもらわないと、自分が追い出されてしまう事態は防ぐ事ができないのが難点です…

まとめ

サーバーなどよく使うマシンへリモートデスクトップ接続する際にはこういう追い出しが発生しやすいので注意が必要です。私はこの方法で注意していましたが、サーバー内のよく使う機能であればリモートデスクトップを使わずに操作する方法があったので、最近ではそちらを使っています。

詳しくは下記の記事をご覧ください。