远程工具示例

本节中的示例演示了远程工具的使用,并演示了示例输入和输出。

基本服务器命令

以下命令在计算机上启动远程会话。

命令使用 /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 参数,用于指定关键字 (keyword) 颜色文件的位置。

remote /c server06 debugit /k c:\remote_client.txt

颜色文件包含以下文本:

Registry
white, blue
Token
red, white

此文本指示远程工具显示带有“registry”一词的输出行, (蓝色背景上的白色文本中不区分大小写) ,并在白色背景上以红色文本显示带有“token”一词的输出行。

作为响应,远程工具将客户端连接到服务器会话,并显示以下消息。

**************************************
***********     REMOTE    ************
***********     CLIENT    ************
**************************************
Connected...

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

客户端现在可以向服务器计算机上的 NTSD 调试器发送命令。 命令的输出同时显示在客户端和服务器计算机上。

在客户端计算机上,带有“registry”一词的输出行在蓝色背景上以白色文本显示,在白色背景上以红色文本显示带有“内核”一词的输出行。

查询会话

远程工具包含一个查询参数 (/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]

从服务器计算机发送消息时,标签中会显示“Local”而不是计算机名称。

@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。 此命令会自动断开客户端的连接,然后结束会话。