PowerShell Script: потрібна програма, щоб вказати, де вміст був знайдений


0
$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"

Сподіваюся, це допомагає.

Спасибі, Тіме.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.