我是 Powershell
的新手我正在创建一个带有输出的文件,然后在该文件中搜索特定的短语,如果它包含它,则会收到一封电子邮件。我已经能够创建该文件,然后使用sls过滤掉我需要的内容,但我似乎无法弄清楚如何通过电子邮件将该文件发送给我如果它包含特定的单词。
Ex - 如果文件中包含单词离线,则将该文件附加到电子邮件中。
这是我到目前为止运行的以下命令 -
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
答案 0 :(得分:2)
所以在你的情况下 -
vmoprcmd
可执行文件"Offline"
要实现此目的,您可以使用Select-String
和Send-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
}
文档: