【发布时间】:2019-10-04 20:28:16
【问题描述】:
我真的很讨厌编写脚本,我需要你的帮助。我从互联网上的几个地方拼凑了这个脚本,它可以工作,直到我启用我的 IF 语句......
我只是想从 UNC 路径获取文件夹的文件计数,如果超过指定数量,我希望它发送一封电子邮件,让我知道当前计数。
但是,如果我取消注释 if ($count -gt 50) 部分,那么如果计数超过 50,我将不会收到电子邮件。
我不知道如何使“.Count”成为我在脚本其他地方使用的变量。有人可以帮忙吗?
然后我需要弄清楚如何运行它。正在考虑只是 Windows 中的计划任务,并让它每隔几分钟运行一次,但如果你有更好的想法,我想听听!
$FolderList = @(
"\\server\path\test"
)
$Body = ($FolderList | ForEach-Object {
"Check to see if Sweep Service is running, file count for '$($_)': " + (Get-ChildItem -Path $_ -File -ErrorAction SilentlyContinue | Measure-Object).Count
}) -join "`r`n"
#if ($count -gt 50)
#{
$From = "me@you.com"
$To = "me@you.com"
$Subject = "Sweep Checker"
$SmtpServer = "webmail.you.com"
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SmtpServer
#}
【问题讨论】: