Script do PowerShell: é necessário que o programa especifique onde o conteúdo foi encontrado

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)
    }

}

O código obtém o conteúdo de vários sites listados no arquivo urls.txt e procura por uma palavra-chave específica.

Se a palavra-chave for encontrada, o usuário será notificado.

No entanto, o que me falta é que o programa não apenas notifique o usuário que uma palavra-chave foi encontrada para corresponder ao conteúdo, mas também para dizer de qual site o conteúdo que corresponde à palavra-chave foi originado.

Idéias?

    
por Daniel 27.12.2016 / 01:47

1 resposta

1

Acho que o URL que você está procurando está em $ i.

[System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon,$i)

Do seu código, você está atribuindo $ i de $ info, então $ i deve ser o único URL que será verificado para a palavra-chave.

Não tendo executado o código e visto a formatação, talvez seja necessário adicionar $ i a $ messageboxbody. Por exemplo

$Messageboxbody = "Detected the keyword $keyword at $b from URL $i"

Espero que isso ajude.

Obrigado, Tim.

    
por 27.12.2016 / 12:18

Tags