Powershell – Ping-MultipleTarget

ICMP 패킷을 이용하여 Ping 결과를 bool 로 리턴하는 Function을 작성하고, 이를 이용하여 지정된 범위 의 모든 주소에 Ping을 시도하여 Host들의 상태를 확인 한다.

param
(
	[Parameter(Mandatory=$true)]
	$BaseIp,
	$Start = 1,
	$End = 255,
	$Timeout = 100
)

Function Ping-Target
{
	param (
		[Parameter(Mandatory=$true)]
		[string]$HostNameOrAddress,
		[int]$Timeout = 100
		)

	$pingObject = New-Object System.Net.NetworkInformation.Ping
	$pingReply = $pingObject.Send($HostNameOrAddress, $Timeout)

	return $pingReply.Status -eq [System.Net.NetworkInformation.IPStatus]::Success
}

$Start..$End | %{ $BaseIp + $_ } |
	%{
		if ($(Ping-Target $_ $Timeout))
		{
			Write-Host $($_ + " .. Success") -ForegroundColor Green
		}
		else
		{
			Write-Host $($_ + " .. Fail") -ForegroundColor Red
		}
	}
Ping-MultipleTarget

Ping-MultipleTarget Sample.

답글 남기기

이메일 주소는 공개되지 않습니다.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.