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

 Восстановление резервной копии виртуальной машины:

PS C:\> wbadmin get versions -backupTarget:\\192.168.1.1\e$\BACKUP\VM1
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

Backup time: 21.04.2018 04:27
Backup location: Network Share labeled \\backupserver\2018-04-21\VM1
Version identifier: 04/21/2018-02:27
Can recover: Volume(s), File(s), Application(s), Virtual Machine(s)


PS C:\> wbadmin get items -version:04/21/2018-02:27 -backuptarget:\\192.168.1.1\e$\BACKUP\VM1
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

Volume ID = {a19569cf-bbdc-49d2-958f-3e1ae77a23e7}
Volume 'VHDX', mounted at V: at the time the backup was created
Volume size = 1535.87 GB
Can recover = Selected files

Application = HyperV
VM name: VM1
VM caption: Online\VM1
VM identifier: 0ACABF6D-5523-42CC-975F-EA5A4AECB257
Total Size: 31.48 GB

wbadmin start recovery -version:04/21/2018-02:27 -itemType:hyperv -items:VM1 -backupTarget:\\192.168.1.1\e$\BACKUP\VM1 -alternateLocation -recoverytarget:D:\Hyper-V\