代码之家  ›  专栏  ›  技术社区  ›  Scott Saad

在PowerShell中,检查Web服务器上的IP地址开关的好方法是什么?

  •  4
  • Scott Saad  · 技术社区  · 16 年前

    问题

    我们的网络主机提供商正在更改我们所在服务器的IP地址。我们得到了一个时间框架来确定何时进行转换,但没有确切的细节。因此,我们现在 穷人的 检查需要在浏览器上定期刷新页面,以查看我们的网站是否仍然存在。

    问题

    我们都是这里的程序员,需要手动检查,这让我非常痛苦。我知道如何用其他语言编写脚本,但我想知道是否有一种方法可以用 动力壳 解决这个问题。有人知道我会怎么做吗?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Steven Murawski    16 年前

    如果您可以在页面消失或没有预期值时发出警报,则可以使用类似这样的脚本

    $ip = 192.168.1.1
    $webclient = new-object System.Net.WebClient
    $regex = 'regular expression to match something on your page'
    $ping = new-object System.Net.NetworkInformation.Ping
    
    
    do 
    {
      $result = $ping.Send($ip)
      if ($result.status -ne 'TimedOut' )
      {
        $page = $webclient.downloadstring("http://$ip")
        if (($page -notmatch $regex) -or ($page -match '404') -or ($page -eq $null))
        { break}
      }
    } while ($true)
    
    write-host "The website has moved"
    
        2
  •  0
  •   aphoria    16 年前

    这将列出系统中每个网络适配器的IP地址。

    Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property IPAddress