已创建Powershell电子邮件通知文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已创建Powershell电子邮件通知文件相关的知识,希望对你有一定的参考价值。
我已经为PowerShell编写了一个代码,以便在将新文件添加到指定文件夹时通知我,但每次打开文件时都会创建一个临时文件,每次打开它时我都会收到这些电子邮件。我试图创建一个if-else语句,以便临时文件电子邮件转到另一个电子邮件地址。理想情况下,我希望根本不接收这些电子邮件。如果你们中的任何一个人知道这种可行的方法,请帮助我。我在下面复制了我的代码。
$folder = "File Folder Path"
$mailserver = "mailserver"
$recipient = "Recipient@Email.com"
$fsw = New-Object System.IO.FileSystemWatcher $folder -Property @{
IncludeSubdirectories = $true
EnableRaisingEvents=$true
}
$created = Register-ObjectEvent -InputObject $fsw -EventName Created -SourceIdentifier CreatedEvent -Action {
$item = Get-Item $eventArgs.FullPath
$s = New-Object System.Security.SecureString
$anon = New-Object System.Management.Automation.PSCredential ("NT AUTHORITYANONYMOUS LOGON", $s)
If ($fsw -ccontains '~') {
Send-MailMessage -To "MyEmail@Email.com" `
-From "Email@Email.com" `
-Subject “File Creation Event” `
-Body "A file was created: $($eventArgs.FullPath)" `
-SmtpServer $mailserver `
-Credential $anon
}
Else {
Send-MailMessage -To $recipient `
-From "Email@Email.com" `
-Subject “File Creation Event” `
-Body "A file was created: $($eventArgs.FullPath)" `
-SmtpServer $mailserver `
-Credential $anon
}
}
答案
包含对数组的工作,而不是字符串。使用-like
或-match
。
如果您不想要电子邮件,请不要编写代码来发送电子邮件。
例如,如果您的临时文件不包含~
,则仅发送电子邮件。由于没有别的,如果文件名确实包含~
,则不会采取任何操作。
If ($fsw -notlike '*~*') {
Send-MailMessage -To $recipient `
-From "Email@Email.com" `
-Subject “File Creation Event” `
-Body "A file was created: $($eventArgs.FullPath)" `
-SmtpServer $mailserver `
-Credential $anon
}
以上是关于已创建Powershell电子邮件通知文件的主要内容,如果未能解决你的问题,请参考以下文章
POWERSHELL 计划任务的创建,收集DC中失败的登录信息并邮件通知
使用 PowerShell 通过电子邮件通知获取硬盘 SMART 数据
通过powershell 脚本通知公共邮箱账户快要过期和已经过期邮件通知
powershell [发送自定义HTML通知]最近,我们更改了PRTG处理通知电子邮件的方式并简化了方法,因此只有