2015/07/20

Windows Server Essentials 「サーバー バックアップ」を設定するPowerShellコマンドレットの使い方

Windows Server 2012 R2 Essentialsの各種設定はWindows Server Essentials ダッシュボード(GUI)から行います。
その他方法として、Windows Server Essentials専用PowerShell コマンドレットからも可能です。
今回は、 Windows Server Essentialsの「サーバー バックアップ」を設定するPowerShellコマンドレットの使い方をメモ。

注意

今回説明するPowerShell コマンドレットはWindows Server Essentials(以後WSE)専用のPowerShell コマンドレットを使います。
使える環境は
  • Windows Server 2012 R2 Essentials
  • Windows Server Essentials エクスペリエンスをインストールしたWindows Server 2012 R2 Standard/DataCenter
となります。
今回は、 Windows Server 2012 R2 Essentialsを使用し説明します。

サーバー バックアップとは

Windows Server 2012 R2 Essentialsの一機能に「サーバー バックアップ」があります。
文字通り、Windows Server OSをバックアップする機能で、設定はWindows Server Essentials ダッシュボードから簡単に行います。
他SKU(Standard)等で使用するWindows Server Backup(WSB)の設定方法とは異なります
ご注意ください。

今回設定するサーバー バックアップの各種パラメーター

  • バックアップ先ディスクの番号は2番とする
  • バックアップ先ディスクのラベルは"WseBackupHdd"とする
  • バックアップする項目は、回復 ドライブ、C ドライブとする
  • バックアップ スケジュールは12:00、23:00とする

サーバー バックアップの設定手順

今回は、Server Backupを設定するWSE専用PowerShell コマンドレットとして下記を使用します。
各PowerShell コマンドレットのパラメーターやスイッチ パラメーターの詳細はmsdn、又はTechnet ライブラリで調べてください。
1.バックアップ ポリシーを作成
最初にバックアップ ポリシーを作成します。
$policy = Get-WssBackupPolicy
2.バックアップ先ディスクを指定
ディスクを指定し、ポリシーに追加していきます。
#ディスク番号3番を指定
$backupDisk = Get-WssBackupDisk | Where-Object{$_.DiskNumber -eq 3}

#バックアップ先を新規作成、ディスクとラベルを指定する
$backupTarget = New-WssBackupTarget -Disk $backupDisk -Label "WseBackupHdd"

#ポリシーにバックアップ先を追加する
Add-WssBackupTarget -BackupPolicy $policy -BackupTarget $backupTarget
上記設定はGUIだと下記画面に相当します。
3.バックアップ項目を指定
バックアップ項目は複数指定できます。
指定する場合の注意点ですが、Add-WssBackupSystemRecovery コマンドレットは1回だけ実行。
Cドライブ、Dドライブなど複数のドライブを指定したい場合は、Add-WssBackupVolume コマンドレットを複数実行します。
#システム バックアップをポリシーに追加(必須)
Add-WssBackupSystemRecovery -BackupPolicy $policy

#回復 ドライブをポリシーに追加
$backupVolume = Get-WssBackupVolume -AllVolumes
Add-WssBackupVolume -BackupPolicy $policy -BackupVolume ($backupVolume | Where-Object {$_.VolumeLabel -eq "回復"})

#C ドライブをポリシーに追加
Add-WssBackupVolume -BackupPolicy $policy -BackupVolume ($backupVolume | Where-Object {$_.VolumePath -eq "C:"})
上記設定はGUIだと下記画面に相当します。
4.バックアップ スケジュールを指定
バックアップ スケジュールは複数指定できます。
その場合は、Add-WssBackupSchedule コマンドレットを複数実行します。
#一回目は12時
Add-WssBackupSchedule -BackupPolicy $policy -BackupTime 12:00

#二回目は23時
Add-WssBackupSchedule -BackupPolicy $policy -BackupTime 23:00
上記設定はGUIだと下記画面に相当します。
5.バックアップ ポリシーをセットする
最後にバックアップ ポリシーをセットする事でサーバー バックアップの設定が保存されます。
Set-WssBackupPolicy -BackupPolicy $policy -Force
6.サーバー バックアップの設定を確認
Get-WssBackupPolicy
注意:Windows Serber Backup用PowerShell との混在はできません
サーバー バックアップ用PowerShell は
  • Windows Server Essentials用(WSE)
  • Windows Server Backup用(WSB)
の2種類 存在します。 

パッと見同じように見えますが、指定するパラメーターや出力タイプがまったく異なります。
出力タイプを例にすると、WSE用PowerShell コマンドレット「Get-WssBackupTarget」は
Microsoft.WindowsServerSolutions.DataProtection.ServerBackup.ObjectModel.BackupTarget
ですが、WSB用PowerShell コマンドレット「Get-WBBackupTarget」※は
Microsoft.Windows.ServerBackup.Commands.WBBackupTarget
となります。
※Technet ライブラリに出力タイプが掲載されていなかったので、実機で確認しました
※確認方法:(Get-WBBackupTarget -Policy (Get-WBPolicy)).GetType().FullName

試しに、「バックアップ先ディスクを新規作成」するPowerShell スクリプトにWBS用PowerShellを混在させると「型変換が出来ない」旨のエラーが出力されます。
#正しい使い方
$backupTarget = New-WssBackupTarget -Disk (Get-WssBackupDisk | Where-Object{$_.DiskNumber -eq 3}) -Label "WseBackupHdd"

#間違った使い方
$backupTarget = New-WssBackupTarget -Disk (Get-WBDisk | Where-Object{$_.DiskNumber -eq 3}) -Label "WseBackupHdd"

(他PowerShell コマンドレットでも同様かと思いますが)WSE用PowerShell スクリプトに他モジュールのPowerShellを混在させる場合は注意したいところです。
スポンサーリンク

スポンサーリンク