【问题标题】:Powershell Email Notification File Created已创建 Powershell 电子邮件通知文件
【发布时间】:2018-08-14 13:36:14
【问题描述】:

我已经为 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 AUTHORITY\ANONYMOUS 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
    }
}

【问题讨论】:

  • 如果我的回答解决了您的问题,请考虑接受 - 请参阅 what to do when someone answers help。它有点帮助网站工作。我还注意到您在后续问题中使用我的解决方案时使用了* - 这对于类似匹配很重要,否则它会查找字面上称为~ 的文件。

标签: powershell email temp


【解决方案1】:

Contains 作用于数组,而不是字符串。使用-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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 2011-12-16
    • 2015-11-26
    相关资源
    最近更新 更多