簡體   English   中英

Powershell腳本搜索文件然后發送電子郵件

[英]Powershell Script to search a file and then send an email

我是Powershell的新手

我正在創建一個包含輸出的文件,然后在該文件中搜索特定短語,如果包含該短語,則會收到一封電子郵件。 我已經能夠創建文件,然后使用sls篩選出我需要的文件,但是我似乎無法弄清楚如果該文件包含特定單詞,如何通過電子郵件其發送給我。

例如-如果文件中包含“ 離線 ”一詞,請將該文件附加到電子郵件中。

這些是我到目前為止運行的以下命令-

d:
set-location -Path "program files\veritas\volmgr\bin"
.\vmoprcmd >d:\test.data\mediastatus.txt
cd \
set-location -Path "test.data"
sls offline .\mediastatus.txt

因此,根據您的情況-

  • 您具有此vmoprcmd可執行文件生成的輸出
  • 它被重定向到文件
  • 您要檢測文件/輸出是否包含字符串"Offline"
  • 如果確實如此,則觸發一封電子郵件

為此,可以利用Select-StringSend-MailMessage cmdlet:

$Output = 'D:\test.data\mediastatus.txt'
& 'D:\Program Files\veritas\volmgr\bin\vmoprcmd.exe' > $Output

if (Select-String -Pattern offline -Path $Output -Quiet) {
    $MailArgs = @{
        'To'          = 'mailaddress@example.com'
        'From'        = 'mymailbot@example.com'
        'Subject'     = 'Device offline!'
        'Attachments' = $Output
        'Body'        = 'Whatever you want it to be'

        'SmtpServer'  = 'my.smtp.server.com'
        'Port'        = 25
    }
    Send-MailMessage @MailArgs
}

文檔:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM