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

时间:2008-10-09 21:35:13

标签: networking powershell

问题

我们的网络托管服务提供商正在更改我们所在服务器之一的IP地址。我们已经给出了开关何时进行的时间框架,但没有确切的细节。因此,我们当前的穷人的检查需要在浏览器上定期刷新页面,以查看我们的网站是否仍在那里。

问题

我们都是程序员,这让我觉得需要进行任何手动检查。我知道如何在其他语言中执行此操作,但想知道是否有办法在 PowerShell 中编写脚本来解决此问题。有谁知道我怎么会这样做?

2 个答案:

答案 0 :(得分:3)

如果您可以提醒页面是否已消失或没有预期值,您可以使用类似

的脚本
$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"

答案 1 :(得分:0)

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

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