Я действительно воняю от сценариев, и мне нужна твоя помощь. Я собрал этот скрипт из нескольких мест в интернете, и он работает, пока я не включу свой оператор 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
#}