首页 > 解决方案 > Powershell脚本检查文件夹中的文件并发送电子邮件

问题描述

我正在尝试使脚本正常工作,但遇到了一些问题。我们有一个文件夹,它通过 FTP 将 ZIP 文件发送给它,服务器上的一个服务将它们移动到另一个目录进行处理。问题是有时服务将运行但不执行任何操作,因此监控不会发送警报。我正在编写一个 PowerShell 脚本来检查文件夹中是否存在 30 分钟以上的 .zip 文件,如果发现,请向该团队发送电子邮件,以检查文件未移动的原因。以下是我到目前为止写的内容,任何帮助将不胜感激。谢谢。

$Path = "c:\test"
$SMTPServer = "mail.server.com"
$From = "Monitor Prod <mon.server.com>"
$To = "people@server.com"
$Subject = "Alert: Potential issue with service in PROD"


$SMTPMessage = @{
To = $To
From = $From
Subject = "$Subject"
Smtpserver = $SMTPServer
}

$File = Get-ChildItem -path $path -Filter ".txt" | Where-Object {$_.LastWriteTime -lt (Get-Date).AddMinutes(-30)}
If ($File)
{   $SMTPBody = "Batches older than 30 minutes located in c:\test while service is actively running. Service may require a restart."
$File | ForEach { $SMTPBody += "$($_.FullName)`n" }
Send-MailMessage @SMTPMessage -Body $SMTPBody
} 

标签: powershell

解决方案


推荐阅读