ICMP 에코 요청 패킷("ping")을 하나 이상의 컴퓨터로 전달합니다.

구문

Test-Connection [-ComputerName] <string[]> [[-Source] <string[]>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-BufferSize <int>] [-Count <int>] [-Credential <PSCredential>] [-Delay <int>] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Quiet] [-ThrottleLimit <int>] [-TimeToLive <int>] [<CommonParameters>]

설명

Test-Connection cmdlet은 ICMP(Internet Control Message Protocol) 에코 요청 패킷("ping")을 하나 이상의 원격 컴퓨터로 전달하고 에코 응답을 반환합니다. 이 cmdlet을 사용하여 특정 컴퓨터가 IP(인터넷 프로토콜) 네트워크를 통해 연결될 수 있는지 여부를 결정할 수 있습니다.

Test-Connection 매개 변수를 사용하여 보내고 받는 컴퓨터를 지정하고, 명령을 백그라운드 작업으로 실행하고, 제한 시간 및 ping 수를 설정하고, 연결 및 인증을 구성할 수 있습니다.

일반적인 "ping" 명령과는 달리 Test-Connection은 Windows PowerShell에서 조사할 수 있는 Win32_PingStatus 개체를 반환하지만, Quiet 매개 변수를 사용하여 부울 값만 반환되도록 할 수 있습니다.

매개 변수

-AsJob

명령을 백그라운드 작업으로 실행합니다.

참고: 이 매개 변수를 사용하려면 로컬 및 원격 컴퓨터를 원격을 사용하도록 구성해야 하고 Windows Vista 이상의 경우 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 열어야 합니다. 자세한 내용은 about_Remote_Requirements를 참조하십시오.

AsJob 매개 변수를 사용하는 경우 이 명령은 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업은 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과는 자동으로 로컬 컴퓨터로 반환됩니다. 작업 결과를 가져오려면 Receive-Job cmdlet을 사용합니다.

Windows PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 및 about_Remote_Jobs를 참조하십시오.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Authentication <AuthenticationLevel>

WMI 연결에 사용할 인증 수준을 지정합니다. Test-Connection은 WMI를 사용합니다.)

유효한 값은 다음과 같습니다.

Unchanged: 인증 수준이 이전 명령과 동일합니다.

Default: Windows 인증

None: COM 인증 안 함

Connect: 연결 수준 COM 인증

Call: 호출 수준 COM 인증

Packet: 패킷 수준 COM 인증

PacketIntegrity: 패킷 무결성 수준 COM 인증

PacketPrivacy: 패킷 개인 정보 수준 COM 인증

필수 여부

false

위치

named

기본값

4

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-BufferSize <int>

이 명령과 함께 보낸 버퍼의 크기(바이트)를 지정합니다. 기본값은 32입니다.

필수 여부

false

위치

named

기본값

32

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ComputerName <string[]>

Ping할 컴퓨터를 지정합니다. 컴퓨터 이름을 입력하거나 IP 주소를 IPv4 또는 IPv6 형식으로 입력합니다. 와일드카드 문자는 사용할 수 없습니다. 이 매개 변수는 필수 사항입니다.

이 매개 변수는 Windows PowerShell 원격에 독립적입니다. 원격 명령을 실행하도록 컴퓨터를 구성하지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Count <int>

보낼 에코 요청의 수를 지정합니다. 기본값은 4입니다.

필수 여부

false

위치

named

기본값

4

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Credential <PSCredential>

이 작업을 수행할 수 있는 권한을 가진 사용자 계정을 지정합니다. "User01" 또는 "Domain01\User01"과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에 의해 생성된 것과 같은 PSCredential 개체를 입력합니다.

필수 여부

false

위치

named

기본값

Current user

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Delay <int>

Ping 간격을 초 단위로 지정합니다.

필수 여부

false

위치

named

기본값

1 (second)

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Impersonation <ImpersonationLevel>

WMI를 호출할 때 사용할 가장 수준을 지정합니다. Test-Connection은 WMI를 사용합니다.) 기본값은 "Impersonate"입니다.

유효한 값은 다음과 같습니다.

Default: 기본 가장

Anonymous: 호출자의 ID를 숨깁니다.

Identify: 개체가 호출자의 자격 증명을 쿼리할 수 있도록 허용합니다.

Impersonate: 개체가 호출자의 자격 증명을 사용할 수 있도록 허용합니다.

필수 여부

false

위치

named

기본값

3

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Quiet

모든 오류를 무시하고 ping이 성공하면 $True를, 모든 ping이 실패하면 $False를 반환합니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Source <string[]>

Ping이 시작되는 컴퓨터의 이름을 지정합니다. 쉼표로 구분된 컴퓨터 이름 목록을 입력합니다. 기본값은 로컬 컴퓨터입니다.

필수 여부

false

위치

2

기본값

Local computer

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ThrottleLimit <int>

이 명령을 실행하기 위해 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수를 생략하거나 0을 입력하면 기본값인 32가 사용됩니다.

스로틀 한도는 현재 명령에만 적용되며 세션이나 컴퓨터에는 적용되지 않습니다.

필수 여부

false

위치

named

기본값

32

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-TimeToLive <int>

각 에코 요청 패킷("Ping")이 활성 상태로 있을 수 있는 최대 시간(초)을 지정합니다. 기본값은 80초입니다. TimeToLive 매개 변수의 별칭은 TTL입니다.

필수 여부

false

위치

named

기본값

80

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

입력을 이 cmdlet으로 파이프할 수 없습니다.

출력

System.Management.ManagementObject#root\cimv2\Win32_PingStatus, System.Management.Automation.RemotingJob, System.Boolean

AsJob 매개 변수를 사용하는 경우 cmdlet은 작업 개체를 반환합니다. Quiet 매개 변수를 사용하는 경우 부울이 반환되고 그렇지 않으면 각 ping에 대해 Win32_PingStatus가 반환됩니다.

참고

이 cmdlet은 Win32_PingStatus 클래스를 사용합니다. "get-wmiojbect win32_pingstatus" 명령은 Test-Connection 명령과 동일합니다.

예 1

C:\PS>test-connection server01

Source        Destination     IPV4Address     IPV6Address  Bytes    Time(ms)
------        -----------     -----------     -----------  -----    --------
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       1

설명
-----------
이 명령은 로컬 컴퓨터의 에코 요청 패킷("ping")을 Server01 컴퓨터로 보냅니다. 이 명령은 ComputerName 매개 변수를 사용하여 Server01 컴퓨터를 지정하지만 선택 사항인 매개 변수 이름은 생략합니다.






예 2

C:\PS>test-connection -computername server01, server02, server12 -credential domain01\user01

설명
-----------
이 명령은 로컬 컴퓨터의 ping을 여러 원격 컴퓨터로 보냅니다. Credential 매개 변수를 사용하여 모든 원격 컴퓨터에서 ping을 실행할 수 있는 권한을 가진 사용자 계정을 지정합니다.






예 3

C:\PS>test-connection -source Server02, Server 12, localhost -computername Server01

설명
-----------
이 명령은 여러 원본 컴퓨터의 ping을 하나의 원격 컴퓨터(Server01)로 보냅니다. 이 명령 형식을 사용하여 여러 지점으로부터의 연결 지연을 테스트할 수 있습니다.






예 4

C:\PS>test-connection -computername Server01 -count 3 -delay 2 -TTL 256 -buffersize 256 -throttle 32

설명
-----------
이 명령은 로컬 컴퓨터의 ping 3개를 Server01 컴퓨터로 보냅니다. 또한 Test-Connection의 매개 변수를 사용하여 명령을 사용자 지정합니다.

홉 수가 많거나 네트워크 연결의 트래픽이 많아 ping 응답을 평소보다 오래 지속해야 할 경우 이 명령 형식을 사용합니다.






예 5

C:\PS>$job = test-connection -computername (get-content servers.txt) -asjob

C:\PS> if ($job.jobstateinfo.state -ne "Running") {$results = receive-job $job}

설명
-----------
이 예에서는 Test-Connection 명령을 Windows PowerShell 백그라운드 작업으로 실행하는 방법을 보여 줍니다. 

첫 번째 명령은 Test-Connection cmdlet을 사용하여 기업 내의 여러 컴퓨터를 ping합니다. ComputerName 매개 변수의 값은 Servers.txt 파일에서 컴퓨터 이름 목록을 읽는 Get-Content 명령입니다. 이 명령은 AsJob 매개 변수를 사용하여 명령을 백그라운드 작업으로 실행합니다.

두 번째 명령은 작업이 아직 실행되고 있지 않은지 확인하고, 실행 중이 아니면 Receive-Job 명령을 사용하여 결과를 가져오고 $results 변수에 저장합니다.






예 6

C:\PS>test-connection Server55 -credential domain55\user01 -impersonation Identify

설명
-----------
이 명령은 Test-Connection cmdlet을 사용하여 원격 컴퓨터를 ping합니다. 이 명령은 Credential 매개 변수를 사용하여 원격 컴퓨터를 ping할 수 있는 권한을 가진 사용자 계정을 지정하고, Impersonation 매개 변수를 사용하여 가장 수준을 "Identify"로 변경합니다.






예 7

C:\PS>if (test-connection -computername Server01 -quiet) {new-pssession Server01}

설명
-----------
이 명령은 컴퓨터로 보낸 ping 중 적어도 하나 이상이 성공해야 Server01에서 PSSession을 만듭니다.

명령은 Test-Connection cmdlet을 사용하여 Server01 컴퓨터를 ping합니다. 이때 Quiet 매개 변수를 사용하는데, 그러면 Win32_PingStatus 개체 대신 부울 값이 반환됩니다. 네 ping 중 하나가 성공하면 값은 $True이고, 그렇지 않으면 false입니다.

Test-Connection 명령이 $True 값을 반환하는 경우 이 명령은 New-PSSession cmdlet을 사용하여 PSSession을 만듭니다.






참고 항목




목차