Test-Connection
하나 이상의 컴퓨터에 ICMP 에코 요청 패킷 또는 ping을 보냅니다.
구문
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-Count <int>]
[-Delay <int>]
[-Repeat]
[-Quiet]
[-TimeoutSeconds <int>]
[-Detailed]
[<CommonParameters>]
Description
Test-Connection
cmdlet은 하나 이상의 원격 컴퓨터에 ICMP(Internet Control Message Protocol) 에코 요청 패킷 또는 ping을 보내고 에코 응답 응답을 반환합니다. 이 cmdlet을 사용하여 IP 네트워크를 통해 특정 컴퓨터에 연결할 수 있는지 여부를 확인할 수 있습니다.
Test-Connection
매개 변수를 사용하여 보내는 컴퓨터와 받는 컴퓨터를 모두 지정하고, 명령을 백그라운드 작업으로 실행하고, 시간 제한 및 ping 수를 설정하고, 연결 및 인증을 구성할 수 있습니다.
친숙한 ping 명령과 달리 Test-Connection
PowerShell에서 조사할 수 있는 TestConnectionCommand+PingStatus 개체를 반환합니다.
Quiet 매개변수는 테스트된 각 연결에 대해 System.Boolean 개체의 부울 값을 반환합니다. 여러 연결을 테스트하는 경우 불리언 값의 배열이 반환됩니다.
예제
예제 1: 원격 컴퓨터에 에코 요청 보내기
이 예제에서는 로컬 컴퓨터에서 Server01 컴퓨터로 에코 요청 패킷을 보냅니다.
Test-Connection -TargetName Server01 -IPv4
Destination: Server01
Ping Source Address Latency BufferSize Status
(ms) (B)
---- ------ ------- ------- ---------- ------
1 ADMIN1 10.59.137.44 24 32 Success
2 ADMIN1 10.59.137.44 39 32 Success
3 ADMIN1 * * * TimedOut
4 ADMIN1 10.59.137.44 28 32 Success
Test-Connection
TargetName 매개 변수를 사용하여 Server01 컴퓨터를 지정합니다.
IPv4 매개 변수는 테스트에 대한 프로토콜을 지정합니다.
일련의 TestConnectionCommand+PingStatus 개체가 대상 컴퓨터에서 ping 회신당 하나의 개체인 출력 스트림으로 전송됩니다.
예제 2: 여러 컴퓨터에 에코 요청 보내기
이 예제에서는 로컬 컴퓨터에서 여러 원격 컴퓨터로 ping을 보냅니다.
Test-Connection -TargetName Server01, Server02, Server12
예제 3: 매개 변수를 사용하여 테스트 명령 사용자 지정
이 예제에서는 Test-Connection
매개 변수를 사용하여 명령을 사용자 지정합니다. 로컬 컴퓨터는 원격 컴퓨터에 ping 테스트를 보냅니다.
Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256
Test-Connection
TargetName 매개 변수를 사용하여 Server01을 지정합니다.
Count 매개 변수는 2초 간격의 지연으로 Server01 컴퓨터에 세 번의 핑을 전송하도록 지정합니다.
홉 수가 길거나 트래픽이 많은 네트워크 조건으로 인해 ping 응답이 평소보다 오래 걸릴 것으로 예상되는 경우 이러한 옵션을 사용할 수 있습니다.
예제 4: 백그라운드 작업으로 테스트 실행
이 예제에서는 Test-Connection
명령을 PowerShell 백그라운드 작업으로 실행하는 방법을 보여줍니다.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
Start-Job
명령은 Test-Connection
cmdlet(커맨드릿)을 사용하여 엔터프라이즈 내 여러 컴퓨터를 핑(ping)합니다.
TargetName 매개 변수의 값은 Get-Content
파일에서 컴퓨터 이름 목록을 읽는 Servers.txt
명령입니다. 이 명령은 Start-Job
cmdlet을 사용하여 명령을 백그라운드 작업으로 실행하고 $job
변수에 작업을 저장합니다.
Receive-Job
명령은 작업이 완료될 때까지 -Wait
결과를 가져오고 $Results
변수에 저장하도록 지시됩니다.
예제 5: 연결 테스트에 성공한 경우에만 세션 만들기
다음은 컴퓨터에 전송된 ping 중 하나 이상이 성공한 경우에만 Server01 컴퓨터에 세션을 만드는 예제입니다.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
Test-Connection
cmdlet이 Server01
매개 변수가 제공된 상태로 컴퓨터를 ping합니다.
4개의 ping이 성공하면 결과 값이 $True
. ping이 모두 성공하지 않으면, 값이 $False
입니다.
Test-Connection
명령이 $True
값을 반환하는 경우 명령은 New-PSSession
cmdlet을 사용하여 PSSession만듭니다.
예제 6: Traceroute 매개 변수 사용
PowerShell 6.0에서 도입된 Traceroute 매개 변수는 TargetName 매개 변수를 사용하여 지정한 로컬 컴퓨터와 원격 대상 간의 경로를 매핑합니다.
Test-Connection -TargetName www.google.com -Traceroute
Target: google.com
Hop Hostname Ping Latency Status Source TargetAddress
(ms)
--- -------- ---- ------- ------ ------ -------------
1 172.20.0.1 1 4 Success Lira 172.217.9.174
1 172.20.0.1 2 3 Success Lira 172.217.9.174
1 172.20.0.1 3 2 Success Lira 172.217.9.174
2 12.108.153.193 1 3 Success Lira 172.217.9.174
2 12.108.153.193 2 3 Success Lira 172.217.9.174
2 12.108.153.193 3 2 Success Lira 172.217.9.174
3 12.244.85.177 1 11 Success Lira 172.217.9.174
3 12.244.85.177 2 12 Success Lira 172.217.9.174
3 12.244.85.177 3 12 Success Lira 172.217.9.174
4 * 1 14 DestinationNetw… Lira 172.217.9.174
4 * 2 * TimedOut Lira 172.217.9.174
4 * 3 20 DestinationNetw… Lira 172.217.9.174
5 * 1 * TimedOut Lira 172.217.9.174
5 * 2 15 DestinationNetw… Lira 172.217.9.174
5 * 3 * TimedOut Lira 172.217.9.174
6 * 1 18 DestinationNetw… Lira 172.217.9.174
6 * 2 * TimedOut Lira 172.217.9.174
6 * 3 16 DestinationNetw… Lira 172.217.9.174
7 * 1 * TimedOut Lira 172.217.9.174
7 * 2 * TimedOut Lira 172.217.9.174
7 * 3 * TimedOut Lira 172.217.9.174
8 * 1 * TimedOut Lira 172.217.9.174
8 * 2 * TimedOut Lira 172.217.9.174
8 * 3 * TimedOut Lira 172.217.9.174
9 * 1 * TimedOut Lira 172.217.9.174
9 * 2 * TimedOut Lira 172.217.9.174
9 * 3 * TimedOut Lira 172.217.9.174
10 * 1 * TimedOut Lira 172.217.9.174
10 * 2 * TimedOut Lira 172.217.9.174
10 * 3 * TimedOut Lira 172.217.9.174
11 172.217.9.174 1 23 Success Lira 172.217.9.174
11 172.217.9.174 2 21 Success Lira 172.217.9.174
11 172.217.9.174 3 22 Success Lira 172.217.9.174
Test-Connection
명령은 Traceroute 매개 변수를 사용하여 호출됩니다. 결과는 [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus]
개체로서 Success 출력 스트림에 출력됩니다.
예제 7: TCP 연결 테스트에 대한 자세한 출력 가져오기
Detailed 매개 변수를 사용하는 경우 이 cmdlet은 TCP 연결 시도의 상태에 대한 자세한 정보를 반환합니다.
Test-Connection bing.com -TCPPort 443 -Detailed -Count 4
Target: bing.com
Id Source Address Port Latency(ms) Connected Status
-- ------ ------- ---- ----------- --------- ------
1 circumflex 2620:1ec:c11::200 443 12 True Success
2 circumflex 2620:1ec:c11::200 443 14 True Success
3 circumflex 2620:1ec:c11::200 443 17 True Success
4 circumflex 2620:1ec:c11::200 443 17 True Success
매개 변수
-BufferSize
이 명령을 사용하여 보낸 버퍼의 크기(바이트)를 지정합니다. 기본값은 32입니다.
형식: | Int32 |
별칭: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Count
보낼 에코 요청 수를 지정합니다. 기본값은 4입니다.
형식: | Int32 |
Position: | Named |
Default value: | 4 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Delay
ping 사이의 간격(초)을 지정합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Detailed
Detailed 매개 변수를 사용하는 경우 이 cmdlet은 TCP 연결 시도의 상태에 대한 자세한 정보를 반환합니다.
이 매개 변수는 PowerShell 7.4에 추가되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DontFragment
이 매개 변수는 IP 헤더에서 조각화 금지 플래그를 설정합니다. 이 매개 변수를 BufferSize 매개 변수와 함께 사용하여 경로 MTU 크기를 테스트할 수 있습니다. 경로 MTU에 대한 자세한 내용은 위키백과에서 경로 MTU 발견 문서를 참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-IPv4
cmdlet이 테스트에 IPv4 프로토콜을 사용하도록 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-IPv6
cmdlet이 테스트에 IPv6 프로토콜을 사용하도록 강제합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MaxHops
ICMP 요청 메시지를 보낼 수 있는 최대 홉 수를 설정합니다. 기본값은 운영 체제에 의해 제어됩니다. Windows 10 이상의 기본값은 128홉입니다.
형식: | Int32 |
별칭: | Ttl, TimeToLive, Hops |
Position: | Named |
Default value: | 128 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MtuSize
이 매개 변수는 경로 MTU 크기를 검색하는 데 사용됩니다. cmdlet은 대상에 대한 경로 MTU 크기를 포함하는 PingReply#MTUSize 개체를 반환합니다. 경로 MTU에 대한 자세한 내용은 위키백과에서 경로 MTU 발견 문서를 참조하세요.
형식: | SwitchParameter |
별칭: | MtuSizeDetect |
Position: | Named |
Default value: | False |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Ping
cmdlet이 ping 테스트를 수행하도록 합니다.
Test-Connection
cmdlet의 기본 모드입니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | True |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Quiet
Quiet 매개 변수는 Boolean 값을 반환합니다. 이 매개 변수를 사용하면 모든 오류가 억제됩니다.
테스트되는 각 연결은 부울 값을 반환합니다. TargetName 매개변수가 여러 컴퓨터를 지정하는 경우 Boolean 값의 배열이 반환됩니다.
주어진 대상에 대한 ping 중 하나라도
지정된 대상에 대한 모든 ping을
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Repeat
cmdlet이 ping 요청을 지속적으로 보내도록 합니다. TargetName 값이 대상 배열인 경우 cmdlet은 첫 번째 대상에 대해서만 ping 요청을 반복합니다. 나머지 대상은 무시합니다. 이 매개 변수는 Count 매개 변수와 함께 사용할 수 없습니다.
형식: | SwitchParameter |
별칭: | Continuous |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ResolveDestination
cmdlet이 대상의 DNS 이름을 해결하려고 시도하도록 합니다. Traceroute 매개 변수와 함께 사용하면 가능한 경우 모든 중간 호스트의 DNS 이름도 검색됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Source
ping이 시작되는 컴퓨터의 이름을 지정합니다. 쉼표로 구분된 컴퓨터 이름 목록을 입력합니다. 기본값은 로컬 컴퓨터입니다.
메모
이 매개 변수는 PowerShell 버전 6 이상에서 지원되지 않습니다. 이 매개 변수를 제공하면 오류가 발생합니다.
형식: | String |
Position: | Named |
Default value: | Local computer |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TargetName
테스트할 컴퓨터를 지정합니다. 컴퓨터 이름을 입력하거나 IP 주소를 IPv4 또는 IPv6 형식으로 입력합니다.
형식: | String[] |
별칭: | ComputerName |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-TcpPort
TCP 연결 테스트에서 사용할 대상의 TCP 포트 번호를 지정합니다.
cmdlet은 대상의 지정된 포트에 대한 TCP 연결을 시도합니다.
- cmdlet은 연결이 이루어지면
$True
반환합니다. - 연결되지 않은 경우 cmdlet은
$False
반환합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TimeoutSeconds
테스트의 시간 제한 값을 설정합니다. 제한 시간이 만료되기 전에 응답을 받지 못하면 테스트가 실패합니다. 기본값은 5초입니다.
이 매개 변수는 PowerShell 6.0에서 도입되었습니다.
형식: | Int32 |
Position: | Named |
Default value: | 5 seconds |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Traceroute
cmdlet이 추적 경로 테스트를 수행하도록 합니다. 이 매개 변수를 사용하면 cmdlet은 TestConnectionCommand+TraceStatus
개체를 반환합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus
기본적으로 이 cmdlet은 각 ping 회신에 대한 TestConnectionCommand+PingStatus 개체를 반환합니다.
Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus
Traceroute 매개 변수를 사용하는 경우 이 cmdlet은 경로를 따라 각 ping 응답에 대해 TestConnectionCommand+TraceStatus 개체를 반환합니다.
Quiet 또는 TcpPort 매개 변수를 사용하는 경우, 이 cmdlet은 불리언 값을 반환합니다. cmdlet이 여러 연결을 테스트하는 경우 불리언 값의 배열을 반환합니다.
Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus
MtuSize 매개 변수를 사용하는 경우 이 cmdlet은 각 ping 회신에 대한 TestConnectionCommand+PingMtuStatus 개체를 반환합니다.
Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus
Detailed 매개 변수를 사용하는 경우 이 cmdlet은 TCP 연결 상태를 표시하는 TestConnectionCommand+TcpPortStatus 개체를 반환합니다.
참고
Linux에서 BufferSize 매개 변수 또는 MtuSize 매개 변수와 같은 기본값이 아닌 32바이트의 버퍼 크기를 설정하는 매개 변수 조합을 사용할 경우, sudo
필요할 수 있습니다. 이러한 경우에 Test-Command
는 sudo
이 필요하다는 메시지를 포함하여 예외를 발생시킵니다.
관련 링크
PowerShell