5

Я написал следующий скрипт Powershell для одноразового резервного копирования моего компьютера с Windows Server 2008 R2. Идея состоит в том, чтобы выполнить еженедельное резервное копирование на другой внешний диск и запланировать запуск сценария из планировщика задач.

Import-Module ServerManager
Add-PSSnapin Windows.ServerBackup

$backup = Get-WBPolicy
$weekly = New-WBPolicy

Add-WBVolume -POLICY $weekly -VOLUME $backup.VolumesToBackup

$inc1 = NEW-WBFileSpec -FileSpec "C:\"
$inc2 = NEW-WBFileSpec -FileSpec "D:\"
$incs = $inc1,$inc2
Add-WBFileSpec -POLICY $weekly -fileSpec $incs

$disk = WBDisk | where{$_.DiskName -EQ "Seagate Backup+ Desk USB Device"}
$target = New-WBBackupTarget -DISK $disk
Add-WBBackupTarget -POLICY $weekly -TARGET $target

Add-WBBareMetalRecovery -POLICY $weekly
Set-WBVSSBackupOptions -POLICY $weekly -VSSFULLBACKUP

Start-WBBackup -POLICY $weekly

Я получаю следующую ошибку:

Start-WBBackup : Object reference not set to an instance of an object.
At C:\Users\ejb\Documents\Scripts\WeeklyBackup.ps1:21 char:15
+ Start-WBBackup <<<<  -POLICY $weekly
    + CategoryInfo          : NotSpecified: (:) [Start-WBBackup], NullReferenceException
    + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.Windows.ServerBackup.Commands.StartWBBackup

Я проверил и убедился, что все необходимые модули, оснастки и функции были установлены / загружены.

2 ответа2

2

Я обнаружил, что проблема была вызвана тем, как я устанавливал цель. Несмотря на то, что он показывал правильную настройку, он не был правильно привязан к WBPolicy, который я делал. Правильный способ установить цель был:

$disk = New-WBBackupTarget -VolumePath G:
Add-WBBackupTarget -POLICY $backup -TARGET $disk

Хотя это предполагает, что прикрепленный диск всегда монтируется в букву G: он работал успешно, когда я запустил его.

0

У меня возникла та же проблема при определении одноразового резервного копирования (или при создании политики на лету). Я думаю... Вы должны использовать Volume (объект из Get-WBVolume) или VolumePath (если доступна буква монтирования). Параметры диска есть, когда вы хотите определить постоянную политику. Когда вы используете диск (объект из Get-WBDisk), вы должны использовать Set-Policy, и диск будет очищен и на нем будет создан новый том. Этот объем будет затем использован.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .