Sichern und Wiederherstellen von virtuellen Azure-Computern mit Azure PowerShell

Dieser Artikel beschreibt das Sichern und Wiederherstellen eines virtuellen Azure-Computers in einem Azure Backup-Recovery Services-Tresor mit PowerShell-Cmdlets.

Azure Backup bietet unabhängige und isolierte Sicherungen zum Schutz vor dem versehentlichen Löschen der Daten auf Ihren VMs. Sicherungen werden in einem Recovery Services-Tresor mit integrierter Verwaltung von Wiederherstellungspunkten gespeichert. Konfiguration und Skalierung sind unkompliziert. Sicherungen werden außerdem optimiert und können bei Bedarf problemlos wiederhergestellt werden.

Bevor Sie einen virtuellen Computer sichern oder schützen können, müssen Sie die Voraussetzungen zum Vorbereiten der Umgebung auf den Schutz Ihrer VMs schaffen.

Vorbereitung

Recovery Services-Objekthierarchie

Die Objekthierarchie ist im folgenden Diagramm zusammengefasst.

Disgram shows the Recovery Services object hierarchy.

Sehen Sie sich die Cmdlet-Referenz zu Az.RecoveryServices in der Azure-Bibliothek an.

Einrichten und Registrieren

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Vorbereitung:

  1. Laden Sie die neueste Version von PowerShell herunter.

  2. Ermitteln Sie die Azure-PowerShell-Cmdlets zur Datensicherung mithilfe des folgenden Befehls:

    Get-Command *azrecoveryservices*
    

    Die Aliase und Cmdlets für Azure Backup, Azure Site Recovery und den Recovery Services-Tresor werden angezeigt. Die folgende Abbildung ist ein Beispiel für die angezeigten Elemente. Dies ist nicht die vollständige Liste von Cmdlets.

    Screenshot shows the list of Recovery Services.

  3. Melden Sie sich mithilfe von Connect-AzAccount bei Ihrem Azure-Konto an. Dieses Cmdlet ruft eine Webseite auf, die Sie zur Eingabe Ihrer Kontoanmeldeinformationen auffordert:

    • Alternativ können Sie Ihre Kontoanmeldeinformationen als Parameter im Cmdlet Connect-AzAccount mit dem Parameter -Credential angeben.
    • Wenn Sie als CSP-Partner für einen Mandanten tätig sind, geben Sie den Kunden mit dessen Mandanten-ID oder primären Mandantendomänennamen als Mandanten an. Beispiel: Connect-AzAccount -Tenant „fabrikam.com“
  4. Da ein Konto mehrere Abonnements enthalten kann, müssen Sie das Abonnement, das Sie verwenden möchten, dem Konto zuordnen:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  5. Falls Sie Azure Backup zum ersten Mal verwenden, müssen Sie den Azure Recovery Service-Anbieter mithilfe des Cmdlets Register-AzResourceProvider bei Ihrem Abonnement registrieren.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  6. Mithilfe der folgenden Befehle können Sie überprüfen, ob die Anbieter erfolgreich registriert wurden:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    In der Befehlsausgabe sollte sich der RegistrationState-Wert in Registriert ändern. Ist dies nicht der Fall, führen Sie einfach das Cmdlet Register-AzResourceProvider erneut aus.

Erstellen eines Recovery Services-Tresors

Mit den folgenden Schritten können Sie einen Recovery Services-Tresor erstellen. Ein Recovery Services-Tresor unterscheidet sich von einem Sicherungstresor.

  1. Der Recovery Services-Tresor ist eine Resource Manager-Ressource. Deshalb müssen Sie ihn in eine Ressourcengruppe einfügen. Sie können eine vorhandene Ressourcengruppe verwenden oder mit dem Cmdlet New-AzResourceGroup eine Ressourcengruppe erstellen. Wenn Sie eine Ressourcengruppe erstellen, geben Sie den Namen und den Speicherort für die Ressourcengruppe an.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Erstellen Sie mithilfe des Cmdlets New-AzRecoveryServicesVault den Recovery Services-Tresor. Stellen Sie sicher, dass Sie den gleichen Speicherort für den Tresor angeben, der für die Ressourcengruppe verwendet wurde.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. Geben Sie den Typ der zu verwendenden Speicherredundanz an. Sie können lokal redundanten Speicher (LRS), georedundanten Speicher (GRS) oder zonenredundanten Speicher (ZRS) verwenden. Das folgende Beispiel zeigt, dass die Option -BackupStorageRedundancy für testvault auf GeoRedundant festgelegt ist.

    $vault1 = Get-AzRecoveryServicesVault -Name "testvault"
    Set-AzRecoveryServicesBackupProperty  -Vault $vault1 -BackupStorageRedundancy GeoRedundant
    

    Tipp

    Viele Azure Backup-Cmdlets benötigen das Recovery Services-Tresorobjekt als Eingabe. Aus diesem Grund sollte das Backup Recovery Services-Tresorobjekt in einer Variablen gespeichert werden.

Anzeigen von Tresoren in einem Abonnement

Verwenden Sie Get-AzRecoveryServicesVault, um alle Tresore des Abonnements anzuzeigen:

Get-AzRecoveryServicesVault

Die Ausgabe ähnelt dem folgenden Beispiel. Beachten Sie, dass die zugeordneten Elemente „ResourceGroupName“ und „Location“ angegeben sind.

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

Sichern von Azure-VMs

Verwenden Sie einen Recovery Services-Tresor zum Schutz Ihrer virtuellen Computer. Bevor Sie den Schutz anwenden, legen Sie den Tresorkontext (den Typ der Daten, die im Tresor geschützt werden) fest, und überprüfen Sie die Schutzrichtlinie. Die Schutzrichtlinie stellt den Zeitplan für die Ausführung des Sicherungsauftrags dar, und für die Aufbewahrungsdauer jeder Sicherungsmomentaufnahme.

Festlegen des Tresorskontexts

Verwenden Sie vor dem Aktivieren des Schutzes auf einem virtuellen Computer Set-AzRecoveryServicesVaultContext, um den Tresorkontext festzulegen. Sobald der Tresorkontext festgelegt ist, gilt er für alle nachfolgenden-Cmdlets. Im folgenden Beispiel wird der Tresorkontext für den Tresor testvault festgelegt.

Get-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "Contoso-docs-rg" | Set-AzRecoveryServicesVaultContext

Abrufen der Tresor-ID

Es ist geplant, die Tresorkontexteinstellung gemäß den Azure PowerShell-Richtlinien als veraltet zu kennzeichnen. Stattdessen können Sie die Tresor-ID speichern oder abrufen und an relevante Befehle übergeben. Wenn Sie also den Tresorkontext nicht festgelegt haben oder den Befehl so angeben möchten, dass er für einen bestimmten Tresor ausgeführt wird, übergeben Sie die Tresor-ID wie folgt als „-vaultID“ an alle relevanten Befehle:

$targetVault = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault"
$targetVault.ID

oder

$targetVaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID

Ändern der Einstellungen für die Speicherreplikation

Verwenden Sie den Befehl Set-AzRecoveryServicesBackupProperty, um die Konfiguration für Speicherreplikation des Tresors auf „LRS/GRS“ festzulegen.

Set-AzRecoveryServicesBackupProperty -Vault $targetVault -BackupStorageRedundancy GeoRedundant/LocallyRedundant

Hinweis

Die Speicherredundanz kann nur geändert werden, wenn im Tresor keine Sicherungselemente vorhanden sind.

Erstellen einer Schutzrichtlinie

Wenn Sie einen Recovery Services-Tresor erstellen, enthält er automatisch standardmäßige Schutz- und Aufbewahrungsrichtlinien. Die standardmäßige Schutzrichtlinie löst täglich zu einem angegebenen Zeitpunkt einen Sicherungsauftrag aus. Die standardmäßige Aufbewahrungsrichtlinie bewahrt den täglichen Wiederherstellungspunkt für 30 Tage auf. Mit der Standardrichtlinie können Sie Ihren virtuellen Computer schnell schützen und die Richtlinie später mit anderen Details bearbeiten.

Verwenden Sie Get-AzRecoveryServicesBackupProtectionPolicy , um die im Tresor verfügbaren Schutzrichtlinien anzuzeigen. Sie können dieses Cmdlet zum Abrufen einer bestimmten Richtlinie verwenden oder um Richtlinien anzuzeigen, die einem bestimmten Workloadtyp zugeordnet sind. Im folgenden Beispiel werden Richtlinien für den Workloadtyp „AzureVM“ abgerufen.

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
DefaultPolicy        AzureVM            AzureVM              4/14/2016 5:00:00 PM

Hinweis

Die Zeitzone des Feldes „BackupTime“ in PowerShell ist UTC. Wenn jedoch der Zeitpunkt der Sicherung im Azure-Portal angezeigt wird, wird die Zeit auf Ihre lokale Zeitzone eingestellt.

Eine Sicherungsschutzrichtlinie ist mindestens einer Aufbewahrungsrichtlinie zugeordnet. Eine Aufbewahrungsrichtlinie definiert, wie lange ein Wiederherstellungspunkt gespeichert werden soll, bevor er gelöscht wird.

Eine Startzeit wird standardmäßig im Schedule Policy Object (Zeitplanrichtlinienobjekt) definiert. Verwenden Sie das folgende Beispiel, um die Startzeit in die gewünschte Startzeit zu ändern. Die gewünschte Startzeit sollte ebenfalls in UTC angegeben werden. Beim folgenden Beispiel wird vorausgesetzt, dass die gewünschte Startzeit für tägliche Sicherungen 01:00 Uhr UTC ist.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

Wichtig

Sie können die Startzeit nur in 30-Minuten-Einheiten angeben. Im vorstehenden Beispiel kann sie nur „01:00:00“ oder „02:30:00“ lauten. „01:15:00“ kann nicht als Startzeit angegeben werden.

Im folgenden Beispiel werden die Zeitplanrichtlinie und die Aufbewahrungsrichtlinie in Variablen gespeichert. Im Beispiel werden diese Variablen verwendet, um die Parameter beim Erstellen einer Schutzrichtlinie,NewPolicy, zu definieren.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultId $targetVault.ID

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewPolicy           AzureVM            AzureVM              4/24/2016 1:30:00 AM

Schutz aktivieren

Nachdem Sie die Schutzrichtlinie definiert haben, müssen Sie noch die Richtlinie für ein Element aktivieren. Verwenden Sie Enable-AzRecoveryServicesBackupProtection, um den Schutz zu aktivieren. Zum Aktivieren des Schutzes sind zwei Objekte erforderlich – das Element und die Richtlinie. Sobald die Richtlinie mit dem Tresor verknüpft ist, wird der Sicherungsworkflow zu dem im Richtlinienzeitplan definierten Zeitpunkt gestartet.

Wichtig

Wenn Sie die Sicherung mithilfe von PowerShell für mehrere virtuelle Computer gleichzeitig aktivieren, dürfen pro Richtlinie maximal 100 virtuelle Computer zugeordnet sein. Dies wird als bewährte Methode empfohlen. Zurzeit blockiert der PowerShell-Client die Aktivierung bei mehr als 100 virtuellen Computern nicht explizit. Diese Überprüfung soll aber in Zukunft hinzugefügt werden.

Im folgenden Beispiel wird der Schutz für das Element „V2VM“ mithilfe der Richtlinie „NewPolicy“ aktiviert. Die Beispiele unterscheiden sich in Abhängigkeit davon, ob der virtuelle Computer verschlüsselt ist und welche Art von Verschlüsselung verwendet wird.

Gehen Sie wie folgt vor, um den Schutz für nicht verschlüsselte Resource Manager-VMs zu aktivieren:

$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

Um den Schutz auf verschlüsselten VMs (verschlüsselt mit BEK und KEK) zu aktivieren, müssen Sie dem Azure Backup-Dienst die Berechtigung zum Lesen von Schlüsseln und Geheimnissen aus dem Schlüsseltresor zuweisen.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToKeys backup,get,list -PermissionsToSecrets get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

Um den Schutz auf verschlüsselten VMs (nur mit BEK verschlüsselt) zu aktivieren, müssen Sie dem Azure Backup-Dienst die Berechtigung zum Lesen von Geheimnissen aus dem Schlüsseltresor zuweisen.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

Hinweis

Wenn Sie die Azure Government-Cloud verwenden, geben Sie im Cmdlet Set-AzKeyVaultAccessPolicy für den Parameter ServicePrincipalName den Wert ff281ffe-705c-4f53-9f37-a40e6f2c68f3 an.

Wenn Sie bestimmte Datenträger selektiv sichern und andere ausschließen möchten (wie z. B. in diesen Szenarien), können Sie den Schutz konfigurieren und nur die relevanten Datenträger sichern, wie hier beschrieben.

Überwachen eines Sicherungsauftrags

Sie können Vorgänge mit langer Ausführungsdauer, z.B. Sicherungsaufträge, ohne das Azure-Portal überwachen. Mit dem Cmdlet Get-AzRecoveryservicesBackupJob können Sie den Status eines Auftrags abrufen, der sich in Bearbeitung befindet. Dieses Cmdlet ruft die Sicherungsaufträge für einen bestimmten Tresor ab. Dieser Tresor ist im Tresorkontext angegeben. Im folgenden Beispiel wird der Status eines laufenden Auftrags als Array abgerufen und in der Variable „$joblist“ gespeichert.

$joblist = Get-AzRecoveryservicesBackupJob –Status "InProgress" -VaultId $targetVault.ID
$joblist[0]

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM             Backup               InProgress            4/23/2016                5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Anstatt die Fertigstellung dieser Aufträge abzufragen (und dafür unnötigen zusätzlichen Code zu schreiben), verwenden Sie das Cmdlet Wait-AzRecoveryServicesBackupJob. Dieses Cmdlet hält die Ausführung an, bis entweder der Auftrag abgeschlossen oder der angegebene Timeoutwert erreicht ist.

Wait-AzRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200 -VaultId $targetVault.ID

Verwalten von Azure-VM-Sicherungen

Ändern einer Schutzrichtlinie

Verwenden Sie Set-AzRecoveryServicesBackupProtectionPolicy zum Bearbeiten der Schutzrichtlinie, um die Objekte SchedulePolicy oder RetentionPolicy zu ändern.

Ändern der geplanten Zeit

Wenn Sie eine Schutzrichtlinie erstellen, wird ihr standardmäßig eine Startzeit zugewiesen. In den folgenden Beispielen wird gezeigt, wie Sie die Startzeit einer Schutzrichtlinie ändern.

$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z" (This is the time that you want to start the backup)
$UtcTime = $UtcTime.ToUniversalTime()
$SchPol.ScheduleRunTimes[0] = $UtcTime
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -SchedulePolicy $SchPol -VaultId $targetVault.ID

Ändern der Aufbewahrungsdauer

Im folgenden Beispiel wird der Aufbewahrungswert von Wiederherstellungspunkten in 365 Tage geändert.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -RetentionPolicy $RetPol -VaultId $targetVault.ID

Konfigurieren der Aufbewahrungsdauer von Momentaufnahmen für sofortige Wiederherstellung

Hinweis

Ab Azure PowerShell, Version 1.6.0, können Sie die Aufbewahrungsdauer von Momentaufnahmen für sofortige Wiederherstellung in Richtlinien mithilfe von PowerShell aktualisieren.

$bkpPol = Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID
$bkpPol.SnapshotRetentionInDays=7
Set-AzRecoveryServicesBackupProtectionPolicy -policy $bkpPol -VaultId $targetVault.ID

Dazu wird der Standardwert „2“ verwendet. Sie können für den Wert als Minimum „1“ und als Maximum „5“ festlegen. Bei Richtlinien zu wöchentlichen Sicherungen wird der Zeitraum auf „5“ festgelegt und kann nicht geändert werden.

Erstellen einer Azure Backup-Ressourcengruppe während der Aufbewahrung von Momentaufnahmen

Hinweis

Ab Azure PowerShell, Version 3.7.0, können Sie die Ressourcengruppe erstellen und bearbeiten, die für das Speichern von Sofortmomentaufnahmen angelegt wird.

Ausführlichere Informationen zu den Regeln der Erstellung von Ressourcengruppen und andere relevante Details finden Sie in der Dokumentation unter Azure Backup-Ressourcengruppe für virtuelle Computer.

$bkpPol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -name "DefaultPolicyForVMs"
$bkpPol.AzureBackupRGName="Contosto_"
$bkpPol.AzureBackupRGNameSuffix="ForVMs"
Set-AzureRmRecoveryServicesBackupProtectionPolicy -policy $bkpPol

Ausschließen von Datenträgern einer geschützten VM

Die Azure-VM-Sicherung bietet eine Möglichkeit, Datenträger selektiv aus- oder einzuschließen. Dies ist z. B. in diesen Szenarien hilfreich. Wenn die VM bereits durch die Azure-VM-Sicherung geschützt ist und alle Datenträger gesichert sind, können Sie den Schutz so anpassen, dass bestimmte Datenträger wie hier beschrieben ein- oder ausgeschlossen werden.

Auslösen einer Sicherung

Verwenden Sie Backup-AzRecoveryServicesBackupItem, um einen Sicherungsauftrag auszulösen. Wenn es die erste Sicherung ist, handelt es sich um eine vollständige Sicherung. Nachfolgende Sicherungen erstellen inkrementelle Kopien. Im folgenden Beispiel wird eine VM-Sicherung 60 Tage lang aufbewahrt:

$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
$endDate = (Get-Date).AddDays(60).ToUniversalTime()
$job = Backup-AzRecoveryServicesBackupItem -Item $item -VaultId $targetVault.ID -ExpiryDateTimeUTC $endDate

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM              Backup              InProgress          4/23/2016                  5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Hinweis

Die Zeitzone der Felder „StartTime“ und „EndTime“ in PowerShell ist UTC. Wenn jedoch der Zeitpunkt im Azure-Portal angezeigt wird, wird die Zeit auf Ihre lokale Zeitzone eingestellt.

Ändern der Richtlinie für Sicherungselemente

Sie können entweder die vorhandene Richtlinie bearbeiten oder die Richtlinie des gesicherten Elements von „Richtlinie1“ in „Richtlinie2“ ändern. Zum Wechseln der Richtlinien für ein gesichertes Element rufen Sie die entsprechende Richtlinie und das Sicherungselement ab, und verwenden Sie den Befehl Enable-AzRecoveryServices mit dem Sicherungselement als Parameter.

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

Der Befehl wartet, bis die Sicherungskonfiguration abgeschlossen ist, und gibt die folgende Ausgabe zurück:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
TestVM           ConfigureBackup      Completed            3/18/2019 8:00:21 PM      3/18/2019 8:02:16 PM      654e8aa2-4096-402b-b5a9-e5e71a496c4e

Schutz beenden

Beibehalten von Daten

Wenn Sie den Schutz verhindern möchten, können Sie dafür das PowerShell-Cmdlet Disable-AzRecoveryServicesBackupProtection verwenden. Dadurch werden die geplanten Sicherungen beendet, doch werden die bis zu diesem Zeitpunkt gesicherten Daten dauerhaft beibehalten.

$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -Name "<backup item name>" -VaultId $targetVault.ID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID

Sicherung fortsetzen

Wenn der Schutz beendet wird und die Sicherungsdaten beibehalten werden, können Sie den Schutz erneut fortsetzen. Sie müssen eine Richtlinie für den erneuerten Schutz zuweisen. Das Cmdlet ist identisch mit dem zum Ändern der Richtlinie für Sicherungselemente.

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

Löschen von Sicherungsdaten

Wenn Sie die gespeicherten Sicherungsdaten im Tresor vollständig entfernen möchten, fügen Sie dem Befehl „disable“ protection das Flag/den Switch „-RemoveRecoveryPoints“ hinzu.

Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID -RemoveRecoveryPoints

Wiederherstellen eines virtuellen Azure-Computers

Es gibt einen wichtigen Unterschied zwischen dem Wiederherstellen eines virtuellen Computers über das Azure-Portal und dem Wiederherstellen eines virtuellen Computers mithilfe von PowerShell. Mit PowerShell ist der Wiederherstellungsvorgang mit der Erstellung der Datenträger und den Konfigurationsinformationen aus dem Wiederherstellungspunkt abgeschlossen. Beim Wiederherstellungsvorgang wird kein virtueller Computer erstellt. Informationen zum Erstellen eines virtuellen Computers aus einem Datenträger finden Sie im Abschnitt Erstellen eines virtuellen Computers aus wiederhergestellten Datenträgern. Wenn Sie nicht den gesamten virtuellen Computer wiederherstellen möchten, sondern nur einige Dateien aus einer Azure-VM-Sicherung, helfen Ihnen die Informationen im Abschnitt zur Dateiwiederherstellung weiter.

Tipp

Beim Wiederherstellungsvorgang wird kein virtueller Computer erstellt.

Die folgende Grafik zeigt die Objekthierarchie vom RecoveryServicesVault bis zum BackupRecoveryPoint.

Screenshot shows the BackupContainer listed by Recovery Services object hierarchy.

Identifizieren Sie das gesicherte Element und den Wiederherstellungspunkt, der die Zeitpunktdaten enthält, um die gesicherten Daten wiederherstellen zu können. Verwenden Sie Restore-AzRecoveryServicesBackupItem, um Daten aus dem Tresor in Ihrem Konto wiederherzustellen.

Zum Wiederherstellen eines virtuellen Azure-Computers müssen Sie folgende grundlegende Schritte ausführen:

  • Wählen Sie den virtuellen Computer aus.
  • Wählen Sie einen Wiederherstellungspunkt aus.
  • Stellen Sie die Datenträger wieder her.
  • Erstellen Sie den virtuellen Computer über die gespeicherten Datenträger.

Jetzt können Sie auch PowerShell verwenden, um den Sicherungsinhalt direkt auf dem ursprünglichen oder einem neuen virtuellen Computer wiederherzustellen, ohne die oben genannten Schritte separat auszuführen. Weitere Informationen finden Sie unter Wiederherstellen von Daten auf virtuellen Computern mithilfe von PowerShell.

Auswählen des virtuellen Computers (beim Wiederherstellen von Dateien)

Zum Abrufen des PowerShell-Objekts, das das richtige Sicherungselement identifiziert, starten Sie vom Container im Tresor aus, und durchlaufen Sie die Objekthierarchie nach unten. Verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupContainer, und leiten Sie dessen Ausgabe an das Cmdlet Get-AzRecoveryServicesBackupItem weiter, um den Container auszuwählen, der den virtuellen Computer darstellt.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

Auswählen eines Wiederherstellungspunkts (beim Wiederherstellen von Dateien)

Verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupRecoveryPoint, um alle Wiederherstellungspunkte für das Sicherungselement aufzulisten. Wählen Sie anschließend den zu wiederherstellenden Wiederherstellungspunkt. Wenn Sie nicht genau wissen, welchen Wiederherstellungspunkt Sie verwenden sollen, empfiehlt es sich, den letzten „RecoveryPointType = AppConsistent“-Punkt in der Liste auszuwählen.

Im folgenden Skript ist die Variable $rp ein Array von Wiederherstellungspunkten für das ausgewählte Sicherungselement der letzten sieben Tage. Das Array wird in umgekehrter Reihenfolge sortiert. Der letzte Wiederherstellungspunkt liegt bei Index 0. Verwenden Sie die standardmäßige PowerShell-Arrayindizierung zum Auswählen des Wiederherstellungspunkts. Im Beispiel wählt „$rp[0]“ den letzten Wiederherstellungspunkt aus.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

Wiederherstellung der Datenträger

Verwenden Sie das Cmdlet Restore-AzRecoveryServicesBackupItem, um Daten und die Konfiguration eines Sicherungselements auf einem Wiederherstellungspunkt wiederherzustellen. Nachdem Sie einen Wiederherstellungspunkt ermittelt haben, können Sie ihn als Wert für den -RecoveryPoint-Parameter verwenden. Im vorstehenden Beispiel wurde $rp[0] als Wiederherstellungspunkt verwendet. Im folgenden Beispielcode ist $rp[0] der Wiederherstellungspunkt, der zum Wiederherstellen des Datenträgers verwendet wird.

So stellen Sie den Datenträger und die Konfigurationsinformationen wieder her:

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID
$restorejob

Wiederherstellen von verwalteten Datenträgern

Hinweis

Wenn die gesicherte VM über verwaltete Datenträger verfügt und Sie diese als verwaltete Datenträger wiederherstellen möchten, können Sie die Funktion aus dem Azure PowerShell-RM-Modul Version 6.7.0 oder höher nutzen.

Geben Sie den zusätzlichen Parameter TargetResourceGroupName an, um die RG festzulegen, in der die verwalteten Datenträger gespeichert werden.

Wichtig

Es wird dringend empfohlen, den Parameter TargetResourceGroupName für die Wiederherstellung von verwalteten Datenträgern zu verwenden, da dies zu erheblichen Leistungssteigerungen führt. Wenn dieser Parameter nicht angegeben wird, können Sie nicht von der Funktionalität zur sofortigen Wiederherstellung profitieren, und der Wiederherstellungsvorgang verläuft im Vergleich langsamer. Wenn Sie verwaltete Datenträger als nicht verwaltete Datenträger wiederherstellen möchten, geben Sie diesen Parameter nicht an, sondern verdeutlichen Sie Ihre Absicht durch Angabe des Parameters -RestoreAsUnmanagedDisks. Der Parameter -RestoreAsUnmanagedDisks steht ab Azure PowerShell 3.7.0 zur Verfügung. In zukünftigen Versionen ist die Angabe eines dieser Parameter für die richtige Wiederherstellung obligatorisch.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID

Die Datei VMConfig.JSON wird für das Speicherkonto wiederhergestellt, und die verwalteten Datenträger werden in der angegebenen Zielressourcengruppe wiederhergestellt.

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

WorkloadName     Operation          Status               StartTime                 EndTime            JobID
------------     ---------          ------               ---------                 -------          ----------
V2VM              Restore           InProgress           4/23/2016 5:00:30 PM                        cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Verwenden Sie das Cmdlet Wait-AzRecoveryServicesBackupJob, um auf den Abschluss des Wiederherstellungsauftrags zu warten.

Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

Nachdem der Wiederherstellungsauftrag abgeschlossen ist, verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupJobDetail, um Details zum Wiederherstellungsvorgang abzurufen. Die JobDetails-Eigenschaft enthält die Informationen, die zum erneuten Erstellen des virtuellen Computers benötigt werden.

$restorejob = Get-AzRecoveryServicesBackupJob -Job $restorejob -VaultId $targetVault.ID
$details = Get-AzRecoveryServicesBackupJobDetail -Job $restorejob -VaultId $targetVault.ID

Verwenden der verwalteten Identität zum Wiederherstellen von Datenträgern

Mit Azure Backup können Sie auch eine verwaltete Identität (Managed Service Identity, MSI) während des Wiederherstellungsvorgang verwenden, um auf Speicherkonten zuzugreifen, in denen Datenträger wiederhergestellt werden müssen. Diese Option wird derzeit nur für die Wiederherstellung verwalteter Datenträger unterstützt.

Wenn Sie die systemseitig zugewiesene verwaltete Identität des Tresors zum Wiederherstellen von Datenträgern verwenden möchten, übergeben Sie das zusätzliche Flag UseSystemAssignedIdentity an den Befehl „Restore-AzRecoveryServicesBackupItem“. Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden möchten, übergeben Sie den Parameter -UserAssignedIdentityId mit der ARM-ID der verwalteten Identität des Tresors als Wert des Parameters. In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für Ihre Tresore aktivieren.

Selektives Wiederherstellen von Datenträgern

Ein Benutzer kann anstelle des gesamten Sicherungssatzes auch nur einige Datenträger selektiv wiederherstellen. Geben Sie die LUNs der gewünschten Datenträger als Parameter an, um anstelle des gesamten Satzes nur diese wiederherzustellen. Eine Beschreibung finden Sie hier.

Wichtig

Damit Datenträger einzeln wiederhergestellt werden können, müssen sie auch selektiv gesichert werden. Hier finden Sie weitere Einzelheiten.

Nachdem Sie die Datenträger wiederhergestellt haben, fahren Sie mit dem nächsten Abschnitt fort, um den virtuellen Computer zu erstellen.

Wiederherstellen von Datenträgern in einer sekundären Region

Wenn die regionsübergreifende Wiederherstellung für den Tresor aktiviert ist, mit dem Sie Ihre virtuellen Computer geschützt haben, werden die Sicherungsdaten in die sekundäre Region repliziert. Sie können die Sicherungsdaten verwenden, um eine Wiederherstellung durchzuführen. Führen Sie die folgenden Schritte aus, um eine Wiederherstellung in der sekundären Region auszulösen:

  1. Rufen Sie die ID des Tresors ab, mit dem Ihre virtuellen Computer geschützt werden.

  2. Wählen Sie das richtige Sicherungselement zum Wiederherstellen aus.

  3. Wählen Sie den entsprechenden Wiederherstellungspunkt in der sekundären Region aus, den Sie für die Wiederherstellung verwenden möchten.

    Um den Schritt abzuschließen, führen Sie diesen Befehl aus:

    $rp=Get-AzRecoveryServicesBackupRecoveryPoint -UseSecondaryRegion -Item $backupitem -VaultId $targetVault.ID
    $rp=$rp[0]
    
  4. Führen Sie das Cmdlet Restore-AzRecoveryServicesBackupItem mit dem Parameter -RestoreToSecondaryRegion aus, um eine Wiederherstellung in der sekundären Region auszulösen.

    Um den Schritt abzuschließen, führen Sie diesen Befehl aus:

    $restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID -VaultLocation $targetVault.Location -RestoreToSecondaryRegion -RestoreOnlyOSDisk
    

    Die Ausgabe entspricht etwa folgendem Beispiel:

    WorkloadName     Operation             Status              StartTime                 EndTime          JobID
    ------------     ---------             ------              ---------                 -------          ----------
    V2VM             CrossRegionRestore   InProgress           4/23/2016 5:00:30 PM                       cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
    
  5. Führen Sie das Cmdlet Get-AzRecoveryServicesBackupJob mit dem Parameter -UseSecondaryRegion aus, um den Wiederherstellungsauftrag zu überwachen.

    Um den Schritt abzuschließen, führen Sie diesen Befehl aus:

    Get-AzRecoveryServicesBackupJob -From (Get-Date).AddDays(-7).ToUniversalTime() -To (Get-Date).ToUniversalTime() -UseSecondaryRegion -VaultId $targetVault.ID
    

    Die Ausgabe entspricht etwa folgendem Beispiel:

    WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
    ------------     ---------            ------               ---------                 -------                   -----
    V2VM             CrossRegionRestore   InProgress           2/8/2021 4:24:57 PM                                 2d071b07-8f7c-4368-bc39-98c7fb2983f7
    

Zonenübergreifende Wiederherstellung

Sie könnenan Azure-Zonen angeheftete VMs in beliebigen Verfügbarkeitszonen in derselben Region wiederherstellen.

Um eine VM in einer anderen Zone wiederherzustellen, geben Sie den TargetZoneNumber Parameter im Cmdlet Restore-AzRecoveryServicesBackupItem an.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID -TargetZoneNumber 3

Die Ausgabe entspricht etwa folgendem Beispiel:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
zonevmeus2       Restore              InProgress           1/3/2022 10:27:20 AM                                b2298...

Die zonenübergreifende Wiederherstellung wird nur in Szenarien unterstützt, in denen:

  • Die Quell-VM ist an die Zone angeheftet und NICHT verschlüsselt.
  • Der Wiederherstellungspunkt ist nur auf Tresorebene vorhanden. Nur Momentaufnahmen oder Momentaufnahmen und Tresorebene werden nicht unterstützt.
  • Die Wiederherstellungsoption ist das Erstellen einer neuen VM oder Wiederherstellen von Datenträgern. Die Option „Datenträger ersetzen“ ersetzt Quelldaten. Daher gilt die Option „Verfügbarkeitszone“ nicht.
  • Erstellen von VM/Datenträgern in derselben Region, wenn ZRS die Speicherredundanz des Tresors ist. Beachten Sie, dass es nicht funktioniert, wenn es sich bei der Speicherredundanz des Tresors um GRS handelt, auch wenn es sich bei der Quell-VM um eine angeheftet Zone handelt.
  • Erstellen von VMs/Datenträgern in der gekoppelten Region, wenn die Speicherredundanz des Tresors für regionsübergreifende Wiederherstellung aktiviert ist UND wenn die gekoppelte Region Zonen unterstützt

Ersetzen der Datenträger in Azure-VM

Wenn Sie die Datenträger und Konfigurationsinformationen ersetzen möchten, führen Sie die folgenden Schritte aus:

Erstellen eines virtuellen Computers aus wiederhergestellten Datenträgern

Nachdem Sie die Datenträger wiederhergestellt haben, können Sie die folgenden Schritte zum Erstellen und Konfigurieren des virtuellen Computers vom Datenträger verwenden.

Hinweis

  1. Es ist AzureAz-Modul 3.0.0 erforderlich.
  2. Zum Erstellen von verschlüsselten virtuellen Computern aus wiederhergestellten Datenträgern muss Ihre Azure-Rolle über die Berechtigung zum Ausführen der Aktion Microsoft.KeyVault/vaults/deploy/action verfügen. Wenn Ihre Rolle über diese Berechtigung nicht verfügt, erstellen Sie mit dieser Aktion eine benutzerdefinierte Rolle. Weitere Informationen finden Sie unter Benutzerdefinierte Azure-Rollen.
  3. Nach der Wiederherstellung von Datenträgern können Sie jetzt eine Bereitstellungsvorlage abrufen, die Sie direkt verwenden können, um einen neuen virtuellen Computer zu erstellen. Sie benötigen zum Erstellen von verwalteten/nicht verwalteten virtuellen Computern, die verschlüsselt/nicht verschlüsselt sind, keine unterschiedlichen PowerShell-Cmdlets.

Erstellen eines virtuellen Computers mithilfe der Bereitstellungsvorlage

Aus den resultierenden Auftragsdetails ergibt sich der Vorlagen-URI, der abgefragt und bereitgestellt werden kann.

   $properties = $details.properties
   $storageAccountName = $properties["Target Storage Account Name"]
   $containerName = $properties["Config Blob Container Name"]
   $templateBlobURI = $properties["Template Blob Uri"]

Auf die Vorlage kann nicht direkt zugegriffen werden, da sie sich unter dem Speicherkonto eines Kunden und dem angegebenen Container befindet. Wir benötigen die gesamte URL sowie ein temporäres SAS-Token, um auf diese Vorlage zugreifen zu können.

  1. Extrahieren Sie zuerst den Vorlagennamen aus templateBlobURI. Das Format wird unten angegeben. Sie können mithilfe des Split-Vorgangs in PowerShell den endgültigen Vorlagennamen aus dieser URL extrahieren.

    https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
    
  2. Anschließend kann die vollständige URL wie hier erläutert generiert werden.

    Set-AzCurrentStorageAccount -Name $storageAccountName -ResourceGroupName <StorageAccount RG name>
    $templateBlobFullURI = New-AzStorageBlobSASToken -Container $containerName -Blob <templateName> -Permission r -FullUri
    
  3. Stellen Sie die Vorlage bereit, um einen neuen virtuellen Computer wie hier beschrieben zu erstellen.

    New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateUri $templateBlobFullURI
    

Erstellen eines virtuellen Computers mit der Konfigurationsdatei

Im folgenden Abschnitt werden die erforderlichen Schritte zum Erstellen eines virtuellen Computers mithilfe der VMConfig-Datei aufgelistet.

Hinweis

Es wird dringend empfohlen, die oben beschriebene Bereitstellungsvorlage zum Erstellen eines virtuellen Computers zu verwenden. Dieser Abschnitt (Punkte 1 bis 6) wird in Kürze veraltet sein.

  1. Fragen Sie die Eigenschaften des wiederhergestellten Datenträgers für die Auftragsdetails ab.

    $properties = $details.properties
    $storageAccountName = $properties["Target Storage Account Name"]
    $containerName = $properties["Config Blob Container Name"]
    $configBlobName = $properties["Config Blob Name"]
    
  2. Legen Sie den Azure-Speicherkontext fest, und stellen Sie die JSON-Konfigurationsdatei wieder her.

    Set-AzCurrentStorageAccount -Name $storageaccountname -ResourceGroupName "testvault"
    $destination_path = "C:\vmconfig.json"
    Get-AzStorageBlobContent -Container $containerName -Blob $configBlobName -Destination $destination_path
    $obj = ((Get-Content -Path $destination_path -Raw -Encoding Unicode)).TrimEnd([char]0x00) | ConvertFrom-Json
    
  3. Verwenden Sie die JSON-Konfigurationsdatei, um die Konfiguration des virtuellen Computers zu erstellen.

    $vm = New-AzVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. Fügen Sie die Betriebssystemdatenträger und Datenträger hinzu. Dieser Schritt enthält Beispiele für verschiedene verwaltete und verschlüsselte VM-Konfigurationen. Verwenden Sie das Beispiel, das für Ihre VM-Konfiguration geeignet ist.

    • Nicht verwaltete unverschlüsselte VMs: Verwenden Sie das folgende Beispiel für nicht verwaltete unverschlüsselte VMs.
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
            $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nicht verwaltete, verschlüsselte VMs mit Microsoft Entra ID (nur BEK): Für nicht verwaltete, verschlüsselte VMs mit Microsoft Entra ID (nur mit BEK verschlüsselt) müssen Sie das Geheimnis für den Schlüsseltresor wiederherstellen, bevor Sie Datenträger anfügen können. Weitere Informationen finden Sie unter Wiederherstellen eines virtuellen Azure-Computers mithilfe eines Azure Backup-Wiederherstellungspunkts. Im folgenden Beispiel wird gezeigt, wie man das Betriebssystem und die Datenträger für verschlüsselte VMs anfügt. Achten Sie beim Festlegen des Betriebssystemdatenträgers darauf, dass der relevante Betriebssystemtyp angegeben wird.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $dekUrl = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows/Linux
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nicht verwaltete, verschlüsselte VMs mit Microsoft Entra ID (BEK und KEK): Stellen Sie für nicht verwaltete, verschlüsselte VMs mit Microsoft Entra ID (mit BEK und KEK verschlüsselt) den Schlüssel und das Geheimnis für den Schlüsseltresor wieder her, bevor Sie die Datenträger anfügen. Weitere Informationen finden Sie unter Wiederherstellen eines virtuellen Azure-Computers mithilfe eines Azure Backup-Wiederherstellungspunkts. Im folgenden Beispiel wird gezeigt, wie man das Betriebssystem und die Datenträger für verschlüsselte VMs anfügt.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nicht verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (nur BEK): Wenn für nicht verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (nur mit BEK verschlüsselt) das keyVault/secret der Quelle nicht verfügbar ist, stellen Sie die Geheimnisse in Key Vault wieder her. Gehen Sie dazu wie unter Wiederherstellen einer nicht verschlüsselten VM aus einem Azure Backup-Wiederherstellungspunkt beschrieben vor. Führen Sie dann die folgenden Skripts zum Festlegen von Verschlüsselungsdetails für das wiederhergestellte Betriebssystemblob aus (dieser Schritt ist bei einem Datenblob nicht erforderlich). Die $dekurl können Sie aus dem wiederhergestellten keyVault abrufen.

    Das folgende Skript muss nur ausgeführt werden, wenn das keyVault/secret der Quelle nicht verfügbar ist.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

    Wenn die Geheimnisse verfügbar sind und die Verschlüsselungsdetails für das Betriebssystemblob ebenfalls festgelegt wurden, fügen Sie die Datenträger mit dem unten angegebenen Skript an.

    Wenn die keyVault/secrets der Quelle bereits verfügbar sind, muss das vorstehende Skript nicht ausgeführt werden.

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nicht verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (BEK und KEK): Wenn für nicht verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (mit BEK und KEK verschlüsselt) das keyVault/key/secret der Quelle nicht verfügbar ist, stellen Sie den Schlüssel und die Geheimnisse in Key Vault wieder her. Gehen Sie dazu wie unter Wiederherstellen einer nicht verschlüsselten VM aus einem Azure Backup-Wiederherstellungspunkt beschrieben vor. Führen Sie dann die folgenden Skripts zum Festlegen von Verschlüsselungsdetails für das wiederhergestellte Betriebssystemblob aus (dieser Schritt ist bei einem Datenblob nicht erforderlich). Die $dekurl und die $kekurl können Sie aus dem wiederhergestellten keyVault abrufen.

    Das folgende Skript muss nur ausgeführt werden, wenn das keyVault/key/secret der Quelle nicht verfügbar ist.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""},""keyEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""keyUrl"":""$kekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

    Wenn die Schlüssel/Geheimnisse verfügbar sind und die Verschlüsselungsdetails für das Betriebssystemblob festgelegt wurden, fügen Sie die Datenträger mit dem unten angegebenen Skript an.

    Wenn die keyVault/key/secrets der Quelle verfügbar sind, muss das vorstehende Skript nicht ausgeführt werden.

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    

    Das folgende Skript muss nur ausgeführt werden, wenn das keyVault/secret der Quelle nicht verfügbar ist.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    Informationen darüber, wie Sie die wiederhergestellten verwalteten Datenträger anfügen, nachdem die Geheimnisse verfügbar sind und die Verschlüsselungsdetails auf dem Betriebssystemdatenträger festgelegt wurden, finden Sie unter Anfügen eines Datenträgers an einen virtuellen Windows-Computer mithilfe von PowerShell.

    • Verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (BEK und KEK): Wenn für verwaltete, verschlüsselte VMs ohne Microsoft Entra ID (mit BEK und KEK verschlüsselt) das keyVault/key/secret der Quelle nicht verfügbar ist, stellen Sie den Schlüssel und die Geheimnisse in Key Vault wieder her. Gehen Sie dazu wie unter Wiederherstellen einer nicht verschlüsselten VM aus einem Azure Backup-Wiederherstellungspunkt beschrieben vor. Führen Sie dann die folgenden Skripts zum Festlegen von Verschlüsselungsdetails für den wiederhergestellten Betriebssystemdatenträger aus (dieser Schritt ist bei Datenträgern nicht erforderlich). Die $dekurl und die $kekurl können Sie aus dem wiederhergestellten keyVault abrufen.

    Das folgende Skript muss nur ausgeführt werden, wenn das keyVault/key/secret der Quelle nicht verfügbar ist.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $encryptionSettingsElement.KeyEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndKeyReference
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.KeyEncryptionKey.KeyUrl = $kekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    Informationen darüber, wie Sie die wiederhergestellten verwalteten Datenträger anfügen, nachdem die Schlüssel/Geheimnisse verfügbar sind und die Verschlüsselungsdetails auf dem Betriebssystemdatenträger festgelegt wurden, finden Sie unter Anfügen eines Datenträgers an einen virtuellen Windows-Computer mithilfe von PowerShell.

  5. Legen Sie die Netzwerkeinstellungen fest.

    $nicName="p1234"
    $pip = New-AzPublicIpAddress -Name $nicName -ResourceGroupName "test" -Location "WestUS" -AllocationMethod Dynamic
    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName "test" -Location "WestUS" -Name "testvNET" -AddressPrefix 10.0.0.0/16
    $virtualNetwork | Set-AzVirtualNetwork
    $vnet = Get-AzVirtualNetwork -Name "testvNET" -ResourceGroupName "test"
    $subnetindex=0
    $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName "test" -Location "WestUS" -SubnetId $vnet.Subnets[$subnetindex].Id -PublicIpAddressId $pip.Id
    $vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
    
  6. Erstellen Sie den virtuellen Computer.

    New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    
  7. Pushen Sie die ADE-Erweiterung. Wenn die ADE-Erweiterungen nicht gepusht werden, werden die Datenträger als nicht verschlüsselt gekennzeichnet. Deshalb müssen die folgenden Schritte unbedingt ausgeführt werden:

    • Für VMs mit Microsoft Entra ID: Verwenden Sie den folgenden Befehl, um die Verschlüsselung für die Datenträger manuell zu aktivieren.

      Nur BEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -VolumeType Data
      

      BEK und KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId  -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • Für VMs ohne Microsoft Entra ID: Verwenden Sie den folgenden Befehl, um die Verschlüsselung für die Datenträger manuell zu aktivieren.

      Wenn Sie während der Ausführung des Befehls aufgefordert werden, die AADClientID anzugeben, müssen Sie Azure PowerShell aktualisieren.

      Nur BEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

      BEK und KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

Hinweis

Vergessen Sie nicht, die im Rahmen des Vorgangs „verschlüsselte VM aus wiederhergestellten Datenträgern“ erstellten JSON-Dateien manuell zu löschen.

Wiederherstellen von Dateien aus einer Sicherung von virtuellen Azure-Computern

Sie können nicht nur Datenträger, sondern auch einzelne Dateien aus einer Sicherung von virtuellen Azure-Computern wiederherstellen. Für die Funktionen zum Wiederherstellen von Dateien ist der Zugriff auf alle Dateien eines Wiederherstellungspunkts möglich. Verwalten Sie die Dateien über den Datei-Explorer, wie Sie dies für andere Dateien gewohnt sind.

Grundlegende Schritte zum Wiederherstellen einer Datei aus einer Sicherung von virtuellen Azure-Computern:

  • Auswählen des virtuellen Computers
  • Auswählen eines Wiederherstellungspunkts
  • Bereitstellen der Datenträger des Wiederherstellungspunkts
  • Kopieren der erforderlichen Dateien
  • Aufheben der Bereitstellung des Datenträgers

Auswählen des virtuellen Computers (bei seiner Wiederherstellung)

Zum Abrufen des PowerShell-Objekts, das das richtige Sicherungselement identifiziert, starten Sie vom Container im Tresor aus, und durchlaufen Sie die Objekthierarchie nach unten. Verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupContainer, und leiten Sie dessen Ausgabe an das Cmdlet Get-AzRecoveryServicesBackupItem weiter, um den Container auszuwählen, der den virtuellen Computer darstellt.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

Auswählen eines Wiederherstellungspunkts (beim Wiederherstellen des virtuellen Computers)

Verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupRecoveryPoint, um alle Wiederherstellungspunkte für das Sicherungselement aufzulisten. Wählen Sie anschließend den zu wiederherstellenden Wiederherstellungspunkt. Wenn Sie nicht genau wissen, welchen Wiederherstellungspunkt Sie verwenden sollen, empfiehlt es sich, den letzten „RecoveryPointType = AppConsistent“-Punkt in der Liste auszuwählen.

Im folgenden Skript ist die Variable $rp ein Array von Wiederherstellungspunkten für das ausgewählte Sicherungselement der letzten sieben Tage. Das Array wird in umgekehrter Reihenfolge sortiert. Der letzte Wiederherstellungspunkt liegt bei Index 0. Verwenden Sie die standardmäßige PowerShell-Arrayindizierung zum Auswählen des Wiederherstellungspunkts. Im Beispiel wählt „$rp[0]“ den letzten Wiederherstellungspunkt aus.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

Bereitstellen der Datenträger des Wiederherstellungspunkts

Verwenden Sie das Cmdlet Get-AzRecoveryServicesBackupRPMountScript, um das Skript zum Einbinden aller Datenträger des Wiederherstellungspunkts abzurufen.

Hinweis

Die Datenträger werden als angefügte iSCSI-Datenträger auf dem Computer bereitgestellt, auf dem das Skript ausgeführt wird. Die Bereitstellung wird sofort durchgeführt, und es fallen keine Gebühren an.

Get-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

OsType  Password        Filename
------  --------        --------
Windows e3632984e51f496 V2VM_wus2_8287309959960546283_451516692429_cbd6061f7fc543c489f1974d33659fed07a6e0c2e08740.exe

Führen Sie das Skript auf dem Computer aus, auf dem die Dateien wiederhergestellt werden sollen. Um das Skript auszuführen, müssen Sie das angegebene Kennwort eingeben. Nachdem die Datenträger angefügt wurden, können Sie mit dem Windows-Datei-Explorer die neuen Volumes und Dateien durchsuchen. Weitere Informationen finden Sie im Backup-Artikel Wiederherstellen von Dateien aus einer Sicherung von virtuellen Azure-Computern.

Aufheben der Bereitstellung von Datenträgern

Nachdem die erforderlichen Dateien kopiert wurden, können Sie Disable-AzRecoveryServicesBackupRPMountScript verwenden, um die Einbindung der Datenträger aufzuheben. Achten Sie darauf, dass die Aufhebung der Bereitstellung für die Datenträger durchgeführt wird, damit der Zugriff auf die Dateien des Wiederherstellungspunkts nicht mehr möglich ist.

Disable-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

Wiederherstellen von Daten auf virtuellen Computern mithilfe von PowerShell

Sie können Daten jetzt direkt auf dem ursprünglichen bzw. einem alternativen virtuellen Computer wiederherstellen, ohne mehrere Schritte auszuführen.

Wiederherstellen von Daten auf dem ursprünglichen virtuellen Computer

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$OriginalLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

Der letzte Befehl löst eine Wiederherstellung am ursprünglichen Speicherort aus, um die Daten direkt auf dem vorhandenen virtuellen Computer wiederherzustellen.

Wiederherstellen von Daten auf einem neu erstellten virtuellen Computer

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

Der letzte Befehl löst eine Wiederherstellung an einem alternativen Speicherort aus, um einen neuen virtuellen Computer in der Ressourcengruppe Target_RG gemäß den Eingaben der Parameter TargetVMName, TargetVNetName, TargetVNetResourceGroup und TargetSubnetName zu erstellen. Dadurch wird sichergestellt, dass die Daten auf dem erforderlichen virtuellen Computer im gewünschten virtuellen Netzwerk und Subnetz wiederhergestellt werden.

Nächste Schritte

Falls Sie PowerShell für die Arbeit mit Azure-Ressourcen vorziehen, lesen Sie den PowerShell-Artikel Sicherungen für Windows Server bereitstellen und verwalten. Wenn Sie DPM-Sicherungen verwalten, finden Sie im Artikel Bereitstellen und Verwalten der Sicherung für DPM weitere Informationen.