Я пытаюсь написать скрипт для отслеживания URL-адресов. Я сумел получить информацию, которую я хочу, и мой сценарий выглядит следующим образомПереименование переменной в PowerShell
$logfile = "C:\LogFileTest.log"
Function WriteHeader-Websites {
[cmdletbinding()]
param (
[string]$URL
)
if ($logfile -eq "nologfile"){
write-host
write-host "$URL"
write-host
}
else {
add-content -path $logfile -value ""
add-content -path $logfile -value "$URL"
add-content -path $logfile -value ""
}
}
Function Test-Websites {
$URLs = Get-Content -Path C:\WebsiteChecks.txt
foreach ($URL in $URLs) {
$ArrayLine =$Line.split(",")
$
$Line.name =
try {
$request = [System.Net.WebRequest]::Create($URL)
$response = $request.GetResponse()
WriteHeader-Websites "$URL is available!"
} catch {
WriteHeader-Websites ("$URL failed! The error message was '{0}'." -f $_)
} finally {
if ($response) {
$response.Close()
Remove-Variable response
}
}
}
}
Test-Websites
Мой текстовый файл выглядит следующим образом:
http://www.google.com
http://www.bing.com
http://www.bbc.co.uk
И выход из сценария выглядит следующим образом:
http://www.google.com is available!
Я хотел бы добавить короткое имя для сайтов в текстовом файле, поэтому вместо этого оно использует это имя.
Пример текстового файла не будет:
http://www.google.com,Google Website
http://www.bing.com,Bing Website
, и я хотел бы возвращение выглядеть следующим образом:
Google Website is available!
Bing Website is available!
или
Google Website failed! Error message is...
Но у меня нет идея, как это сделать, или то, что я даже Google мог бы найти. Какие-либо предложения?
Благодаря
Hi David. Спасибо за ваш вклад. Я довольно новичок во всем этом, поэтому я не уверен, как на самом деле редактировать мой скрипт, чтобы сделать эту работу? Извиняюсь. – jakeythehobo
На самом деле вам не нужно включать заголовки в файл CSV. Вы можете использовать пользовательские с аргументом '-Header' для' Import-Csv'. – Joey
@Joey спасибо, я никогда не знал, что –