PowerShell Script: нужна программа, чтобы указать, где был найден контент
$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")
$keyword = read-host "Keyword:"
$info = get-content c:\users\dell\desktop\urls.txt
foreach ($i in $info) {
$output = ""
$output = $webClient.DownloadString($i)
if ($output -like "*$keyword*") {
$b = Get-Date
$ButtonType = [System.Windows.MessageBoxButton]::Ok
$MessageboxTitle = “Open Source Information Collection”
$Messageboxbody = "Detected the keyword $keyword at $b"
$MessageIcon = [System.Windows.MessageBoxImage]::Asterisk
[System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon)
}
}
Код получает содержимое с различных веб-сайтов, перечисленных в файле urls.txt, и выполняет поиск по определенному ключевому слову.
Если ключевое слово найдено, пользователь получает уведомление.
Однако, что мне не хватает, так это чтобы программа не только уведомляла пользователя о том, что было найдено ключевое слово, которое соответствует содержанию, но и сообщает, с какого веб-сайта получен контент, который соответствует ключевому слову.
Идеи?
1 ответ
Я думаю, что URL, который вы ищете, находится в $ i.
[System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon,$i)
Из вашего кода вы назначаете $ i из $ info, поэтому $ i должен быть единственным URL, который затем проверяется на наличие ключевого слова.
Не запустив код и не увидев форматирование, вам может понадобиться добавить $ i в $messageboxbody. Например
$Messageboxbody = "Detected the keyword $keyword at $b from URL $i"
Надеюсь это поможет.
Спасибо, Тим.