Здравствуйте, я написал небольшую функцию для проверки доступности веб-сайта.Я хотел бы вывести значение - статус за его пределы и создать хороший вывод HTML.Мне пришлось использовать цикл для проверки каждого веб-сайта с помощью хеша $.
Function MyFunction{
clear-host
$hash = @{"ING"= "http://google.pl/" ; "youtube" = "https://youtube.com/" ;}
$weburl = $hash.Values
foreach ($weburls in $weburl){
$HTTP_Request = [System.Net.WebRequest]::Create($weburls)
$HTTP_Response = $HTTP_Request.GetResponse()
# We then get a response from the site.
$HTTP_Status = [int]$HTTP_Response.StatusCode # We then get the HTTP code as an integer.
If ($HTTP_Status -eq 404 -or $HTTP_Status -eq 503 -or $HTTP_Status -eq 403 ) {
Write-Host "$weburls The Site may be down, please check. - status is $HTTP_Status!"
$URLRESP = New-Object -TypeName psobject
$URLRESP | Add-Member -MemberType NoteProperty -Name Status -Value "The Site may be down, please check!"
[array]$URLRES += $URLRESP
}
Else {
Write-Host "OK"
$URLRESP = New-Object -TypeName psobject
$URLRESP | Add-Member -MemberType NoteProperty -Name Status -Value "OK"
[array]$URLRES += $URLRESP
}
$HTTP_Response.Close() # Finally, we clean up the http request by closing it. }
Петля заканчивается здесь.Теперь я конвертирую его в html со значениями - Name, Value, Link, и здесь я хочу добавить новое значение - « Status » с результатами типа «ok» или «dead link» и т. Д.
$hash.GetEnumerator() | sort -Property Name | Select-Object Name, Value, Status |
ConvertTo-HTML -Head $headLink -Property *,@{Label="Link";Expression={"
}
$html_url = MyFunction
Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlDecode($html_url) | Out-File "\\......\scresult\test.htm" -Append
Я понятия не имею, как поставить значение "status" вне его.Извините, я не очень хорошо разбираюсь в сценариях и не знаю, как это сделать.У меня такое ощущение, что если я просто помещу выходную строку в цикл, она умножится на значение.