Test-Connection
하나 이상의 컴퓨터에 ICMP 에코 요청 패킷 또는 ping을 보냅니다.
구문
Test-Connection
[-ComputerName] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-ComputerName] <String[]>
[-Source] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Credential <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-ComputerName] <String[]>
[-Authentication <AuthenticationLevel>]
[-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-Connection
TargetName 매개 변수를 사용하여 Server01을 지정합니다.
Count 매개 변수는 지연 2초 간격으로 Server01 컴퓨터로 전송되는 세 개의 ping을 지정합니다.
홉 수가 길거나 트래픽이 많은 네트워크 조건으로 인해 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 매개 변수의 값은 Servers.txt file
컴퓨터 이름 목록을 읽는 Get-Content
명령입니다. 이 명령은 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이 백그라운드 작업으로 실행됨을 나타냅니다.
이 매개 변수를 사용하려면 원격으로 로컬 및 원격 컴퓨터를 구성해야 하며 Windows Vista 이상 버전의 Windows 운영 체제에서는 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 열어야 합니다. 자세한 내용은 about_Remote_Requirements참조하세요.
AsJob 매개 변수를 지정하면 명령이 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업이 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과가 자동으로 로컬 컴퓨터로 반환됩니다. 작업 결과를 얻으려면 Receive-Job
cmdlet을 사용합니다.
PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 및 about_Remote_Jobs참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Authentication
WMI 연결에 사용되는 인증 수준을 지정합니다.
Test-Connection
WMI를 사용합니다.
유효한 값은 다음과 같습니다.
- 변경되지 않은: 인증 수준은 이전 명령과 동일합니다.
- 기본: Windows 인증.
- 없음: COM 인증 없음
- Connect: 연결 수준 COM 인증입니다.
- 통화: 통화 수준 COM 인증입니다.
- 패킷: 패킷 수준 COM 인증입니다.
- PacketIntegrity: 패킷 무결성 수준 COM 인증입니다.
- PacketPrivacy: 패킷 개인 정보 수준 COM 인증입니다.
기본값은 열거된 값이 4있는 Packet. 이 매개 변수의 값에 대한 자세한 내용은 AuthenticationLevel 열거형을 참조하세요.
형식: | AuthenticationLevel |
허용되는 값: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet (enumerated value of 4) |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-BufferSize
이 명령을 사용하여 보낸 버퍼의 크기(바이트)를 지정합니다. 기본값은 32입니다.
형식: | Int32 |
별칭: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ComputerName
ping할 컴퓨터를 지정합니다. 컴퓨터 이름을 입력하거나 IP 주소를 IPv4 또는 IPv6 형식으로 입력합니다. 와일드카드 문자는 허용되지 않습니다. 이 매개 변수는 필수입니다.
이 매개 변수는 PowerShell 원격을 사용하지 않습니다. 컴퓨터가 원격 명령을 실행하도록 구성되지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.
형식: | 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과 같은 사용자 이름을 입력하거나 Get-Credential
cmdlet에서 PSCredential 개체를 입력합니다.
자격 증명 매개 변수는 Source 매개 변수가 명령에 사용되는 경우에만 유효합니다. 자격 증명은 대상 컴퓨터에 영향을 주지 않습니다.
형식: | PSCredential |
Position: | Named |
Default value: | Current user |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Delay
ping 사이의 간격(초)을 지정합니다.
형식: | Int32 |
Position: | Named |
Default value: | 1 (second) |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Impersonation
이 cmdlet이 WMI를 호출할 때 사용할 가장 수준을 지정합니다.
Test-Connection
WMI를 사용합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 기본
. 기본 가장입니다. - 익명
. 호출자의 ID를 숨깁니다. - 식별합니다. 개체가 호출자의 자격 증명을 쿼리할 수 있도록 허용합니다.
- 가장. 개체가 호출자의 자격 증명을 사용할 수 있도록 허용합니다.
기본값은 가장.
형식: | ImpersonationLevel |
허용되는 값: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Quiet
Quiet 매개 변수는 System.Boolean 개체의 부울 값을 반환합니다. 이 매개 변수를 사용하면 모든 오류가 표시되지 않습니다.
테스트되는 각 연결은 부울 값을 반환합니다. ComputerName 매개 변수가 여러 컴퓨터를 지정하는 경우 부울 값의 배열이 반환됩니다.
ping을
모든 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.
형식: | Int32 |
별칭: | TTL |
Position: | Named |
Default value: | 128 in Windows |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
이 cmdlet에 입력을 파이프할 수 없습니다.
출력
이 cmdlet은 AsJob 매개 변수를 지정하는 경우 작업 개체를 반환합니다.
Quiet 매개 변수를 지정하면 부울 값이 반환됩니다. 여러 연결을 테스트하는 경우 부울 값의 배열이 반환됩니다. 그렇지 않으면 Test-Connection
각 ping에 대한 Win32_PingStatus 개체를 반환합니다.
참고
이 cmdlet은 Win32_PingStatus 클래스를 사용합니다.
Get-WMIObject Win32_PingStatus
명령은 Test-Connection
명령과 동일합니다.
Source 매개 변수 집합은 PowerShell 3.0에서 도입되었습니다.