所以我的代码现在可以通过在未添加文件时通知我而起作用。
我现在的问题是我有更多的客户,我的foreach
循环似乎无法正常工作。仍然会通过电子邮件向我发送1位客户。
这是我的代码:
[string]$path = "X:\Brievenbus\Customer1"
[string]$path = "X:\Brievenbus\Customer2"
$File = Get-ChildItem $Path | Where { $_.LastWriteTime -ge [datetime]::Now.AddMinutes(-1) }
$SMTPMessage = @{
To = $To
From = $From
Subject = "$Subject at $Path"
Smtpserver = $SMTPServer
}
$Path | ForEach {$Path += $($_.FullName)
$File = Get-ChildItem $Path | Where { $_.LastWriteTime -ge [datetime]::Now.AddMinutes(-1) }
If ($File -eq $null)
{ $SMTPBody = "`nLaatste 24H is er niets meer gestuurd bij klant:`n`n $($_.FullName) $path"
Send-MailMessage @SMTPMessage -Body $SMTPBody
}
}
答案 0 :(得分:0)
好吧,这取决于您要使用多少时间以及文件的保存位置。 如果是服务器,则可以将Windows或Linux / Unix上的Windows PowerShell或Linux / Unix上的PowerShell核心与计划的任务/ cron作业一起使用。
您可以将作业设置为每x小时运行一次脚本。 检查每个备份文件的创建日期或上次编辑日期,并将其与当前时间戳进行比较。如果文件的编辑/创建日期超过了您设置的限制,请发送电子邮件,写日志或您希望对其进行处理。