Windows Backup в сетевое хранилище

 Как известно Windows Backup не хранит несколько резервных копий одновременно, если резервирование выполняется в сетевое хранилище. Однако Могучий Шел позволяет нивелировать данную проблему. Данный скрипт удаляет резервную копию старше двух недель и выполняет новое резервирование:

$date = get-date -DisplayHint date -UFormat %Y-%m-%d
$twoweeksago = get-date (get-date).addDays(-14) -UFormat %Y-%m-%d

$ChekFolder = "\\server\backup\sys-$twoweeksago"
$FileExists = Test-Path $ChekFolder
If ($FileExists -eq $True) {
rmdir -R \\server\backup\sys-$twoweeksago
}

mkdir \\server\backup\sys-$date
wbadmin start systemstatebackup -backupTarget:\\server\backup\sys-$date -quiet

 Трюк заключается в том, что каждый раз резервное копирование выполняется в новую папку, которая создаётся на основании текущей даты.
 Сам скрипт выполняется планировщиком задач:

 Так же можно выполнить резервное копирование и виртуальных машин. При чём я рекомендовал бы это делать в отдельных командах, тогда создастся отдельный образ каждой виртуальной машины:

$date = get-date -DisplayHint date -UFormat %Y-%m-%d
$twoweeksago = get-date (get-date).addDays(-14) -UFormat %Y-%m-%d

$ChekFolder = "\\server\backup\$twoweeksago"
$FileExists = Test-Path $ChekFolder
If ($FileExists -eq $True) {
rmdir -R \\server\backup\$twoweeksago
}

mkdir \\server\backup\$date\DC1
mkdir \\server\backup\$date\VPN1
mkdir \\server\backup\$date\IIS1
mkdir \\server\backup\$date\TFS1

WBADMIN START BACKUP -hyperv:DC1 -backupTarget:\\server\backup\$date\DC1 -quiet
WBADMIN START BACKUP -hyperv:VPN1 -backupTarget:\\server\backup\$date\VPN1 -quiet
WBADMIN START BACKUP -hyperv:IIS1 -backupTarget:\\server\backup\$date\IIS1 -quiet
WBADMIN START BACKUP -hyperv:TFS1 -backupTarget:\\server\backup\$date\TFS1 -quiet