# Включение разрешения выполнения сценариев Set-ExecutionPolicy RemoteSigned
$path1 = "C:\LKDSDrv\LKDSDrv\LKDSDrv.XML"
$path2 = "C:\LKDSDrv\MPultPro\MPultPro.XML"
# Параметры отправки почты
$smtpServer = "smtp.gmail.com"
$smtpPort = 587
$smtpUsername = "почта отправителя"
$smtpPassword = "пароль отправителя"
$from = "почта отправителя (от кого)"
$to = "почта получателя"
$subject = "Backup Files LKDS"
# Параметры архивирования
$zipPath = "C:\LKDSDrv\Backup.zip"
$zipFiles = @($path1, $path2)
# Проверяем, были ли изменения в файлах за последние 15 минут
$lastWriteTime = (Get-Date).AddMinutes(-15)
if ((Get-ChildItem $path1, $path2 | Where-Object {$_.LastWriteTime -gt $lastWriteTime}) -ne $null) {
# Если файлы были изменены, то создаем архив и отправляем его на почту
Compress-Archive $zipFiles $zipPath
Send-MailMessage -SmtpServer $smtpServer -Port $smtpPort -UseSsl -Credential (New-Object System.Management.Automation.PSCredential $smtpUsername, (ConvertTo-SecureString $smtpPassword -AsPlainText -Force)) -From $from -To $to -Subject $subject -Attachments $zipPath -Body "Backup files attached."
}
Данный скрипт создает и отправляет бэкап файлов
Можно оптимизировать или добавить функционал