다음을 통해 공유


Test-Connection

하나 이상의 컴퓨터에 ICMP 에코 요청 패킷 또는 ping을 보냅니다.

구문

Default (기본값)

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]

Source

Test-Connection
    [-ComputerName] <String[]>
    [-Source] <String[]>
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]

Quiet

Test-Connection
    [-ComputerName] <String[]>
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

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

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

친숙한 ping 명령과 달리 Test-Connection PowerShell에서 조사할 수 있는 Win32_PingStatus 개체를 반환합니다. Quiet 매개 변수는 테스트된 각 연결에 대해 System.Boolean 개체 내에 있는 부울 값을 반환합니다. 여러 연결을 테스트하는 경우 불리언 값의 배열이 반환됩니다.

예제

예제 1: 원격 컴퓨터에 에코 요청 보내기

이 예제에서는 로컬 컴퓨터에서 Server01 컴퓨터로 에코 요청 패킷을 보냅니다.

Test-Connection -ComputerName Server01
Source        Destination     IPV4Address     IPV6Address  Bytes    Time(ms)
------        -----------     -----------     -----------  -----    --------
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       1

Test-Connection ComputerName 매개 변수를 사용하여 Server01 컴퓨터를 지정합니다.

예제 2: 여러 컴퓨터에 에코 요청 보내기

이 예제에서는 로컬 컴퓨터에서 여러 원격 컴퓨터로 ping을 보냅니다.

Test-Connection -ComputerName Server01, Server02, Server12

예제 3: 여러 컴퓨터에서 컴퓨터로 에코 요청 보내기

이 예제에서는 다른 원본 컴퓨터에서 단일 원격 컴퓨터인 Server01로 ping을 보냅니다.

Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01

Test-Connection 자격 증명 매개 변수를 사용하여 원본 컴퓨터에서 ping 요청을 보낼 권한이 있는 사용자의 자격 증명을 지정합니다. 이 명령 형식을 사용하여 여러 지점에서 연결 대기 시간을 테스트합니다.

예제 4: 매개 변수를 사용하여 테스트 명령 사용자 지정

이 예제에서는 Test-Connection 매개 변수를 사용하여 명령을 사용자 지정합니다. 로컬 컴퓨터는 원격 컴퓨터에 ping 테스트를 보냅니다.

Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32

Test-ConnectionComputerName 매개 변수를 사용하여 Server01을 지정합니다. Count 매개 변수는 2초 간격의 딜레이와 함께 세 개의 ping이 Server01 컴퓨터로 전송되는 것을 나타냅니다.

홉 수가 길거나 트래픽이 많은 네트워크 조건으로 인해 ping 응답이 평소보다 오래 걸릴 것으로 예상되는 경우 이러한 옵션을 사용할 수 있습니다.

예제 5: 백그라운드 작업으로 테스트 실행

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

$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}

Test-Connection 명령은 엔터프라이즈의 많은 컴퓨터를 ping합니다. ComputerName 매개 변수의 값은 Get-Content컴퓨터 이름 목록을 읽는 Servers.txt file 명령입니다. 이 명령은 AsJob 매개 변수를 사용하여 명령을 백그라운드 작업으로 실행하고 작업을 $job 변수에 저장합니다.

if 명령은 작업이 아직 실행되고 있지 않은지 확인합니다. 작업이 실행되고 있지 않으면 Receive-Job 결과를 가져오고 $Results 변수에 저장합니다.

예제 6: 자격 증명을 사용하여 원격 컴퓨터 Ping

이 명령은 Test-Connection cmdlet을 사용하여 원격 컴퓨터를 ping합니다.

Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify

이 명령은 자격 증명 매개 변수를 사용하여 원격 컴퓨터를 ping할 수 있는 권한이 있는 사용자 계정과 Impersonation 매개 변수를 지정하여 가장 수준을 식별변경합니다.

예제 7: 연결 테스트가 성공한 경우에만 세션 만들기

다음은 컴퓨터에 전송된 ping 중 하나 이상이 성공한 경우에만 Server01 컴퓨터에 세션을 만드는 예제입니다.

if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}

if 명령은 Test-Connection cmdlet을 사용하여 Server01 컴퓨터를 ping합니다. 이 명령은 Win32_PingStatus 개체 대신 부울 값을 반환하는 Quiet 매개 변수를 사용합니다. 4개의 ping 중 어느 것이 성공하면 값이 $true, 그렇지 않으면 $false.

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

매개 변수

-AsJob

이 cmdlet이 백그라운드 작업으로 실행됨을 나타냅니다. AsJob 매개 변수를 지정하면 명령이 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업 결과를 얻으려면 Receive-Job cmdlet을 사용합니다.

PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobsabout_Remote_Jobs참조하세요.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False

매개 변수 집합

Default
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False
Source
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-BufferSize

이 명령을 사용하여 보낸 버퍼의 크기(바이트)를 지정합니다. 기본값은 32입니다.

매개 변수 속성

형식:Int32
Default value:32
와일드카드 지원:False
DontShow:False
별칭:크기, 바이트, BS

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ComputerName

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

이 매개 변수는 PowerShell 리모팅을 사용하지 않습니다. 컴퓨터가 원격 명령을 실행하도록 구성되지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.

비고

ComputerName 매개 변수의 이름이 PowerShell 6.0 이상에서 TargetName으로 변경되었습니다.

매개 변수 속성

형식:

String[]

Default value:None
와일드카드 지원:False
DontShow:False
별칭:중국, 아이피 주소, __서버, 서버, 목적지

매개 변수 집합

(All)
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Count

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

매개 변수 속성

형식:Int32
Default value:4
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Credential

원본 컴퓨터에서 ping 요청을 보낼 수 있는 권한이 있는 사용자 계정을 지정합니다. User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 Get-Credential 개체를 입력합니다.

자격 증명 매개 변수는 Source 매개 변수가 명령에 사용되는 경우에만 유효합니다. 자격 증명은 대상 컴퓨터에 영향을 주지 않습니다.

매개 변수 속성

형식:PSCredential
Default value:Current user
와일드카드 지원:False
DontShow:False

매개 변수 집합

Source
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DcomAuthentication

이 cmdlet이 WMI와 함께 사용하는 인증 수준을 지정합니다. Test-Connection WMI를 사용합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 기본값입니다. Windows 인증
  • 없음. COM 인증 없음
  • 연결. 연결 수준 COM 인증
  • 호출. 호출 수준 COM 인증
  • 패킷. 패킷 수준 COM 인증
  • PacketIntegrity. 패킷 무결성 수준 COM 인증
  • PacketPrivacy. 패킷 개인 정보 수준 COM 인증
  • 변경되지 않았습니다. 이전 명령과 동일

기본값은 열거된 값이 4있는 Packet. 이 매개 변수의 값에 대한 자세한 내용은 AuthenticationLevel 열거형을 참조하세요.

매개 변수 속성

형식:AuthenticationLevel
Default value:Packet (enumerated value of 4)
허용되는 값:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
와일드카드 지원:False
DontShow:False
별칭:인증

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Delay

ping 사이의 간격(초)을 지정합니다.

매개 변수 속성

형식:Int32
Default value:1 (second)
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Impersonation

이 cmdlet이 WMI를 호출할 때 사용할 가장 수준을 지정합니다. Test-Connection WMI를 사용합니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 기본값입니다. 기본 가장입니다.
  • 익명. 호출자의 ID를 숨깁니다.
  • 식별하기. 개체가 호출자의 자격 증명을 쿼리할 수 있도록 허용합니다.
  • 흉내 내기. 개체가 호출자의 자격 증명을 사용할 수 있도록 허용합니다.

기본값은 가장.

매개 변수 속성

형식:ImpersonationLevel
Default value:Impersonate
허용되는 값:Default, Anonymous, Identify, Impersonate, Delegate
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Protocol

프로토콜을 지정합니다. 이 매개 변수에 허용되는 값은 DCOM 및 WSMan입니다.

매개 변수 속성

형식:String
Default value:None
허용되는 값:DCOM, WSMan
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Quiet

Quiet 매개 변수는 System.Boolean 개체의 부울 값을 반환합니다. 이 매개 변수를 사용하면 모든 오류가 억제됩니다.

테스트되는 각 연결은 불리언 값을 반환합니다. ComputerName 매개 변수가 여러 컴퓨터를 지정하는 경우 부울 값의 배열이 반환됩니다.

ping을 성공하면 반환됩니다.

모든 ping이 실패하면 $false 반환됩니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False

매개 변수 집합

Quiet
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Source

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

매개 변수 속성

형식:

String[]

Default value:Local computer
와일드카드 지원:False
DontShow:False
별칭:FCN, SRC

매개 변수 집합

Source
Position:1
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ThrottleLimit

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

제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.

매개 변수 속성

형식:Int32
Default value:32
와일드카드 지원:False
DontShow:False

매개 변수 집합

Default
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False
Source
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-TimeToLive

패킷을 전달할 수 있는 최대 시간을 지정합니다. 게이트웨이, 라우터 등의 모든 홉에 대해 TimeToLive 값이 1씩 감소합니다. 0이면 패킷이 삭제되고 오류가 반환됩니다. Windows기본값은 128. TimeToLive 매개 변수의 별칭은 TTL.

매개 변수 속성

형식:Int32
Default value:128 in Windows
와일드카드 지원:False
DontShow:False
별칭:TTL

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-WsmanAuthentication

이 cmdlet에서 WSMan 프로토콜을 사용할 때 사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 기초
  • CredSSP
  • 기본값
  • 요약
  • Kerberos
  • 교섭하다.

기본값은 Default입니다.

이 매개 변수의 값에 대한 자세한 내용은 AuthenticationMechanism 열거형참조하세요.

주의: 인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터에 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

매개 변수 속성

형식:String
Default value:Default
허용되는 값:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

None

개체를 이 cmdlet에 파이프로 연결할 수 없습니다.

출력

ManagementObject

기본적으로 이 cmdlet은 각 ping 회신에 대한 Win32_PingStatus 개체를 반환합니다.

System.Management.Automation.RemotingJob

이 cmdlet은 AsJob 매개 변수를 지정하는 경우 작업 개체를 반환합니다.

Boolean

Quiet 매개 변수를 사용하면 부울 값이 반환됩니다. cmdlet이 여러 연결을 테스트하는 경우 불리언 값의 배열을 반환합니다.

참고

이 cmdlet은 Win32_PingStatus 클래스를 사용합니다. Get-WmiObject Win32_PingStatus 명령은 Test-Connection 명령과 동일합니다.

Source 매개 변수 집합은 PowerShell 3.0에서 도입되었습니다.