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"

Надеюсь это поможет.

Спасибо, Тим.

Другие вопросы по тегам