Test-Connection
하나 이상의 컴퓨터에 ICMP 에코 요청 패킷 또는 ping을 보냅니다.
구문
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Credential <PSCredential>]
[-Source] <String[]>
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<CommonParameters>]
Description
cmdlet은 Test-Connection
하나 이상의 원격 컴퓨터에 ICMP(Internet Control Message Protocol) 에코 요청 패킷 또는 ping을 보내고 에코 응답 응답을 반환합니다. 이 cmdlet을 사용하여 IP 네트워크를 통해 특정 컴퓨터에 연결할 수 있는지 여부를 확인할 수 있습니다.
송신 컴퓨터와 수신 컴퓨터를 모두 지정하고, 명령을 백그라운드 작업으로 실행하고, 시간 제한 및 ping 수를 설정하고, 연결 및 인증을 구성하는 매개 변수 Test-Connection
를 사용할 수 있습니다.
친숙한 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-Connection
는 ComputerName 매개 변수를 사용하여 Server01을 지정합니다. Count 매개 변수는 3개의 ping이 2초 간격의 지연으로 Server01 컴퓨터로 전송되도록 지정합니다.
홉 수가 길거나 트래픽이 많은 네트워크 조건으로 인해 ping 응답이 평소보다 오래 걸릴 것으로 예상되는 경우 이러한 옵션을 사용할 수 있습니다.
예제 5: 백그라운드 작업으로 테스트 실행
이 예제에서는 PowerShell 백그라운드 작업으로 명령을 실행하는 Test-Connection
방법을 보여줍니다.
$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}
이 Test-Connection
명령은 엔터프라이즈의 많은 컴퓨터를 ping합니다. ComputerName 매개 변수의 값은 컴퓨터 이름 Servers.txt file
목록을 읽는 Get-Content
명령입니다. 이 명령은 AsJob 매개 변수를 사용하여 명령을 백그라운드 작업으로 실행하고 변수에 $job
작업을 저장합니다.
이 if
명령은 작업이 아직 실행되고 있지 않은지 확인합니다. 작업이 실행 Receive-Job
되고 있지 않으면 결과를 가져오고 변수에 $Results
저장합니다.
예제 6: 자격 증명을 사용하여 원격 컴퓨터 Ping
이 명령은 cmdlet을 Test-Connection
사용하여 원격 컴퓨터를 ping합니다.
Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify
이 명령은 자격 증명 매개 변수를 사용하여 원격 컴퓨터를 ping할 수 있는 권한이 있는 사용자 계정과 가장 수준을 식별으로 변경하는 Impersonation 매개 변수를 지정합니다.
예제 7: 연결 테스트가 성공한 경우에만 세션 만들기
다음은 컴퓨터에 전송된 ping 중 하나 이상이 성공한 경우에만 Server01 컴퓨터에 세션을 만드는 예제입니다.
if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}
이 if
명령은 cmdlet을 Test-Connection
사용하여 Server01 컴퓨터를 ping합니다. 이 명령은 Win32_PingStatus 개체 대신 부울 값을 반환하는 Quiet 매개 변수를 사용합니다. 값은 $True
4개의 ping 중 어느 것이 성공하고, 그렇지 않으면 $False
.
명령이 Test-Connection
값을 $True
반환하는 경우 명령은 cmdlet을 New-PSSession
사용하여 PSSession을 만듭니다.
매개 변수
-AsJob
이 cmdlet이 백그라운드 작업으로 실행됨을 나타냅니다. AsJob 매개 변수를 지정하면 이 명령은 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업 결과를 얻으려면 cmdlet을 Receive-Job
사용합니다.
PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 및 about_Remote_Jobs 참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-BufferSize
이 명령을 사용하여 보낸 버퍼의 크기(바이트)를 지정합니다. 기본값은 32입니다.
형식: | Int32 |
별칭: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ComputerName
ping할 컴퓨터를 지정합니다. 컴퓨터 이름을 입력하거나 IP 주소를 IPv4 또는 IPv6 형식으로 입력합니다. 와일드카드 문자는 허용되지 않습니다. 이 매개 변수는 필수입니다.
이 매개 변수는 PowerShell 원격을 사용하지 않습니다. 컴퓨터가 원격 명령을 실행하도록 구성되지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.
참고 항목
ComputerName 매개 변수의 이름이 PowerShell 6.0 이상에서 TargetName으로 변경되었습니다.
형식: | String[] |
별칭: | CN, IPAddress, __SERVER, Server, Destination |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Count
보낼 에코 요청 수를 지정합니다. 기본값은 4입니다.
형식: | Int32 |
Position: | Named |
Default value: | 4 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Credential
원본 컴퓨터에서 ping 요청을 보낼 수 있는 권한이 있는 사용자 계정을 지정합니다. User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서와 같은 PSCredential 개체를 Get-Credential
입력합니다.
자격 증명 매개 변수는 원본 매개 변수가 명령에 사용되는 경우에만 유효합니다. 자격 증명은 대상 컴퓨터에 영향을 주지 않습니다.
형식: | PSCredential |
Position: | Named |
Default value: | Current user |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DcomAuthentication
이 cmdlet이 WMI와 함께 사용하는 인증 수준을 지정합니다.
Test-Connection
는 WMI를 사용합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- Default입니다. Windows 인증
- 없음. COM 인증 없음
- 연결. 연결 수준 COM 인증
- 호출합니다. 호출 수준 COM 인증
- 패킷. 패킷 수준 COM 인증
- PacketIntegrity. 패킷 개인 정보 수준 COM 인증
- PacketPrivacy. 패킷 개인 정보 수준 COM 인증
- 변경되지 않았습니다. 이전 명령과 동일
기본값은 열거형 값이 4인 Packet입니다. 이 매개 변수의 값에 대한 자세한 내용은 AuthenticationLevel 열거형을 참조하세요.
형식: | AuthenticationLevel |
별칭: | Authentication |
허용되는 값: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet (enumerated value of 4) |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Delay
ping 사이의 간격(초)을 지정합니다.
형식: | Int32 |
Position: | Named |
Default value: | 1 (second) |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Impersonation
이 cmdlet이 WMI를 호출할 때 사용할 가장 수준을 지정합니다. Test-Connection
는 WMI를 사용합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- Default입니다. 기본 가장입니다.
- 익명. 호출자의 ID를 숨깁니다.
- 식별합니다. 개체가 호출자의 자격 증명을 쿼리할 수 있습니다.
- 가장합니다. 개체가 호출자의 자격 증명을 사용할 수 있습니다.
기본값은 Impersonate입니다.
형식: | ImpersonationLevel |
허용되는 값: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Protocol
프로토콜을 지정합니다. 이 매개 변수에 허용되는 값은 DCOM 및 WSMan입니다.
형식: | String |
허용되는 값: | DCOM, WSMan |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Quiet
Quiet 매개 변수는 System.Boolean 개체의 부울 값을 반환합니다. 이 매개 변수를 사용하면 모든 오류가 표시되지 않습니다.
테스트되는 각 연결은 부울 값을 반환합니다. ComputerName 매개 변수가 여러 컴퓨터를 지정하는 경우 부울 값의 배열이 반환됩니다.
ping이 $True
성공하면 반환됩니다.
모든 ping이 실패 $False
하면 반환됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Source
ping이 시작되는 컴퓨터의 이름을 지정합니다. 쉼표로 구분된 컴퓨터 이름 목록을 입력합니다. 기본값은 로컬 컴퓨터입니다.
형식: | String[] |
별칭: | FCN, SRC |
Position: | 1 |
Default value: | Local computer |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ThrottleLimit
이 명령을 실행하도록 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수를 생략하거나 0 값을 입력하면 기본값 32가 사용됩니다.
제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.
형식: | Int32 |
Position: | Named |
Default value: | 32 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TimeToLive
패킷을 전달할 수 있는 최대 시간을 지정합니다. 게이트웨이, 라우터 등의 모든 홉에 대해 TimeToLive 값이 1씩 감소합니다. 0이면 패킷이 삭제되고 오류가 반환됩니다. Windows에서 기본값은 128입니다. TimeToLive 매개 변수의 별칭은 TTL입니다.
형식: | Int32 |
별칭: | TTL |
Position: | Named |
Default value: | 128 in Windows |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WsmanAuthentication
이 cmdlet에서 WSMan 프로토콜을 사용할 때 사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- Basic
- CredSSP
- 기본값
- 다이제스트
- Kerberos
- 교섭하다.
기본값은 Default입니다.
이 매개 변수의 값에 대한 자세한 내용은 AuthenticationMechanism 열거형을 참조 하세요.
주의: 인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터로 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | String |
허용되는 값: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | Default |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
기본적으로 이 cmdlet은 각 ping 회신에 대한 Win32_PingStatus 개체를 반환합니다.
System.Management.Automation.RemotingJob
AsJob 매개 변수를 지정하는 경우 이 cmdlet은 작업 개체를 반환합니다.
Quiet 매개 변수를 사용하면 부울 값이 반환됩니다. cmdlet이 여러 연결을 테스트하는 경우 부울 값의 배열을 반환합니다.
참고
이 cmdlet은 Win32_PingStatus 클래스를 사용합니다. Get-WMIObject Win32_PingStatus
명령은 명령과 Test-Connection
동일합니다.
원본 매개 변수 집합은 PowerShell 3.0에서 도입되었습니다.
관련 링크
PowerShell