다음을 통해 공유


원격 도구 예제

이 섹션의 예제에서는 원격 도구를 사용하고 샘플 입력 및 출력을 보여 줍니다.

기본 서버 명령

다음 명령은 컴퓨터에서 원격 세션을 시작합니다.

명령은 /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"는 디버거 옵션과 함께 디버거를 시작하는 콘솔 명령입니다. 콘솔 명령에 공백이 포함되어 있으므로 따옴표로 묶습니다. 명령에는 세션의 이름인 디버그가 포함됩니다.

이 명령은 /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 및 원격 세션의 이름 디버그를 지정 합니다.

명령에는 키워드(keyword) 색 파일의 위치를 지정하는 /k 매개 변수도 포함됩니다.

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

색 파일에는 다음 텍스트가 포함됩니다.

Registry
white, blue
Token
red, white

이 텍스트는 원격 도구에 파란색 배경의 흰색 텍스트에 "registry"(대/소문자 구분 안 함)라는 단어가 있는 출력 줄을 표시하고 흰색 배경에 빨간색 텍스트로 "토큰"이라는 단어가 있는 출력 줄을 표시하도록 지시합니다.

이에 대한 응답으로 원격 도구는 클라이언트를 서버 세션에 연결하고 다음 메시지를 표시합니다.

**************************************
***********     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 입력합니다. 이 명령은 클라이언트의 연결을 자동으로 끊은 다음 세션을 종료합니다.