Test-Connection
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 |
기본값 |
현재 사용자 |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Delay <int>
Ping 간격을 초 단위로 지정합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
1(초) |
파이프라인 입력 적용 여부 |
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 |
기본값 |
로컬 컴퓨터 |
파이프라인 입력 적용 여부 |
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을 만듭니다.