ページ

2020/09/01

PowershellでWSB実行: ボリュームリストア(6)

具体的なスクリプト例

ボリュームリストア

Wドライブにバックアップしたボリューム(Fドライブ)を元の場所にリストアします。

wbadmin start recovery -version:03/15/2020-01:23 -backupTarget:W: -itemtype:Volume -items:F:


  • バックアップ元をWドライブに設定

$target = New-WBBackupTarget -VolumePath W:

  • バックアップ元からバックアップセットを検索

$backupset = Get-WBBackupSet -BackupTarget $target -MachineName $env:ComputerName | ? Volume -Match "F:"

  • 最新のバックアップセットを確認

複数バックアップ世代が作られていたら、直近のものを採用します。

$bs = $backupset.count - 1

$vl = $backupset[$bs].Volume | ? {$_.MountPath -match "F:"}

  • 直前のWSBジョブ履歴の開始日時の退避

$previous_starttime = (Get-WBJob -Previous 1).StartTime

  • リストアの実行

Start-WBVolumeRecovery -BackupSet $backupset[$bs] -VolumeInBackup $vl -Force

  • 実行結果(WSBジョブ履歴)の取得

Start-Sleep -Seconds 10

$wbstatus = Get-WBJob -previous 1

  • WSBジョブ履歴(実行結果)の確認

  1. StartTime(直前のジョブ以降である事)
  2. JobType('VolumeRecovery'である事)
  3. JobState('Completed'である事)
  4. HRESULT(0である事)

if (([datetime]$wbstatus.StartTime -gt [datetime]$previous_starttime) `

-and ($wbstatus.JobType -eq "VolumeRecovery") `

-and ($wbstatus.JobState -eq "Completed") `

-and ($wbstatus.HRESULT -eq 0) ) `

{echo "Backup Completed" } else {echo "Backup Failed"}



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。