Проверьте, является ли $content
пустым, и отправляйте почту, только если это не так.
...
$content = Get-ChildItem '\\test\test1\test2\*.txt' |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddMinutes(-1)}
if ($content) {
$Message = New-Object Net.Mail.MailMessage $smtpFrom, $smtpTo
...
$Message.Body = $content |
Select-Object "Name", "LastWriteTime" |
ConvertTo-Html -Head $style
$smtp = New-Object Net.Mail.SmtpClient $smtpServer
...
}
В более поздних версиях PowerShell вы можете использовать командлет Send-MailMessage
вместо суетывокруг с MailMessage
и SmtpClient
объектами.Общий подход был бы тем же самым.
...
$content = Get-ChildItem '\\test\test1\test2\*.txt' |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddMinutes(-1)}
if ($content) {
$body = $content |
Select-Object "Name", "LastWriteTime" |
ConvertTo-Html -Head $style
Send-MailMessage -To $smtpTo ... -Body $body -BodyAsHtml -SmtpServer $smtpServer ...
}