またまた、検証してみました
今回はWindows Server BackupをPowerShellからいじってみました。まずはインストールです
サーバーマネージャーの機能より「Windows Server Backup バックアップの機能」の「コマンドラインツール」を選択します。ここで間違えてはいけないのがWSBのコマンドラインであるwbadminは「Windows Server Backup バックアップ」を選択するとGUIのツールと一緒にインストールされます。「コマンドラインツール」はWindows PowerShell のコマンドレット (スナップイン)がインストールされます。
しかし、これですぐにPowerShell 上でインストールされたスナップインが使えるわけではありません。
PowerShell 上で次のコマンドをたたくことによって組み込まれます
PS C:> Add-PSSnapin windows.serverbackup
ここで本当に組み込まれたか確認
PS C:> Get-PSSnapin
Name : Microsoft.PowerShell.Core
PSVersion : 1.0
Description : この Windows PowerShell スナップインには、Windows PowerShell のコンポーネントを管理するために使用する Windows PowerShell 管理コマンドレットがあります。
Name : Microsoft.PowerShell.Host
PSVersion : 1.0
Description : この Windows PowerShell スナップインには、Windows PowerShell ホストで使用するコマンドレットが含まれています。
Name : Microsoft.PowerShell.Management
PSVersion : 1.0
Description : この Windows PowerShell スナップインには、Windows コンポーネントの管理に使用する管理コマンドレットが含まれています。
Name : Microsoft.PowerShell.Security
PSVersion : 1.0
Description : この Windows PowerShell スナップインには、Windows PowerShell のセキュリティを管理するためのコマンドレット が含まれています。
Name : Microsoft.PowerShell.Utility
PSVersion : 1.0
Description : この Windows PowerShell スナップインには、データの操作に使用できるユーティリティ コマンドレットが含まれて います。
Name : windows.serverbackup
PSVersion : 1.0
Description :
このスナップインを追加することによって15個のコマンドレットが追加されました。ということで確認してみます。
PS C:> Get-Command -CommandType cmdlet | Where-Object{$_.ImplementingType -like “*wb*”}| Format-Table name
Name
—-
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
現在接続されているディスクの状況を確認してみます。
PS C:> Get-WBDisk
DiskName : FUJITSU MHY2160BH ATA Device
DiskNumber : 0
DiskId : 7c297c29-0000-0000-0000-000000000000
TotalSpace : 160041885696
FreeSpace : 54449995776
Volumes : {Microsoft.Windows.ServerBackup.Commands.WBVolume, Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties : None
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000
DiskName :
DiskNumber : 1
DiskId : 760cb29f-0000-0000-0000-000000000000
TotalSpace : 1000204886016
FreeSpace : 999959649280
Volumes : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties : External, ValidTarget
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000
それでは外付けHDDをバックアップディスクとする設定をこれから行います。ちなみに外付けHDDはDiskNumberが1です。ですので$diskを変数として設定します。
PS C:> $disk = Get-WBDisk | where{$_.DiskNumber -eq 1}
PS C:> $disk
DiskName :
DiskNumber : 1
DiskId : 760cb29f-0000-0000-0000-000000000000
TotalSpace : 1000204886016
FreeSpace : 999959649280
Volumes : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties : External, ValidTarget
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000
ターゲットディスクの設定です。
PS C:> $tgt = New-WBBackupTarget -Disk $disk -Label “NewBackup”
PS C:> $tgt
Label : NewBackup
WBDisk : Microsoft.Windows.ServerBackup.Commands.WBDisk
Path :
TargetType : Volume
PreserveExistingBackup : False
そしてポリシーの作成です。まだ何も入っていませんね。
PS C:> $pol = New-WBPolicy
PS C:> $pol
Schedule BackupTargets VolumesToBackup
——– ————- —————
ここでポリシーを追加します。
PS C:> Add-WBBackupTarget -Policy $pol -Target $tgt
Label : NewBackup
WBDisk : Microsoft.Windows.ServerBackup.Commands.WBDisk
Path :
TargetType : Volume
PreserveExistingBackup : False
次にどのボリュームをバックアップするかを指定します。まずは全体のボリューム情報の確認です。
PS C:> Get-WBVolume -AllVolumes
VolumeLabel :
MountPath : D:
MountPoint : ?Volume{c948a59a-4794-11dd-995f-806e6f6e6963}
FileSystem : NTFS
Property : ValidSource
FreeSpace : 25328717824
TotalSpace : 52428800000
VolumeLabel :
MountPath : C:
MountPoint : ?Volume{c948a59b-4794-11dd-995f-806e6f6e6963}
FileSystem : NTFS
Property : Critical, ValidSource
FreeSpace : 29117566976
TotalSpace : 107610112000
VolumeLabel : HD-CNU2
MountPath : F:
MountPoint : ?Volume{1d553c30-7d8c-11de-afe2-001cc4d190f9}
FileSystem : FAT32
Property : None
FreeSpace : 999958052864
TotalSpace : 1000202241024
今回はC:ドライブをバックアップしますので指定します。
PS C:> $vol = Get-WBVolume -AllVolumes | Where{$_.MountPath -eq “C:”}
PS C:> Add-WBVolume -Policy $pol -Volume $vol
VolumeLabel :
MountPath : C:
MountPoint : ?Volume{c948a59b-4794-11dd-995f-806e6f6e6963}
FileSystem : NTFS
Property : Critical, ValidSource
FreeSpace : 29117517824
TotalSpace : 107610112000
そしてスケジュールの指定です。とりあえず変数$schedにぶち込みます。
PS C:> $sched = [datetime]”07/08/2009 16:00:00″
PS C:> $sched
2009年7月8日 16:00:00
当然ながらまだこの状態ではポリシーを見てもスケジュールされていません。
PS C:> $pol | fl
Schedule :
BackupTargets : {Microsoft.Windows.ServerBackup.Commands.WBBackupTarget}
VolumesToBackup : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
ではスケジュールを設定します。
PS C:> Set-WBSchedule -Policy $pol -Schedule $sched
2009年8月7日 16:00:00
これでポリシーを確認するとスケジュールが入っていますね
PS C:> $pol | fl
Schedule : {2009/08/07 16:00:00}
BackupTargets : {Microsoft.Windows.ServerBackup.Commands.WBBackupTarget}
VolumesToBackup : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
じゃあ、バックアップの設定をしますか~このHDDは初めて接続するのでフォーマットしちゃいます
PS C:> Set-WBPolicy -Policy $pol
警告!
をフォーマットしますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は “Y”): y
ここで全体のボリューム確認
PS C:> Get-WBVolume -AllVolumes
VolumeLabel :
MountPath : D:
MountPoint : ?Volume{c948a59a-4794-11dd-995f-806e6f6e6963}
FileSystem : NTFS
Property : ValidSource
FreeSpace : 25328717824
TotalSpace : 52428800000
VolumeLabel :
MountPath : C:
MountPoint : ?Volume{c948a59b-4794-11dd-995f-806e6f6e6963}
FileSystem : NTFS
Property : Critical, ValidSource
FreeSpace : 29117366272
TotalSpace : 107610112000
VolumeLabel : NewBackup
MountPath :
MountPoint : ?Volume{1d553c33-7d8c-11de-afe2-001cc4d190f9}
FileSystem : NTFS
Property : None
FreeSpace : 1000059502592
TotalSpace : 1000183914496
確かに新しいHDDがNewBackupとして存在していますね
そしてサマリーを確認すると・・・
PS C:> Get-WBSummary
NextBackupTime : 2009/08/07 16:00:00
NumberOfVersions : 0
LastSuccessfulBackupTime : 0001/01/01 0:00:00
LastSuccessfulBackupTargetPath :
LastSuccessfulBackupTargetLabel :
LastBackupTime : 0001/01/01 0:00:00
LastBackupTarget :
LastBackupResultHR : 0
LastBackupResultDetailedHR : 0
CurrentOperationStatus : NoOperationInProgress
DetailedMessage :
確かにスケジュールがされているのがわかりますね。
PS C:> Get-WBSummary
NextBackupTime : 2009/08/08 16:00:00
NumberOfVersions : 1
LastSuccessfulBackupTime : 2009/08/07 16:00:01
LastSuccessfulBackupTargetPath : ?Volume{1d553c33-7d8c-11de-afe2-001cc4d190f9}
LastSuccessfulBackupTargetLabel : NewBackup
LastBackupTime : 2009/08/07 16:00:01
LastBackupTarget : NewBackup
LastBackupResultHR : 0
LastBackupResultDetailedHR : 0
CurrentOperationStatus : NoOperationInProgress
DetailedMessage :
バックアップが終わりました~