次の方法で共有


PowerShell を使用した Windows Server/Windows クライアント用の Azure へのバックアップのデプロイと管理

この記事では、PowerShell を使用して Windows Server または Windows クライアントで Azure Backup を設定し、バックアップと回復を管理する方法について説明します。

Azure PowerShell をインストールする

Azure Az PowerShell モジュールを使用して Azure と対話することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールへの移行方法については、Migrate Azure PowerShell from AzureRM to Az を参照してください。

開始するには、 最新の PowerShell リリースをインストールします。

Recovery Services コンテナーを作成する

次の手順では、Recovery Services コンテナーの作成について説明します。 Recovery Services コンテナーは Backup コンテナーとは異なります。

  1. 初めて Azure Backup を使用する場合は、 Register-AzResourceProvider コマンドレットを使用して、Azure Recovery Service プロバイダーをサブスクリプションに登録する必要があります。

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Recovery Services コンテナーは Azure Resource Manager リソースであるため、リソース グループ内に配置する必要があります。 既存のリソース グループを使用することも、新しいリソース グループを作成することもできます。 新しいリソース グループを作成するときは、リソース グループの名前と場所を指定します。

    New-AzResourceGroup -Name "test-rg" –Location "WestUS"
    
  3. New-AzRecoveryServicesVault コマンドレットを使用して、新しいコンテナーを作成します。 リソース グループに使用した場所と同じコンテナーの場所を指定してください。

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. 使用するストレージ冗長性の種類を指定します。 ローカル冗長ストレージ (LRS)geo 冗長ストレージ (GRS) またはゾーン冗長ストレージ (ZRS) を使用できます。 次の例は、testVault-BackupStorageRedundancy オプションが GeoRedundant に設定されている場合を示しています。

    ヒント

    Azure Backup コマンドレットの多くは、入力として Recovery Services コンテナー オブジェクトを必要としています。 このため、Backup Recovery Services コンテナー オブジェクトを変数に格納すると便利です。

    $Vault1 = Get-AzRecoveryServicesVault -Name "testVault" 
    Set-AzRecoveryServicesBackupProperties -Vault $Vault1 -BackupStorageRedundancy GeoRedundant
    
    

サブスクリプション内のコンテナーを表示する

Get-AzRecoveryServicesVault を使用して、現在のサブスクリプション内のすべてのコンテナーの一覧を表示します。 このコマンドを使用して、新しいコンテナーが作成されたことを確認したり、サブスクリプションで使用できるコンテナーを確認したりできます。

コマンド Get-AzRecoveryServicesVault を実行すると、サブスクリプション内のすべてのコンテナーが一覧表示されます。

Get-AzRecoveryServicesVault
Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

MARS エージェントをアップグレードする

2\.0.9083.0 より前のバージョンの Microsoft Azure Recovery Service (MARS) エージェントには、Azure Access Control Service との依存関係があります。 MARS エージェントは、Azure Backup エージェントとも呼ばれます。

2018 年に、Microsoft では、Azure Access Control Service (ACS) が非推奨になりました。 2018 年 3 月 19 日以降、2.0.9083.0 より前のすべてのバージョンの MARS エージェントでバックアップが失敗します。 バックアップの失敗を回避または解決するには MARS エージェントを最新バージョンにアップグレードします。 MARS エージェントのアップグレードが必要なサーバーを識別するには、「Microsoft Azure Recovery Services (MARS) エージェントのアップグレード」の手順に従ってください。

MARS エージェントは、ファイル、フォルダー、およびシステム状態データを Azure にバックアップするために使用します。 System Center DPM および Azure Backup Server は、MARS エージェントを使用してデータを Azure にバックアップします。

Azure Backup エージェントのインストール

Azure Backup エージェントをインストールする前に、インストーラーをダウンロードして Windows Server に存在させる必要があります。 インストーラーの最新バージョンは、 Microsoft ダウンロード センター または Recovery Services コンテナーのダッシュボード ページから入手できます。 インストーラーを、 C:\Downloads\*などの簡単にアクセスできる場所に保存します。

または、PowerShell を使用してダウンローダーを取得します。

$MarsAURL = 'https://aka.ms/Azurebackup_Agent'
$WC = New-Object System.Net.WebClient
$WC.DownloadFile($MarsAURL,'C:\downloads\MARSAgentInstaller.exe')
C:\Downloads\MARSAgentInstaller.exe /q

エージェントをインストールするには、管理者特権の PowerShell コンソールで次のコマンドを実行します。

MARSAgentInstaller.exe /q

これにより、すべての既定のオプションでエージェントがインストールされます。 インストールには、バックグラウンドで数分かかります。 /nu オプションを指定しない場合は、インストールの最後に Windows Update ウィンドウが開き、更新プログラムがあるかどうかを確認します。 インストールされると、エージェントがインストールされているプログラムの一覧に表示されます。

インストールされているプログラムの一覧を表示するには、 コントロール パネル>Programs>Programs と機能に移動します。

エージェントがインストールされている

インストール オプション

コマンド ラインで使用可能なすべてのオプションを表示するには、次のコマンドを使用します。

MARSAgentInstaller.exe /?

使用可能なオプションは次のとおりです。

選択肢 詳細 既定値
/q 静かなインストール -
/p:"ロケーション" Azure Backup エージェントのインストール フォルダーへのパス。 C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"___location" Azure Backup エージェントのキャッシュ フォルダーへのパス。 C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m Microsoft Update にオプトインする -
/nu インストールが完了した後に更新プログラムを確認しない -
/d Microsoft Azure Recovery Services エージェントをアンインストールします -
/ph プロキシ ホスト アドレス -
/po プロキシ ホストのポート番号 -
/pu プロキシホストユーザー名 -
/パスワード プロキシ パスワード -

Windows Server または Windows クライアント コンピューターを Recovery Services コンテナーに登録する

Recovery Services コンテナーを作成したら、最新のエージェントとコンテナーの資格情報をダウンロードし、C:\Downloads などの便利な場所に保存します。

$CredsPath = "C:\downloads"
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault1 -Path $CredsPath

PowerShell Az モジュールを使用して登録する

Az 3.5.0 リリースでは、コンテナー証明書の生成に関するバグが修正されています。 Az 3.5.0 リリース バージョン以上を使用して、コンテナー証明書をダウンロードします。

PowerShell の最新の Az モジュールでは、基になるプラットフォームの制限があるため、コンテナーの資格情報をダウンロードするには自己署名証明書が必要です。 次の例は、自己署名証明書を提供し、ボールト資格情報をダウンロードする方法を示しています。


$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -FriendlyName 'test-vaultcredentials' -subject "Windows Azure Tools" -KeyExportPolicy Exportable -NotAfter $(Get-Date).AddHours(48) -NotBefore $(Get-Date).AddHours(-24) -KeyProtection None -KeyUsage None -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2") -Provider "Microsoft Enhanced Cryptographic Provider v1.0"
$certificate = [convert]::ToBase64String($cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx))
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault -Path $CredsPath -Certificate $certificate

Windows Server または Windows クライアント マシン上で、Start-OBRegistration コマンドレットを実行して、保管庫にマシンを登録します。 このコマンドレットと、バックアップに使用されるその他のコマンドレットは、インストール プロセスの一部として MARS AgentInstaller が追加した PowerShell モジュールからのコマンドレットです。

エージェント インストーラーは、$Env:PSModulePath 変数を更新しません。 つまり、モジュールの自動読み込みが失敗します。 これを解決するには、次の操作を行います。

$Env:PSModulePath += ';C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules'

または、次のようにスクリプトにモジュールを手動で読み込むことができます。

Import-Module -Name 'C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules\MSOnlineBackup'

オンライン バックアップ コマンドレットを読み込んだら、ボールトの資格情報を登録します。

Start-OBRegistration -VaultCredentials $CredsFilename.FilePath -Confirm:$false
CertThumbprint      : 7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ServiceResourceName : testvault
Region              : WestUS
Machine registration succeeded.

重要

相対パスを使用してボルト資格情報ファイルを指定しないでください。 コマンドレットへの入力として絶対パスを指定する必要があります。

ネットワークの設定

インターネットへの Windows マシンの接続がプロキシ サーバー経由である場合は、プロキシ設定をエージェントに提供することもできます。 この例では、プロキシ サーバーがないため、プロキシ関連の情報を明示的にクリアしています。

帯域幅の使用は、特定の曜日のセットの work hour bandwidthnon-work hour bandwidth のオプションを使用して制御することもできます。

プロキシと帯域幅の詳細の設定は、 Set-OBMachineSetting コマンドレットを使用して行われます。

Set-OBMachineSetting -NoProxy
Server properties updated successfully.
Set-OBMachineSetting -NoThrottle
Server properties updated successfully.

暗号化設定

Azure Backup に送信されるバックアップ データは、データの機密性を保護するために暗号化されます。 暗号化パスフレーズは、復元時にデータを復号化するための "パスワード" です。

Azure portal の Recovery Services ボールト セクションの 設定プロパティ>セキュリティ PIN生成 を選択して、セキュリティ ピンを生成する必要があります。

セキュリティ PIN は、Azure portal 経由でのみ生成できます。

次に、コマンドの generatedPIN としてこれを使用します。

$PassPhrase = ConvertTo-SecureString -String "Complex!123_STRING" -AsPlainText -Force
Set-OBMachineSetting -EncryptionPassPhrase $PassPhrase -SecurityPin "<generatedPIN>"
Server properties updated successfully

重要

パスフレーズ情報を設定したら、安全で安全な状態に保ちます。 このパスフレーズがないと、Azure からデータを復元することはできません。

ファイルとフォルダーのバックアップ

Windows Server とクライアントから Azure Backup へのすべてのバックアップは、ポリシーによって管理されます。 このポリシーには、次の 3 つの部分が含まれています。

  • バックアップを実行してサービスと同期する必要があるタイミングを指定するバックアップ スケジュール
  • Azure で復旧ポイントを保持する期間を指定する保持 スケジュール
  • バックアップする必要がある内容を指定する ファイルインクルード/除外仕様

このドキュメントでは、バックアップを自動化しているため、何も構成されていないことを前提としています。 まず、 New-OBPolicy コマンドレットを使用して新しいバックアップ ポリシーを作成します。

$NewPolicy = New-OBPolicy

現時点では、ポリシーは空であり、他のコマンドレットを使用して、含める項目または除外する項目、バックアップを実行するタイミング、およびバックアップを格納する場所を定義する必要があります。

バックアップ スケジュールの構成

ポリシーの 3 つの部分の最初の部分は、 New-OBSchedule コマンドレットを使用して作成されるバックアップ スケジュールです。 バックアップ スケジュールは、バックアップを実行する必要があるタイミングを定義します。 スケジュールを作成するときは、次の 2 つの入力パラメーターを指定する必要があります。

  • バックアップを実行する曜日。 バックアップ ジョブは、1 日または毎日、またはその間の任意の組み合わせで実行できます。
  • バックアップ実行する時刻。 バックアップがトリガーされる 1 日の最大 3 つの異なる時刻を定義できます。

たとえば、毎週土曜日と日曜日の午後 4 時に実行されるバックアップ ポリシーを構成できます。

$Schedule = New-OBSchedule -DaysOfWeek Saturday, Sunday -TimesOfDay 16:00

バックアップ スケジュールはポリシーに関連付ける必要があり、 これは Set-OBSchedule コマンドレットを使用して実現できます。

Set-OBSchedule -Policy $NewPolicy -Schedule $Schedule
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s) DsList : PolicyName : RetentionPolicy : State : New PolicyState : Valid

保存ポリシーの構成

保持ポリシーは、バックアップ ジョブから作成された復旧ポイントの保持期間を定義します。 New-OBRetentionPolicy コマンドレットを使用して新しいアイテム保持ポリシーを作成する場合は、Azure Backup でバックアップ復旧ポイントを保持する日数を指定できます。 次の例では、アイテム保持ポリシーを 7 日間に設定します。

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

アイテム保持ポリシーは、コマンドレット Set-OBRetentionPolicy を使用してメイン ポリシーに関連付ける必要があります。

Set-OBRetentionPolicy -Policy $NewPolicy -RetentionPolicy $RetentionPolicy
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          :
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

バックアップするファイルを含める/除外する

OBFileSpec オブジェクトは、バックアップに含めるファイルと除外するファイルを定義します。 これは、コンピューター上の保護されたファイルとフォルダーを除外する一連の規則です。 必要な数のファイルインクルードまたは除外ルールを設定し、ポリシーに関連付けることができます。 新しい OBFileSpec オブジェクトを作成するときに、次のことができます。

  • 含めるファイルとフォルダーを指定する
  • 除外するファイルとフォルダーを指定する
  • 指定したフォルダー内の最上位ファイルのみをバックアップする必要があるかどうかを、フォルダー内のデータの再帰的バックアップを指定します。

後者は、New-OBFileSpec コマンドで -NonRecursive フラグを使用して実現されます。

次の例では、ボリューム C: と D: をバックアップし、Windows フォルダーと一時フォルダー内の OS バイナリを除外します。 これを行うには、 New-OBFileSpec コマンドレットを使用して 2 つのファイル仕様を作成します。1 つは包含用、もう 1 つは除外用です。 ファイル仕様が作成されると、 Add-OBFileSpec コマンドレットを使用してポリシーに関連付けられます。

$Inclusions = New-OBFileSpec -FileSpec @("C:\", "D:\")
$Exclusions = New-OBFileSpec -FileSpec @("C:\windows", "C:\temp") -Exclude
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Inclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Exclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\windows
                  IsExclude:True
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\temp
                  IsExclude:True
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

ポリシーの適用

これでポリシー オブジェクトが完成し、バックアップ スケジュール、保持ポリシー、ファイルの包含/除外リストが関連付けられます。 このポリシーは、Azure Backup で使用できるようにコミットできるようになりました。 新しく作成したポリシーを適用する前に、 Remove-OBPolicy コマンドレットを使用して、サーバーに関連付けられている既存のバックアップ ポリシーがないことを確認します。 ポリシーを削除すると、確認が求められます。 確認をスキップするには、コマンドレットで -Confirm:$false フラグを使用します。

セキュリティ PIN の設定を求めるメッセージが表示された場合は、コマンドレットの実行中に、 方法 1 のセクションを参照してください。

Get-OBPolicy | Remove-OBPolicy
Microsoft Azure Backup Are you sure you want to remove this backup policy? This will delete all the backed up data. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

ポリシー オブジェクトのコミットは、 Set-OBPolicy コマンドレットを使用して行われます。 これにより、確認も求められます。 確認をスキップするには、コマンドレットで -Confirm:$false フラグを使用します。

Set-OBPolicy -Policy $NewPolicy
Microsoft Azure Backup Do you want to save this backup policy ? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s)
DsList : {DataSource
         DatasourceId:4508156004108672185
         Name:C:\
         FileSpec:FileSpec
         FileSpec:C:\
         IsExclude:False
         IsRecursive:True,

         FileSpec
         FileSpec:C:\windows
         IsExclude:True
         IsRecursive:True,

         FileSpec
         FileSpec:C:\temp
         IsExclude:True
         IsRecursive:True,

         DataSource
         DatasourceId:4508156005178868542
         Name:D:\
         FileSpec:FileSpec
         FileSpec:D:\
         IsExclude:False
         IsRecursive:True
    }
PolicyName : c2eb6568-8a06-49f4-a20e-3019ae411bac
RetentionPolicy : Retention Days : 7
              WeeklyLTRSchedule :
              Weekly schedule is not set

              MonthlyLTRSchedule :
              Monthly schedule is not set

              YearlyLTRSchedule :
              Yearly schedule is not set
State : Existing PolicyState : Valid

Get-OBPolicy コマンドレットを使用して、既存のバックアップ ポリシーの詳細を表示できます。 バックアップ スケジュール用の Get-OBSchedule コマンドレットと保持ポリシー用の Get-OBRetentionPolicy コマンドレットを使用して、さらにドリルダウンできます。

Get-OBPolicy | Get-OBSchedule
SchedulePolicyName : 71944081-9950-4f7e-841d-32f0a0a1359a
ScheduleRunDays : {Saturday, Sunday}
ScheduleRunTimes : {16:00:00}
State : Existing
Get-OBPolicy | Get-OBRetentionPolicy
RetentionDays : 7
RetentionPolicyName : ca3574ec-8331-46fd-a605-c01743a5265e
State : Existing
Get-OBPolicy | Get-OBFileSpec
FileName : *
FilePath : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\
FileSpec : D:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\
FileSpec : C:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\windows
FileSpec : C:\windows
IsExclude : True
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\temp
FileSpec : C:\temp
IsExclude : True
IsRecursive : True

オンデマンド バックアップの実行

バックアップ ポリシーが設定されると、スケジュールに従ってバックアップが実行されます。 Start-OBBackup コマンドレットを使用して、オンデマンド バックアップをトリガーすることもできます。

Get-OBPolicy | Start-OBBackup
Initializing
Taking snapshot of volumes...
Preparing storage...
Generating backup metadata information and preparing the metadata VHD...
Data transfer is in progress. It might take longer since it is the first backup and all data needs to be transferred...
Data transfer completed and all backed up data is in the cloud. Verifying data integrity...
Data transfer completed
In progress...
Job completed.
The backup operation completed successfully.

MARS エージェントでの Windows Server システム状態のバックアップ

このセクションでは、MARS エージェントでシステム状態を設定する PowerShell コマンドについて説明します

スケジュール

$sched = New-OBSchedule -DaysOfWeek Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday -TimesOfDay 2:00

保持期間

$rtn = New-OBRetentionPolicy -RetentionDays 32 -RetentionWeeklyPolicy -RetentionWeeks 13 -WeekDaysOfWeek Sunday -WeekTimesOfDay 2:00  -RetentionMonthlyPolicy -RetentionMonths 13 -MonthDaysOfMonth 1 -MonthTimesOfDay 2:00

スケジュールとリテンション期間の構成

New-OBPolicy | Add-OBSystemState |  Set-OBRetentionPolicy -RetentionPolicy $rtn | Set-OBSchedule -Schedule $sched | Set-OBSystemStatePolicy

ポリシーの確認

Get-OBSystemStatePolicy

Azure Backup からデータを復元する

このセクションでは、Azure Backup からのデータの復旧を自動化する手順について説明します。 これを行うには、次の手順が必要です。

  1. ソース ボリュームを選択する
  2. 復元するバックアップ ポイントを選択する
  3. 復元する項目を指定する
  4. 復元プロセスをトリガーする

ソース ボリュームの選択

Azure Backup から項目を復元するには、まず項目のソースを特定する必要があります。 Windows Server または Windows クライアントのコンテキストでコマンドを実行しているため、マシンは既に識別されています。 ソースを識別する次の手順は、ソースを含むボリュームを識別することです。 このマシンからバックアップされているボリュームまたはソースの一覧は、 Get-OBRecoverableSource コマンドレットを実行して取得できます。 このコマンドは、このサーバー/クライアントからバックアップされたすべてのソースの配列を返します。

$Source = Get-OBRecoverableSource
$Source
FriendlyName : C:\
RecoverySourceName : C:\
ServerName : myserver.microsoft.com

FriendlyName : D:\
RecoverySourceName : D:\
ServerName : myserver.microsoft.com

復元するバックアップポイントの選択

適切なパラメーターを指定して Get-OBRecoverableItem コマンドレットを実行して、バックアップ ポイントの一覧を取得します。 この例では、ソース ボリューム C の 最新のバックアップ ポイントを選択し、それを使用して特定のファイルを回復します。

$Rps = Get-OBRecoverableItem $Source[0]
$Rps

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/16/2019 7:00:19 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

$Rpsオブジェクトは、バックアップ ポイントの配列です。 最初の要素は最新のポイントで、N 番目の要素は最も古いポイントです。 最新のポイントを選択するには、 $Rps[0]を使用します。

復元する項目の指定

特定のファイルを復元するには、ルート ボリュームに対する相対ファイル名を指定します。 たとえば、C:\Test\Cat.job を取得するには、次のコマンドを実行します。

$Item = New-OBRecoverableItem $Rps[0] "Test\cat.jpg" $FALSE
$Item
IsDir                : False
ItemNameFriendly     : C:\Test\cat.jpg
ItemNameGuid         :
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : cat.jpg
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime : 21-Jun-14 6:43:02 AM

復元プロセスを開始する

復元プロセスをトリガーするには、最初に回復オプションを指定する必要があります。 これを行うには、 New-OBRecoveryOption コマンドレットを 使用します。 この例では、 ファイルを C:\temp に復元するとします。また、コピー先フォルダー C:\temp に既に存在するファイルをスキップするとします。このような回復オプションを作成するには、次のコマンドを使用します。

$RecoveryOption = New-OBRecoveryOption -DestinationPath "C:\temp" -OverwriteType Skip

次に、Get-OBRecoverableItem コマンドレットの出力から選択した$ItemStart-OBRecovery コマンドを使用して、復元プロセスをトリガーします。

Start-OBRecovery -RecoverableItem $Item -RecoveryOption $RecoveryOption
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Job completed.
The recovery operation completed successfully.

リージョンをまたがる復元

クロスリージョンリストア(CRR)を利用すると、Azure ペアリージョンであるセカンダリーリージョンから MARS バックアップデータを復元できます。 Azureにおける災害発生の際に、主要リージョンが利用不可能になった場合のデータ復旧を行うとともに、監査やコンプライアンスのための訓練を実施できるようにします。

元のサーバーの復元

セカンダリ リージョン (リージョン間の復元) から元のサーバーの復元を実行する場合は、OBRecoverableSource オブジェクトの取得中にUseSecondaryRegionフラグを使用します。

$sources = Get-OBRecoverableSource -UseSecondaryRegion
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption -DestinationPath $RecoveryPath -OverwriteType Overwrite
Start-OBRecovery -RecoverableItem $RP -RecoveryOption $RO -Async | ConvertTo-Json

代替サーバーの復元

セカンダリ リージョンからの代替サーバーの復元 (リージョン間復元) を実行している場合は、Azure portal から セカンダリ リージョン コンテナーの資格情報ファイル をダウンロードし、復元のためにセカンダリ リージョン コンテナーの資格情報を渡します。

$serverName = ‘myserver.mycompany.com’
$secVaultCred = “C:\Users\myuser\Downloads\myvault_Mon Jul 17 2023.VaultCredentials”
$passphrase = ‘Default Passphrase’
$alternateServers = Get-OBAlternateBackupServer -VaultCredentials $secVaultCred
$altServer = $alternateServers[2] | Where-Object {$_.ServerName -Like $serverName}
$pwd = ConvertTo-SecureString -String $passphrase -AsPlainText -Force
$sources = Get-OBRecoverableSource $altServer
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption
Start-OBRecoveryMount -RecoverableItem $RP -RecoveryOption $RO -EncryptionPassphrase $pwd  -Async | ConvertTo-Json 

Azure Backup エージェントをアンインストールする

Azure Backup エージェントのアンインストールは、次のコマンドを使用して行うことができます。

.\MARSAgentInstaller.exe /d /q

マシンからエージェント バイナリをアンインストールすると、考慮すべきいくつかの結果があります。

  • コンピューターからファイル フィルターが削除され、変更の追跡が停止されます。
  • すべてのポリシー情報はコンピューターから削除されますが、ポリシー情報は引き続きサービスに格納されます。
  • すべてのバックアップ スケジュールが削除され、それ以上のバックアップは実行されません。

ただし、Azure に格納されているデータは保持され、ユーザーが設定したアイテム保持ポリシーに従って保持されます。 古いポイントは自動的に期限切れになります。

リモート管理

Azure Backup エージェント、ポリシー、データ ソースに関するすべての管理は、PowerShell を使用してリモートで行うことができます。 リモートで管理されるマシンは、正しく準備する必要があります。

既定では、WinRM サービスは手動スタートアップ用に構成されています。 スタートアップの種類を [自動] に設定し、サービスを開始する必要があります。 WinRM サービスが実行されていることを確認するには、Status プロパティの値が Running である必要があります。

Get-Service -Name WinRM
Status   Name               DisplayName
------   ----               -----------
Running  winrm              Windows Remote Management (WS-Manag...

リモート処理用に PowerShell を構成する必要があります。

Enable-PSRemoting -Force
WinRM is already set up to receive requests on this computer.
WinRM has been updated for remote management.
WinRM firewall exception enabled.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force

エージェントのインストールから開始して、コンピューターをリモートで管理できるようになりました。 たとえば、次のスクリプトは、エージェントをリモート コンピューターにコピーしてインストールします。

$DLoc = "\\REMOTESERVER01\c$\Windows\Temp"
$Agent = "\\REMOTESERVER01\c$\Windows\Temp\MARSAgentInstaller.exe"
$Args = "/q"
Copy-Item "C:\Downloads\MARSAgentInstaller.exe" -Destination $DLoc -Force

$Session = New-PSSession -ComputerName REMOTESERVER01
Invoke-Command -Session $Session -Script { param($D, $A) Start-Process -FilePath $D $A -Wait } -ArgumentList $Agent, $Args

次のステップ

Windows Server/クライアント用 Azure Backup の詳細については、以下を参照してください。