その他方法として、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 コマンドレットとして下記を使用します。- Get-WssBackupPolicy
- Get-WssBackupDisk
- Get-WssBackupVolume
- Add-WssBackupTarget
- Add-WssBackupSystemRecovery
- Add-WssBackupVolume
- Add-WssBackupSchedule
- New-WssBackupTarget
- Set-WssBackupPolicy
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)
パッと見同じように見えますが、指定するパラメーターや出力タイプがまったく異なります。
出力タイプを例にすると、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を混在させる場合は注意したいところです。