Может кто-нибудь, пожалуйста, помогите!
С помощью приведенного ниже сценария Power Shell я могу получить статус всех URL-адресов. При этом, хотя URL-адрес Google не работает (я намеренно указал неправильный URL-адрес), скрипт запускается 3 раза, что бесполезно.
Мое состояние ... Мои ссылки gmail и входа должны работать, только если Google ссылка рабочая. И моя ссылка для входа должна работать, только если ссылка Gmail работает. Если нет, он должен завершить сценарий, отправив электронное письмо с кодом ошибки (я использую этот блок try catch для сохранения этого кода ошибки).
Это мой код.
$ErrorActionPreference = "Stop"
[array]$URL_LIST_FILE = Get-Content -Path 'path/of/file'
$URL_LIST = @($URL_LIST_FILE)
foreach ($URL in $URL_LIST)
{
try {
$RESPONSE = Invoke-WebRequest -URI $URL -ErrorAction Stop
$RESPONSE_CODE = $RESPONSE.Statuscode
Write-Host "Response Code: $RESPONSE_CODE" -ForegroundColor Green
if ($RESPONSE_CODE -eq 200)
{
Write-Host "$URL is Working." -ForegroundColor Blue
}
}
catch {
$ERR = $_.Exception.Response.StatusCode
$ERR_CODE = $_.Exception.Response.StatusCode.value__
Write-Host $ERR_CODE $ERR -ForegroundColor Red
Write-Host "$URL is not working. Sending Email..." -ForegroundColor Yellow
#Send-MailMessage -To to@somemail.com -From from@somemail.com -Subject "subject is here"
}
}
Мой файл содержит:
www.google.com - Google link
www.gmail.com - Gmail link
www.accounts.google.com/gmail - Signin link
...
...
...