Я использую скрипт FileWatcher, и все, кажется, работает, насколько мониторинг.Проблема в том, что при изменении файла он отправляет мне электронное письмо.Он отправляет по электронной почте нормально, но всегда отправляет 2 электронных письма или, если я отправляю текст, 2 текста.Что тут происходит?Вот мой код:
$fswAuctions = New-Object IO.FileSystemWatcher $auctions, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fswAuctions Changed -SourceIdentifier FilesChanged4 -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
$SMTPBody = "The file '$name' was $changeType at $timeStamp"
Send-ToEmail -email "myemail@whatever.com" -strBody $SMTPBody -strSubject "Auctions Module"
Write-Host "The file '$name' was $changeType at $timeStamp" -fore white
}
function Send-ToEmail([string]$email, [string]$strBody, [string]$strSubject){
$message = new-object Net.Mail.MailMessage
$message.From = "do_not_reply@site.com"
$message.To.Add($email)
$message.Subject = $strSubject
$message.Body = $strBody
$smtp = new-object Net.Mail.SmtpClient("127.0.0.1", "25")
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.send($message)
}