Недавно я собрал сценарий PowerShell на сервере под управлением Windows Server 2008 R2, который создал устаревший каталог, а затем запустил Windows Server Backup для создания резервной копии состояния системы. Скрипт запускается каждую ночь и отлично работает.
Желая использовать это на другом сервере, я скопировал сценарий и, добавив оснастку WSB из командной строки PowerShell, обнаружил, что он не запускается.
Разница между двумя серверами заключается в том, что на этом новом сервере работает Server 2008 (не R2). Кто-нибудь получил скрипты PowerShell для работы с резервным копированием на Windows Server 2008 с Windows Server Backup? Интересно, разные ли командлеты? Пока все найденные мной документы основаны на R2.
Вот сценарий, который я использую на сервере R2:
$date = Get-Date -format MMddyyyyHHmm
$policy = New-WBPolicy
$volume = Get-WBVolume -AllVolumes
$backupLocation = New-WBBackupTarget -NetworkPath "\\NAS01\backup\RDP01\$date"
New-Item "\\NAS01\backup\RDP01\$date" -type directory
Add-WBVolume -Policy $policy -Volume $volume
Add-WBSystemState $policy
Add-WBBareMetalRecovery $policy
Add-WBBackupTarget -Policy $policy -Target $backupLocation
Set-WBVssBackupOptions -Policy $policy -VssCopyBackup
Start-WBBackup -Policy $policy
Кто-нибудь знает, есть ли что-то другое, что я должен сделать на Server 2008, чтобы эта работа работала, или резервное копирование из PowerShell просто не поддерживается, кроме R2?
Вероятно, вам потребуется перейти на Powershell v2 на сервере 2008 года. Информация о Windorws Mgmt Framework v2 есть Вот
Если вы получаете конкретную ошибку, сообщите нам об этом.
Я не совсем знаком с этими командлетами, но проблема может заключаться в том, что на вашем компьютере с Win 2008 работает Powershell v1.0, а на вашем компьютере с Win 2008 R2 - с v2.0. Версия 1.0 является необязательным компонентом Win 2008, и вам может потребоваться установить версию 2.0, чтобы эти командлеты заработали. Вы можете проверить, какая версия установлена на каждом компьютере, открыв PowerShell и набрав $host
.
Из http://en.wikipedia.org/wiki/Windows_PowerShell:
Версия 1.0 была выпущена в 2006 году для Windows XP SP2 / SP3, Windows Server 2003 и Windows Vista. В Windows Server 2008 он включен в качестве дополнительной функции.
Версия 2.0 интегрирована с Windows 7 и Windows Server 2008 R2 и выпущена для Windows XP с пакетом обновления 3, Windows Server 2003 с пакетом обновления 2 и Windows Vista с пакетом обновления 1.
Я думаю, это может иметь какое-то отношение к тому, что командлеты отличаются от Windows Server Backup в 2008 и 2008 R2. Выполнил команду get-command -module windows.serverbackup и получил следующие командлеты на сервере 2008:
Add-WBBackupTarget
Add-WBVolume
Get-WBBackupTarget
Get-WBDisk
Get-WBPolicy
Get-WBSchedule
Get-WBSummary
Get-WBVolume
New-WBBackupTarget
New-WBPolicy
Remove-WBBackupTarget
Remove-WBPolicy
Remove-WBVolume
Set-WBPolicy
Set-WBSchedule
Я выполнил ту же команду на сервере R2 и получил следующее:
Add-WBBackupTarget
Add-WBBareMetalRecovery
Add-WBFileSpec
Add-WBSystemState
Add-WBVolume
Get-WBBackupSet
Get-WBBackupTarget
Get-WBBareMetalRecovery
Get-WBDisk
Get-WBFileSpec
Get-WBJob
Get-WBPolicy
Get-WBSchedule
Get-WBSummary
Get-WBSystemState
Get-WBVolume
Get-WBVssBackupOptions
New-WBBackupTarget
New-WBFileSpec
New-WBPolicy
Remove-WBBackupTarget
Remove-WBBareMetalRecovery
Remove-WBFileSpec
Remove-WBPolicy
Remove-WBSystemState
Remove-WBVolume
Set-WBPolicy
Set-WBSchedule
Set-WBVssBackupOptions
Start-WBBackup
Обратите внимание, что количество командлетов R2 больше, чем у простого сервера 2008 года. Думаю, в этом проблема. Команда, которая выделяется больше всего, заключается в том, что на сервере 2008 года отсутствует команда «Start-WBBackup», которая необходима для выполнения резервного копирования. Интересный. Похоже, я возвращаюсь к инструменту WBadmin и запускаю этот материал как пакет на своих серверах 2008 года и сохраняю powershell для 2008 R2