다음을 통해 공유


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-ConnectionTargetName 매개 변수를 사용하여 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-ConnectionTargetName 매개 변수를 사용하여 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 개체를 반환합니다.

Boolean

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 발생합니다.