问题
我们的网络主机提供商正在更改我们所在的其中一台服务器的 IP 地址。我们已经获得了切换何时发生的时间框架,但没有确切的细节。因此,我们目前的穷人检查需要在浏览器上定期刷新页面以查看我们的网站是否仍然存在。
问题
我们都是这里的程序员,这让我很生气,需要任何手动检查。我会知道如何用其他语言做到这一点,但想知道是否有办法在PowerShell中编写脚本来解决这个问题。有谁知道我会怎么做?
我们的网络主机提供商正在更改我们所在的其中一台服务器的 IP 地址。我们已经获得了切换何时发生的时间框架,但没有确切的细节。因此,我们目前的穷人检查需要在浏览器上定期刷新页面以查看我们的网站是否仍然存在。
我们都是这里的程序员,这让我很生气,需要任何手动检查。我会知道如何用其他语言做到这一点,但想知道是否有办法在PowerShell中编写脚本来解决这个问题。有谁知道我会怎么做?
如果您可以在页面消失或没有预期值时发出警报,您可以使用类似的脚本
$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 地址。
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property IPAddress