PowerShellでPINGチェック (WMI)

テキストファイルに一行ずつ羅列されたコンピュータ名一覧からPING応答しないものだけ表示するPowerShellスクリプト

Win32_PingStatus を使用するとスマートですね。

$ComputerListFileContent = get-content "ComputerList.txt"

foreach ($Computer in $ComputerListFileContent) {
	$computer=$computer.trim()
	$pingresult = gwmi Win32_PingStatus -filter "Address='$computer'"
	if($pingresult.StatusCode -ne 0){
		Write-Host "NotResponding $($computer)"
	}
}