Мониторинг файлов в папках - PullRequest
0 голосов
/ 04 октября 2018

Итак, мой код работает, уведомляя меня, когда файлы не были добавлены.Моя проблема сейчас в том, что у меня больше клиентов, и мой цикл 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
}
}

1 Ответ

0 голосов
/ 04 октября 2018

Ну, это зависит от того, сколько времени вы хотите использовать и где файлы сохранены.Если это сервер, то можно использовать Windows или Linux / Unix Windows PowerShell или ядро ​​PowerShell в Linux / Unix вместе с запланированным заданием / заданием cron.

Можно задавать задание для запуска сценария каждые xч.Проверьте дату создания или последнего редактирования каждого файла резервной копии и сравните ее с текущей отметкой времени.Если дата редактирования / создания файла длиннее установленного вами лимита, отправьте электронное письмо, напишите журнал или, если хотите, обработайте его.

...