Поделиться через


Примеры средств удаленной отладки

В примерах в этом разделе показано использование средства Remote и показаны примеры входных и выходных данных.

Базовая серверная команда

Следующая команда запускает удаленный сеанс на компьютере.

Команда использует параметр /s для указания команды на стороне сервера. Он использует команду cmd для запуска командной оболочки Windows (Cmd.exe) и присваивает имя сеансу test1.

remote /s cmd test1

В ответ средство Remote запускает сеанс и отображает команду, которую клиенты будут использовать для подключения к сеансу.

**************************************
***********     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

В ответ средство Remote отображает сообщение о том, что клиентский компьютер подключен к сеансу на серверном компьютере. В сообщении отображается имя компьютера сервера и локального пользователя (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 , чтобы разрешить подключаться к сеансу только администраторам компьютера и определенному пользователю User03 в Domain01. Он использует параметры /f и /b для указания черного текста (переднего плана) на белом фоне.

Наконец, команда использует параметр /-v , чтобы сделать сеанс невидимым для пользовательских запросов. Сеансы отладчика отображаются по умолчанию.

remote /s "ntsd -d -v" DebugIt /u Administrators /u Domain01\User03 
/f black /b white /-v

В ответ средство Remote создает сеанс с именем 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 отобразить строки выходных данных со словом "реестр" (без учета регистра) в белом тексте на синем фоне и отобразить строки выходных данных со словом "token" в красном тексте на белом фоне.

В ответ средство Remote подключает клиент к сеансу сервера и выводит следующее сообщение.

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

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

Теперь клиент может отправлять команды отладчику NTSD на серверном компьютере. Выходные данные команды отображаются на клиентском и серверном компьютерах.

Строки выходных данных со словом "реестр" отображаются на клиентском компьютере белым текстом на синем фоне, а строки выходных данных со словом "ядро" — красным текстом на белом фоне.

Запрос к сеансу

Средство Remote включает параметр запроса (/q), который отображает список удаленных сеансов на определенном компьютере. Отображение включает только видимые сеансы (сеансы отладчика, запущенные без параметра /-v , и сеансы без отладчика, запущенные с параметром /v ).

Вы можете запросить сеансы с сервера или клиентских компьютеров. Необходимо указать имя компьютера даже при запросе сеансов на локальном компьютере.

Следующая команда запрашивает сеансы на локальном компьютере Server04.

remote /q Server04

В ответ средство Remote сообщает, что на локальном компьютере не выполняются удаленные сеансы.

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. Эта команда автоматически отключает клиенты, а затем завершает сеанс.