您的位置:首页 > 运维架构 > Shell

PowerShell实战1:Ping_Test

2009-12-11 17:04 337 查看
功能:批量测试远程主机的Ping值,以及根据TTL值来判断是否为Windows主机。

使用:在C:\IP.txt中加入需要测试的主机IP或域名,一行一个。例如:


www.google.com
www.baidu.com
www.cha123.com
www.yahoo.com
www.msn.com

源码


function Ping_Test {
PROCESS {
$ping = $false
$results = Get-WmiObject -query `
"SELECT * FROM Win32_PingStatus WHERE Address = '$_'"
$RT = $results.ResponseTime
$TTL = $results.ResponseTimeToLive
foreach ($result in $results) {
if ($results.StatusCode -eq 0) {
if ($TTL -ge 98 -and $TTL -le 128)
{Write-Host "`n$_ Response Time=$RT ms, TTL=$TTL,It is a Windows host." -ForegroundColor Green }
else
{Write-Host "`n$_ Response Time=$RT ms, TTL=$TTL, It is NOT a Windows host." -ForegroundColor Blue}
}
else {
Write-Host "`n$_ Ping failed!" -ForegroundColor Red
}
}
}
}
cls
Get-Content c:\IP.txt | Ping_Test

结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: