Какой хороший способ в PowerShell проверить переключение IP-адреса на веб-сервере? - PullRequest
4 голосов
/ 10 октября 2008

Задача

Наш веб-провайдер меняет IP-адрес одного из серверов, на которых мы работаем. Нам дали временные рамки, когда произойдет переключение, но точных деталей нет. Поэтому наша текущая проверка бедняга требует периодического обновления страницы в браузере, чтобы проверить, есть ли наш веб-сайт еще там.

Вопрос

Мы все здесь программисты, и это убивает меня, что требуется любая ручная проверка. Я бы знал, как это сделать на других языках, но хотел бы знать, есть ли способ написать скрипт в PowerShell для решения этой проблемы. Кто-нибудь знает, как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 10 октября 2008

Если вы можете предупредить, если страница исчезла или не имеет ожидаемого значения, вы можете использовать скрипт типа

$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"
0 голосов
/ 10 октября 2008

Будет отображен IP-адрес для каждого сетевого адаптера в вашей системе.

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property IPAddress
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...