連載
» 2009年10月23日 05時00分 公開

Tech TIPS:Windowsで、サーバにログオン中のユーザーをリモートから切断/ログオフさせる

管理用リモート・デスクトップ機能では最大2人まで同時にログオンできるが、3人目以降はログオンできない。必要ならば現在ログオン中のユーザーを一時的に切断したり、ログオフさせるとよい。リモートから切断するにはtsdisconコマンドを、ログオフさせるにはlogoffコマンドを使用する。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows XP/Windows Server 2003/Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2



解説

 TIPS「サーバにログオン中のユーザーをリモートから調査する」では、サーバOSにログオンしているユーザーをリモートから調査する方法を紹介した。サーバOSの「管理用リモート デスクトップ」機能を利用すると、1台のサーバに同時に最大2人がログオンして作業を行うことができる(これに加えて、コンソールからもう1人ログオンすることも可能)。すでに2人がリモートからログオンしている状態で、さらにリモートからログオンしようとすると、次のようなダイアログが表示され、ログオンすることはできない。

リモートデスクトップの接続数を超えた場合の表示 リモートデスクトップの接続数を超えた場合の表示
サーバOSのリモート管理デスクトップ機能を利用すると、リモートから同時に2人までログオンできるが、3人目はログオンできない。
  (1)3人目がログオンしようとすると、このようなダイアログが表示される。

 このようなダイアログが表示された場合は、先のTIPSの方法でログオン中のユーザーを調べ、使用中のユーザーを一時的に切断させたり、ログオフさせればよい。本TIPSでは、サーバにログオンしているユーザーをリモートから切断/ログオフさせる方法について解説する。

操作方法

●tsdisconコマンドでリモートから切断させる

 リモートからユーザーをログオフするには、tsdiscon.exeというコマンドを利用する。コマンドの使い方は「tsdiscon /?」で表示される。引数なしでtsdisconコマンドを実行すると、今ログオンしているセッション(つまり自分自身)がすぐに切断されてしまうので注意する。

C:\>tsdiscon /?  …使い方の表示
ターミナル セッションを切断します。

TSDISCON [セッション ID | セッション名] [/SERVER:サーバー名] [/V]

  セッション ID     セッションの ID です。
  セッション名      セッション名を指定します。
  /SERVER:サーバー  ターミナル サーバーを指定します (既定値は現在のサーバー)。
  /V                実行中に詳細情報を表示します。



 tsdisconコマンドで指定するセッション名やセッションIDは、TIPS「サーバにログオン中のユーザーをリモートから調査する」で紹介した「query user(もしくはquser)」や「query session(もしくはqwinsta)」で表示されるものと同じである。まずリモート・サーバのログオン・ユーザーを調べ、そこで得られたセッションIDを指定してtsdisconコマンドを実行する。いずれも/server:オプションで対象となるサーバを指定する。

※これはWindows XPからWindows Server 2003を調査した例

C:\>qwinsta /server:server999 …qwinstaはquery sessionと同じ
 セッション名   ユーザー名         ID  状態    種類     デバイス
 console                            0  Conn    wdcon
 rdp-tcp                        65536  Listen  rdpwd
 rdp-tcp#27     hiroyu              1  Active  rdpwd …ログオン中

※セッションIDを指定して切断する
C:\>tsdiscon 1 /server:server999 …セッション1を切断

C:\>qwinsta /server:server999 …確認
 セッション名   ユーザー名         ID  状態    種類     デバイス
 console                            0  Conn    wdcon
 rdp-tcp                        65536  Listen  rdpwd
                hiroyu              1  Disc    rdpwd …切断中。状態が「Disc(切断)」になっている



●logoffコマンドでリモートからログオフさせる

 リモートからユーザーをログオフするには、logoff.exeというコマンドを利用する。コマンドの使い方は「logoff /?」で表示される。引数なしでlogoffコマンドを実行すると、今ログオンしているセッション(つまり自分自身)がすぐにログオフしてしまうので注意する。

C:\>logoff /?  …使い方の表示
セッションを終了します。

LOGOFF [セッション名 | セッション ID] [/SERVER:サーバー名] [/V]

  セッション名        セッション名を指定します。
  セッション ID       セッション ID を指定します。
  /SERVER:サーバー名  ログオフするユーザー セッションが実行されている
                      ターミナル サーバー (既定値は現在のサーバー)。
  /V                  実行中に詳細情報を表示します。



 logoffコマンドで指定するセッション名やセッションIDは、「query user」や「query session」で表示されるものと同じである。まずリモート・サーバのログオン・ユーザーを調べ、そこで得られたセッションIDを指定してlogoffコマンドを実行する。

※これはWindows XPからWindows Server 2003を調査した例

C:\>qwinsta /server:server999 …qwinstaはquery sessionと同じ
 セッション名   ユーザー名         ID  状態    種類     デバイス
 console                            0  Conn    wdcon
 rdp-tcp                        65536  Listen  rdpwd
 rdp-tcp#19     hiroyu              2  Active  rdpwd  …ユーザー1
 rdp-tcp#18     keisuke             3  Active  rdpwd  …ユーザー2

※セッションIDを指定してログオフする
C:\>logoff 2 /server:server999 …ユーザー1をログオフ

※セッション名を指定してログオフする(/vオプション指定付き)
C:\>logoff rdp-tcp#18 /server:server999 /v …ユーザー2をログオフ
セッション ID 3 をログオフしています。 …動作中のメッセージ

C:\>qwinsta /server:server999 …ユーザーの確認
 セッション名   ユーザー名         ID  状態    種類     デバイス
 console                            0  Conn    wdcon
 rdp-tcp                        65536  Listen  rdpwd
…ユーザー1とユーザー2がログオフしている



「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。