Remote ツールの例
このセクションの例では、リモート ツールの使用法を示し、サンプルの入力と出力を示します。
基本的なサーバーコマンド
次のコマンドは、コンピューター上でリモート セッションを開始します。
このコマンドは、/s パラメーターを使用してサーバー側コマンドを示します。 コマンド cmd を使用して Windows コマンド シェル (Cmd.exe) を起動し、セッションに test1という名前を付けます。
remote /s cmd test1
これに応答して、リモート ツールはセッションを開始し、クライアントがセッションに接続するために使用するコマンドを表示します。
**************************************
*********** REMOTE ************
*********** SERVER ************
**************************************
To Connect: Remote /C SERVER06 "test1"
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
基本的なクライアントコマンド
次のコマンドは、Server01 コンピューター上のリモート セッションに接続します。 このコマンドは、/c パラメーターを使用してクライアント側のコマンドを示します。 サーバー コンピューターの名前 Server01 と、そのコンピューター上のセッションの名前 test1 を指定します。
remote /c server01 test1
これに応答して、リモート ツールは、クライアント コンピューターがサーバー コンピューター上のセッションに接続されていることを報告するメッセージを表示します。 メッセージには、サーバー コンピューターとローカル ユーザー (Server04 user1) の名前が表示されます。
**************************************
*********** REMOTE ************
*********** CLIENT ************
**************************************
Connected...
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Program Files\Debugging Tools for Windows>
**Remote: Connected to SERVER04 user1 [Tue 9:39 AM]
クライアントがサーバーに接続すると、クライアント コンピューターとサーバー コンピューターのコマンド プロンプトに入力されたコマンドが両方のディスプレイに表示されます。
たとえば、クライアント コンピュータのコマンド プロンプトで「dir」と入力すると、クライアント コンピュータとサーバー コンピュータの両方のコマンド プロンプト ウィンドウにディレクトリ表示が表示されます。
サーバーオプションの使用
次のサーバー側コマンドは、NTSD デバッガーとのリモート セッションを開始します。
このコマンドは、/s パラメーターを使用してサーバー側コマンドを示します。 次のパラメータ「ntsd -d -v」は、デバッガを起動するコンソール コマンドとデバッガ オプションです。 コンソール コマンドにはスペースが含まれるため、引用符で囲みます。 このコマンドには、セッション名 debugit が含まれています。
このコマンドは、/u パラメーターを使用して、コンピューターの管理者と特定のユーザー (Domain01 の User03) のみにセッションへの接続を許可します。 /f および /b オプションを使用して、白い背景に黒いテキスト (前景) を指定します。
最後に、このコマンドは /-v パラメーターを使用して、ユーザーのクエリに対してセッションを非表示にします。 デバッガ セッションはデフォルトで表示されます。
remote /s "ntsd -d -v" DebugIt /u Administrators /u Domain01\User03
/f black /b white /-v
これに応答して、リモート ツールは DebugIt という名前のセッションを作成し、指定されたパラメータで NTSD を開始します。 このメッセージは、指定されたユーザーのみが接続する権限を持っていることを示します。 また、コマンド ウィンドウも指定した色に変更されます。
**************************************
*********** REMOTE ************
*********** SERVER ************
**************************************
Protected Server! Only the following users or groups can connect:
Administrators
Domain01\User03
To Connect: Remote /C SERVER06 "debugit"
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
クライアントオプションの使用
次のコマンドは、前の例で開始された NTSD デバッガーを使用してリモート セッションに接続します。
このコマンドは、/c パラメーターを使用してクライアント側のコマンドを示します。 サーバー コンピューターの名前「server06」とリモート セッションの名前「debugit」を指定します。
このコマンドには、キーワード カラー ファイルの場所を指定する /k パラメーターも含まれています。
remote /c server06 debugit /k c:\remote_client.txt
カラー ファイルには次のテキストが含まれています。
Registry
white, blue
Token
red, white
このテキストは、「レジストリ」という単語 (大文字と小文字は区別されません) を含む出力行を青い背景に白いテキストで表示し、「トークン」という単語を含む出力行を白い背景に赤いテキストで表示するようにリモート ツールに指示します。
これに応答して、リモート ツールはクライアントをサーバー セッションに接続し、次のメッセージを表示します。
**************************************
*********** REMOTE ************
*********** CLIENT ************
**************************************
Connected...
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
これで、クライアントはサーバー コンピュータ上の NTSD デバッガにコマンドを送信できるようになります。 コマンドからの出力は、クライアント コンピューターとサーバー コンピューターの両方に表示されます。
クライアント コンピュータでは、「registry」という単語を含む出力行は青い背景に白いテキストで表示され、「kernel」という単語を含む出力行は白い背景に赤いテキストで表示されます。
セッションのクエリ
リモート ツールには、特定のコンピューター上のリモート セッションのリストを表示するクエリ パラメーター (/q) が含まれています。 表示には、表示されているセッション (/-v パラメーターなしで開始されたデバッガー セッションと、/v パラメーターを使用して開始された非デバッガー セッション) のみが含まれます。
サーバーまたはクライアント コンピューターからセッションをクエリできます。 ローカル コンピューター上のセッションをクエリする場合でも、コンピューター名を指定する必要があります。
次のコマンドは、ローカル コンピューター Server04 上のセッションをクエリします。
remote /q Server04
これに応じて、リモート ツールは、ローカル コンピューター上で実行中のリモート セッションが存在しないことを報告します。
Querying server \\Server04
No Remote servers running on \\Server04
対照的に、別のコンピューター Server06 上のセッションに関するクエリに応答して、リモート ツールはそのコンピューター上で実行されているセッションを一覧表示します。
Querying server \\Server06
Visible sessions on server Server06:
ntsd [Remote /C SERVER06 "debug"] visible
cmd [Remote /C SERVER06 "test"] visible
表示には、表示されているセッション、それらのセッションで実行されているコンソール プログラム (NTSD およびコマンド プロンプト ウィンドウ)、およびセッションに接続するコマンドがリストされます。 セッション名は、コマンド構文内で引用符で囲まれて表示されます。
これらのセッションに対して確立された権限がある場合でも、表示には表示されません。 したがって、参加権限のないセッションが表示される可能性があります。
セッションコマンドの使用
リモート セッション コマンドは、リモート セッション中いつでも使用できます。
次のコマンドは、セッションに接続されているすべてのコンピューターにメッセージを送信します。
@M I think I found the problem.
その結果、セッション内のすべてのコンピュータのコマンド プロンプト ウィンドウにメッセージが表示されます。 メッセージには、コンピュータ名とメッセージの日時が含まれます。
@m I think I found the problem. [SERVER01 Wed 11:53 AM]
メッセージがサーバー コンピュータから送信される場合、ラベルにはコンピュータ名の代わりに「ローカル」が表示されます。
@m I think I found the problem. [Local Wed 11:52 AM]
次のコマンドは、サーバー コンピューターに表示されるポップアップ メッセージを生成します。 セッション内のすべてのクライアント コンピューターで、コマンド プロンプト ウィンドウにメッセージを書き込みます。
@P Did you see that?
クライアント コンピュータでは、コマンド ウィンドウにポップアップ メッセージが表示されます。
From SERVER02 [Wed 11:58 AM]
Did you see that?
メッセージ ラベルに表示される時刻は、メッセージを送信したクライアント コンピュータが異なるタイム ゾーンにある場合でも、常にサーバー コンピュータの時刻です。
リモートセッションの終了
次の例は、リモート セッション コマンドを使用してクライアント コンピューターをセッションから切断し、リモート セッションを終了する方法を示しています。 リモート セッションを開始したサーバー コンピュータのみがリモート セッションを終了できます。
クライアント コンピュータをリモート セッションから切断するには、クライアント コンピュータで「@q」と入力します。
これに応じて、切断されたクライアント コンピュータに次のメッセージが表示されます。
*** SESSION OVER ***
セッション内の他のすべてのコンピューターでは、リモート ツールは、切断したコンピューターとユーザーの名前、切断された日時を含むメッセージを投稿します。
**Remote: Disconnected from SERVER04 User01 [Wed 12:01 PM]
リモート セッションを終了するには、サーバー コンピューターで「@k」と入力します。 このコマンドはクライアントを自動的に切断し、セッションを終了します。