Networking 什么';在PowerShell中检查Web服务器上的IP地址开关的好方法是什么? 问题

Networking 什么';在PowerShell中检查Web服务器上的IP地址开关的好方法是什么? 问题,networking,powershell,Networking,Powershell,我们的web主机提供商正在更改我们所在服务器之一的IP地址。我们已经得到了一个时间框架,何时转换将发生,但没有确切的细节。因此,我们目前的穷人支票要求定期在浏览器上刷新页面,以查看我们的网站是否仍然存在 问题: 我们都是这里的程序员,任何手动检查都是必需的,这让我很难受。我知道如何在其他语言中实现这一点,但我想知道是否有办法在PowerShell中编写脚本来解决此问题。有人知道我会怎么做吗?这将列出系统中每个网络适配器的IP地址 Get-WmiObject -Class Win32_Networ

我们的web主机提供商正在更改我们所在服务器之一的IP地址。我们已经得到了一个时间框架,何时转换将发生,但没有确切的细节。因此,我们目前的穷人支票要求定期在浏览器上刷新页面,以查看我们的网站是否仍然存在

问题:
我们都是这里的程序员,任何手动检查都是必需的,这让我很难受。我知道如何在其他语言中实现这一点,但我想知道是否有办法在PowerShell中编写脚本来解决此问题。有人知道我会怎么做吗?

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

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

如果可以在页面消失或没有预期值时发出警报,则可以使用如下脚本

$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"

美好的我想我们很接近了$ip需要是完整的http地址(即)。此外,此解决方案要求在给定$ip的任何时候都有一个web服务器。因此,当网站被移动时,只要web服务器仍在该服务器上运行,我认为一切都应该是好的。你也可以用ping检查来包装它,以确保在检查页面之前主机已启动。我将把它添加到响应中。