Назад | Перейти на главную страницу

Как включить «Host Component» HyperV в резервную копию с помощью wbadmin?

Я пытаюсь настроить сценарий для запуска резервного копирования моих виртуальных машин только с помощью WBADMIN, у меня так же быстро, как и возможность резервного копирования всех виртуальных машин с помощью нового переключателя -HyperV, однако я также хочу сделать резервную копию HyperV Хост-компонент. Есть ли у кого-нибудь опыт в этом или может указать мне какую-то документацию (Microsoft игнорирует этот новый переключатель -HyperV)

Это мой сценарий PowerShell, если вам интересно:

#Constant Variables
$Day = Get-Date
$Day = $Day.DayOfWeek
$Date = Get-Date -format hhmmddMMyyyy
$Server = hostname

#Set Paths
$BackupPath =  "\\backup\Backups\" + $Server + "\" +$Day
$LogPath = "\\backup\Backups\" + $Server + "\Logs\" + $Date +".txt"


# SELECT Virtual Machines
$VMList = $null
$VMs = Get-VM | Select-Object VMId
for ($i = 0 ; $i -lt $VMs.length ; $i++) {
    $VMList = $VMList + '"' + $VMs[$i].VMId + '"' +","
}
$VMList =  $VMList.Substring(0,$VMList.Length - 1)

#Run Backup
WBADMIN START BACKUP -backupTarget:$BackupPath -hyperv:$VMList -Quiet

Итак, я наконец понял, что вам нужно отказаться от WBADMIN и вместо этого начать использовать WBbackup CMDLETS в PowerShell, вот как вы можете это сделать.

#Constant Variables
$Day = Get-Date
   #Use this for Backups in Evening
    $Day = ($Day.AddDays(1)).DayOfWeek

    #Use this for Backups in the Morning
    #$Day = $Day.DayOfWeek

$Date = Get-Date -format hhmmddMMyyyy
$Server = hostname
$Target = '\\backup\backups\'+$Server+'\'+$Day
$VirtualMachines = Get-WBVirtualMachine


$DailyFullWB = New-WBPolicy
$BackupTarget = New-WBBackupTarget -NetworkPath $Target
Set-WBPolicy -Policy $DailyFullWB
Add-WBBackupTarget -Policy $DailyFullWB -Target $BackupTarget -Force
Add-WBVirtualMachine -Policy $DailyFullWB -VirtualMachine $VirtualMachines
Start-WBBackup -Policy $DailyFullWB -AllowDeleteOldBackups -Force    

На самом деле в решение слишком легко поверить, и да, оно нигде не задокументировано. На самом деле вам «просто» нужно включить строку «Host Component» в ваш VMlist (параметр --hyperv).

Просто помните, что он включает пробел, и поэтому вам нужно заключить строку в кавычки.

Например. как это:

wbadmin start backup -backupTarget:$BackupPath -hyperv:"$VMList,Host Component" -quiet

По крайней мере, с Windows Server 2016 это сработало.