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

PowerShell实战1:Ping_Test

2009-09-17 10:22 288 查看
功能:批量测试远程主机的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

结果:





本文出自 “面朝大海,春暖花开” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息