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
cmdlet은 Test-Connection
하나 이상의 원격 컴퓨터에 ICMP(Internet Control Message Protocol) 에코 요청 패킷 또는 ping을 보내고 에코 응답 응답을 반환합니다. 이 cmdlet을 사용하여 IP 네트워크를 통해 특정 컴퓨터에 연결할 수 있는지 여부를 확인할 수 있습니다.
송신 컴퓨터와 수신 컴퓨터를 모두 지정하고, 명령을 백그라운드 작업으로 실행하고, 시간 제한 및 ping 수를 설정하고, 연결 및 인증을 구성하는 매개 변수 Test-Connection
를 사용할 수 있습니다.
친숙한 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 매개 변수는 3개의 ping이 2초 간격의 지연으로 Server01 컴퓨터로 전송되도록 지정합니다.
홉 수가 길거나 트래픽이 많은 네트워크 조건으로 인해 ping 응답이 평소보다 오래 걸릴 것으로 예상되는 경우 이러한 옵션을 사용할 수 있습니다.
예제 4: 백그라운드 작업으로 테스트 실행
이 예제에서는 PowerShell 백그라운드 작업으로 명령을 실행하는 Test-Connection
방법을 보여줍니다.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
이 Start-Job
명령은 cmdlet을 Test-Connection
사용하여 엔터프라이즈의 많은 컴퓨터를 ping합니다.
TargetName 매개 변수의 값은 파일에서 Servers.txt
컴퓨터 이름 목록을 읽는 명령입니다Get-Content
. 이 명령은 cmdlet을 Start-Job
사용하여 명령을 백그라운드 작업으로 실행하고 변수에 $job
작업을 저장합니다.
이 Receive-Job
명령은 작업이 완료될 때까지 지시된 -Wait
다음 결과를 가져오고 변수에 $Results
저장합니다.
예제 5: 연결 테스트에 성공한 경우에만 세션 만들기
다음은 컴퓨터에 전송된 ping 중 하나 이상이 성공한 경우에만 Server01 컴퓨터에 세션을 만드는 예제입니다.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
이 cmdlet은 Test-Connection
Quiet 매개 변수가 Server01
제공된 상태에서 컴퓨터를 ping합니다.
결과 값은 $True
4개의 ping 중에서 성공하는 경우입니다. ping이 성공하지 못하면 값은 .입니다 $False
.
명령이 Test-Connection
값을 $True
반환하는 경우 명령은 cmdlet을 New-PSSession
사용하여 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]
결과는 성공 출력 스트림에 출력됩니다.
예제 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 테스트를 수행하도록 합니다. cmdlet의 기본 모드 Test-Connection
입니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | True |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Quiet
Quiet 매개 변수는 부울 값을 반환합니다. 이 매개 변수를 사용하면 모든 오류가 표시되지 않습니다.
테스트되는 각 연결은 부울 값을 반환합니다. TargetName 매개 변수가 여러 컴퓨터를 지정하면 부울 값 배열이 반환됩니다.
지정된 대상에 대한 ping이 성공 $True
하면 반환됩니다.
지정된 대상에 대한 모든 ping이 실패 $False
하면 반환됩니다.
형식: | 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 매개 변수 또는 MtuSizeDetect 매개 변수 집합과 매개 변수의 조합을 사용하여 기본값이 아닌 버퍼 크기가 32바이트일 수 있습니다sudo
. 이 경우 Test-Command
필수임을 나타내는 메시지와 함께 예외가 sudo
발생합니다.
관련 링크
PowerShell