Как перезапустить appool, когда IIS получает медленный ответ с помощью Powershell? - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь написать скрипт для проверки работоспособности моего веб-приложения. Например, если я не смог получить сообщение в течение 10 секунд, я должен перезапустить свой пул приложений с помощью Powershell. Или, кроме 200-нормальных кодов, мой пул приложений должен быть переработан.

Пожалуйста, посмотрите ниже код и ОШИБКА:

# Load IIS module:
Import-Module WebAdministration
while ($true) {
    write-host 'Runnig For Check app.xxx.com ...'

# First we create the request.
$HTTP_Request = [System.Net.WebRequest]::Create('https://app.xxx.com/')
Try
{
# We then get a response from the site.
$HTTP_Response = $HTTP_Request.GetResponse()

# We then get the HTTP code as an integer.
$HTTP_Status = [int]$HTTP_Response.StatusCode

If ($HTTP_Status -eq 200) {
    Write-Host "Site is OK!"
}
Else {
    Write-Host "The Site may be down, please check!"
    Restart-WebAppPool -Name "app.xxx.com"
}
}
Catch
{
     Stop-WebAppPool -Name "app.xxx.com"
     Restart-WebAppPool -Name "app.xxx.com"
}

# Finally, we clean up the http request by closing it.
$HTTP_Response.Close()

 Start-Sleep -Seconds 120
}

Ошибка:

Restart-WebAppPool: Вы должны запустить остановленный объект до того, как перезапустить его. В C: \ Scripts \ CheckHealthHaydigo.ps1: 25 char: 6 + Restart-WebAppPool -Name "app.xxx.com" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [Restart-WebAppPool], InvalidOperationException + FullyQualifiedErrorId: InvalidOperation, Microsoft.IIs.PowerShell.Provider.RestartAppPoolCommand

1 Ответ

2 голосов
/ 09 июня 2019

Похоже, вам следует проверить состояние пула приложений, прежде чем пытаться перезапустить его.

if ((Get-WebAppPoolState -Name "app.xxx.com").Value -eq "Stopped") {
    Start-WebAppPool -Name "app.xxx.com"
}
else {
    Restart-WebAppPool -Name "app.xxx.com"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...