Tworzenie kopii zapasowej i przywracanie maszyn wirtualnych platformy Azure przy użyciu programu PowerShellBack up and restore Azure VMs with PowerShell

W tym artykule wyjaśniono, jak utworzyć kopię zapasową i przywrócić maszynę wirtualną platformy Azure w magazynie Azure Backup Recovery Services przy użyciu poleceń cmdlet programu PowerShell.This article explains how to back up and restore an Azure VM in an Azure Backup Recovery Services vault using PowerShell cmdlets.

W tym artykule omówiono sposób wykonywania następujących zadań:In this article you learn how to:

  • Utwórz magazyn Recovery Services i ustaw kontekst magazynu.Create a Recovery Services vault and set the vault context.
  • Definiowanie zasad tworzenia kopii zapasowychDefine a backup policy
  • Stosowanie zasad tworzenia kopii zapasowych w celu ochrony wielu maszyn wirtualnychApply the backup policy to protect multiple virtual machines
  • Wyzwól zadanie tworzenia kopii zapasowej na żądanie dla chronionych maszyn wirtualnych zanim będzie można utworzyć kopię zapasową (lub chronić) maszyny wirtualnej, musisz spełnić wymagania wstępne , aby przygotować środowisko do ochrony maszyn wirtualnych.Trigger an on-demand backup job for the protected virtual machines Before you can back up (or protect) a virtual machine, you must complete the prerequisites to prepare your environment for protecting your VMs.

Przed rozpoczęciemBefore you start

  • Dowiedz się więcej o magazynach Recovery Services.Learn more about Recovery Services vaults.
  • Zapoznaj się z architekturą kopii zapasowej maszyny wirtualnej platformy Azure, zapoznaj się z procesem tworzenia kopii zapasowej oraz Przejrzyj pomoc techniczną, ograniczenia i wymagania wstępne.Review the architecture for Azure VM backup, learn about the backup process, and review support, limitations, and prerequisites.
  • Zapoznaj się z hierarchią obiektów programu PowerShell dla Recovery Services.Review the PowerShell object hierarchy for Recovery Services.

Hierarchia obiektów Recovery ServicesRecovery Services object hierarchy

Hierarchia obiektów jest podsumowana na poniższym diagramie.The object hierarchy is summarized in the following diagram.

Hierarchia obiektów Recovery Services

Zapoznaj się z dokumentacją polecenia cmdlet AZ. RecoveryServices w bibliotece platformy Azure.Review the Az.RecoveryServices cmdlet reference reference in the Azure library.

Skonfiguruj i zarejestrujSet up and register

Uwaga

Ten artykuł został zaktualizowany o korzystanie z nowego modułu Azure PowerShell Az.This article has been updated to use the new Azure PowerShell Az module. Nadal możesz używać modułu AzureRM, który będzie nadal otrzymywać poprawki błędów do co najmniej grudnia 2020 r.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Aby dowiedzieć się więcej na temat nowego modułu Az i zgodności z modułem AzureRM, zobacz Wprowadzenie do nowego modułu Az programu Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Aby uzyskać instrukcje dotyczące instalacji modułu Az, zobacz Instalowanie programu Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Aby rozpocząć:To begin:

  1. Pobierz najnowszą wersję programu PowerShellDownload the latest version of PowerShell

  2. Znajdź Azure Backup polecenia cmdlet programu PowerShell, wpisując następujące polecenie:Find the Azure Backup PowerShell cmdlets available by typing the following command:

    Get-Command *azrecoveryservices*
    

    Zostaną wyświetlone aliasy i polecenia cmdlet dla Azure Backup, Azure Site Recovery i magazynu Recovery Services.The aliases and cmdlets for Azure Backup, Azure Site Recovery, and the Recovery Services vault appear. Na poniższej ilustracji przedstawiono przykład tego, co widzisz.The following image is an example of what you'll see. Nie jest to kompletna lista poleceń cmdlet.It is not the complete list of cmdlets.

    Lista Recovery Services

  3. Zaloguj się do konta platformy Azure przy użyciu polecenia Connect-AzAccount.Sign in to your Azure account using Connect-AzAccount. To polecenie cmdlet wyświetla stronę sieci Web z prośbą o poświadczenia konta:This cmdlet brings up a web page prompts you for your account credentials:

    • Alternatywnie można uwzględnić poświadczenia konta jako parametr w poleceniu cmdlet Connect-AzAccount przy użyciu parametru -Credential .Alternately, you can include your account credentials as a parameter in the Connect-AzAccount cmdlet, using the -Credential parameter.
    • Jeśli jesteś partnerem programu CSP działającym w imieniu dzierżawy, określ klienta jako dzierżawcę przy użyciu nazwy domeny głównej dzierżawy tenantID lub.If you are CSP partner working on behalf of a tenant, specify the customer as a tenant, by using their tenantID or tenant primary domain name. Na przykład: Connect-AzAccount-dzierżawca "fabrikam.com"For example: Connect-AzAccount -Tenant "fabrikam.com"
  4. Skojarz subskrypcję, której chcesz używać z kontem, ponieważ konto może mieć kilka subskrypcji:Associate the subscription you want to use with the account, since an account can have several subscriptions:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  5. Jeśli używasz Azure Backup po raz pierwszy, musisz użyć polecenia cmdlet register-AzResourceProvider , aby zarejestrować dostawcę usługi Azure Recovery Service w ramach subskrypcji.If you are using Azure Backup for the first time, you must use the Register-AzResourceProvider cmdlet to register the Azure Recovery Service provider with your subscription.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  6. Można sprawdzić, czy dostawcy zarejestrowali się pomyślnie, przy użyciu następujących poleceń:You can verify that the Providers registered successfully, using the following commands:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    W danych wyjściowych polecenia RegistrationState należy zmienić na zarejestrowane.In the command output, the RegistrationState should change to Registered. W przeciwnym razie po prostu uruchom ponownie polecenie cmdlet register-AzResourceProvider .If not, just run the Register-AzResourceProvider cmdlet again.

Tworzenie magazynu usługi Recovery ServicesCreate a Recovery Services vault

Poniższe kroki umożliwiają utworzenie magazynu Recovery Services.The following steps lead you through creating a Recovery Services vault. Magazyn Recovery Services jest inny niż magazyn kopii zapasowych.A Recovery Services vault is different than a Backup vault.

  1. Magazyn Recovery Services jest zasobem Menedżer zasobów, dlatego należy go umieścić w grupie zasobów.The Recovery Services vault is a Resource Manager resource, so you need to place it within a resource group. Możesz użyć istniejącej grupy zasobów lub utworzyć grupę zasobów za pomocą polecenia cmdlet New-AzResourceGroup .You can use an existing resource group, or create a resource group with the New-AzResourceGroup cmdlet. Podczas tworzenia grupy zasobów Określ nazwę i lokalizację grupy zasobów.When creating a resource group, specify the name and location for the resource group.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Użyj polecenia cmdlet New-AzRecoveryServicesVault , aby utworzyć magazyn Recovery Services.Use the New-AzRecoveryServicesVault cmdlet to create the Recovery Services vault. Należy określić tę samą lokalizację dla magazynu, która została użyta dla grupy zasobów.Be sure to specify the same location for the vault as was used for the resource group.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. Określ typ nadmiarowości magazynu do użycia; można użyć magazynu lokalnie nadmiarowego (LRS) lub magazynu geograficznie nadmiarowego (GRS).Specify the type of storage redundancy to use; you can use Locally Redundant Storage (LRS) or Geo Redundant Storage (GRS). W poniższym przykładzie pokazano opcję-BackupStorageRedundancy dla testvault jest ustawiona na wartość geomiarowa.The following example shows the -BackupStorageRedundancy option for testvault is set to GeoRedundant.

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

    Porada

    Wiele poleceń cmdlet usługi Azure Backup wymaga obiektu magazynu usługi Recovery Services jako danych wejściowych.Many Azure Backup cmdlets require the Recovery Services vault object as an input. Z tego powodu wygodne jest przechowywanie obiektu magazynu usługi Backup Recovery Services w zmiennej.For this reason, it is convenient to store the Backup Recovery Services vault object in a variable.

Wyświetlanie magazynów w ramach subskrypcjiView the vaults in a subscription

Aby wyświetlić wszystkie magazyny w subskrypcji, użyj polecenie Get-AzRecoveryServicesVault:To view all vaults in the subscription, use Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

Dane wyjściowe są podobne do poniższego przykładu, Zauważ, że skojarzone ResourceGroupName i lokalizacja są podane.The output is similar to the following example, notice the associated ResourceGroupName and Location are provided.

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

Tworzenie kopii zapasowych maszyn wirtualnych platformy AzureBack up Azure VMs

Użyj magazynu Recovery Services, aby chronić maszyny wirtualne.Use a Recovery Services vault to protect your virtual machines. Przed zastosowaniem ochrony ustaw kontekst magazynu (typ danych chronionych w magazynie) i Sprawdź zasady ochrony.Before you apply the protection, set the vault context (the type of data protected in the vault), and verify the protection policy. Zasady ochrony to harmonogram, w którym uruchamiane są zadania tworzenia kopii zapasowej, oraz czas zachowywania każdej migawki kopii zapasowej.The protection policy is the schedule when the backup jobs run, and how long each backup snapshot is retained.

Ustaw kontekst magazynuSet vault context

Przed włączeniem ochrony na maszynie wirtualnej Użyj polecenie Set-AzRecoveryServicesVaultContext , aby ustawić kontekst magazynu.Before enabling protection on a VM, use Set-AzRecoveryServicesVaultContext to set the vault context. Po ustawieniu kontekst magazynu ma zastosowanie do wszystkich kolejnych poleceń cmdlet.Once the vault context is set, it applies to all subsequent cmdlets. Poniższy przykład ustawia kontekst magazynu dla magazynu, testvault.The following example sets the vault context for the vault, testvault.

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

Pobierz identyfikator magazynuFetch the vault ID

Planujemy zaniechanie ustawienia kontekstu magazynu zgodnie z zaleceniami Azure PowerShell.We plan on deprecating the vault context setting in accordance with Azure PowerShell guidelines. Zamiast tego można zapisać lub pobrać identyfikator magazynu i przekazać go do odpowiednich poleceń.Instead, you can store or fetch the vault ID, and pass it to relevant commands. Jeśli więc nie ustawisz kontekstu magazynu lub chcesz określić polecenie do uruchomienia dla pewnego magazynu, Przekaż identyfikator magazynu jako "-vaultID" do wszystkich odpowiednich poleceń w następujący sposób:So, if you haven't set the vault context or want to specify the command to run for a certain vault, pass the vault ID as "-vaultID" to all relevant command, as follows:

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

LubOr

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

Modyfikowanie ustawień replikacji magazynuModifying storage replication settings

Użyj polecenia Set-AzRecoveryServicesBackupProperty , aby ustawić konfigurację replikacji magazynu dla magazynu na LRS/GRSUse Set-AzRecoveryServicesBackupProperty command to set the Storage replication configuration of the vault to LRS/GRS

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

Uwaga

Nadmiarowość magazynu można modyfikować tylko wtedy, gdy nie ma żadnych elementów kopii zapasowych chronionych do magazynu.Storage Redundancy can be modified only if there are no backup items protected to the vault.

Tworzenie zasad ochronyCreate a protection policy

Podczas tworzenia magazynu usługi Recovery Services jest on dostarczany z domyślnymi zasadami ochrony i przechowywania.When you create a Recovery Services vault, it comes with default protection and retention policies. Domyślne zasady ochrony wyzwalają zadanie tworzenia kopii zapasowej każdego dnia o określonej godzinie.The default protection policy triggers a backup job each day at a specified time. Domyślne zasady przechowywania zachowują codzienny punkt odzyskiwania przez 30 dni.The default retention policy retains the daily recovery point for 30 days. Możesz użyć domyślnych zasad, aby szybko chronić maszynę wirtualną i edytować zasady później z innymi szczegółami.You can use the default policy to quickly protect your VM and edit the policy later with different details.

Użyj Get-AzRecoveryServicesBackupProtectionPolicy , aby wyświetlić zasady ochrony dostępne w magazynie.Use Get-AzRecoveryServicesBackupProtectionPolicy to view the protection policies available in the vault. Tego polecenia cmdlet można użyć w celu uzyskania określonych zasad lub wyświetlenia zasad skojarzonych z typem obciążenia.You can use this cmdlet to get a specific policy, or to view the policies associated with a workload type. Poniższy przykład pobiera zasady dla typu obciążenia, AzureVM.The following example gets policies for workload type, AzureVM.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Uwaga

Strefa czasowa pola nieprzerwanego działania w programie PowerShell jest UTC.The timezone of the BackupTime field in PowerShell is UTC. Jeśli jednak w Azure Portal zostanie wyświetlony czas tworzenia kopii zapasowej, czas jest dostosowywany do lokalnej strefy czasowej.However, when the backup time is shown in the Azure portal, the time is adjusted to your local timezone.

Zasady ochrony kopii zapasowej są skojarzone z co najmniej jedną zasadą przechowywania.A backup protection policy is associated with at least one retention policy. Zasady przechowywania określają czas przechowywania punktu odzyskiwania przed jego usunięciem.A retention policy defines how long a recovery point is kept before it is deleted.

Domyślnie w obiekcie zasad harmonogramu jest zdefiniowany czas rozpoczęcia.By default, a start time is defined in the Schedule Policy Object. Użyj poniższego przykładu, aby zmienić godzinę rozpoczęcia na żądaną godzinę rozpoczęcia.Use the following example to change the start time to the desired start time. Wymagana godzina rozpoczęcia powinna być również w formacie UTC.The desired start time should be in UTC as well. W poniższym przykładzie przyjęto założenie, że wymagany czas rozpoczęcia to 01:00 czasu UTC dla codziennych kopii zapasowych.The below example assumes the desired start time is 01:00 AM UTC for daily backups.

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

Ważne

Musisz podać godzinę rozpoczęcia tylko w ciągu 30 minut.You need to provide the start time in 30 minute multiples only. W powyższym przykładzie może to być tylko "01:00:00" lub "02:30:00".In the above example, it can be only "01:00:00" or "02:30:00". Godzina rozpoczęcia nie może być "01:15:00"The start time cannot be "01:15:00"

W poniższym przykładzie są przechowywane zasady harmonogramu i zasady przechowywania w zmiennych.The following example stores the schedule policy and the retention policy in variables. W przykładzie zastosowano te zmienne do definiowania parametrów podczas tworzenia zasad ochrony, NewPolicy.The example uses those variables to define the parameters when creating a protection policy, NewPolicy.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Włączanie ochronyEnable protection

Po zdefiniowaniu zasad ochrony nadal należy włączyć zasady dla elementu.Once you've defined the protection policy, you still must enable the policy for an item. Aby włączyć ochronę, użyj enable-AzRecoveryServicesBackupProtection .Use Enable-AzRecoveryServicesBackupProtection to enable protection. Włączenie ochrony wymaga dwóch obiektów — elementu i zasad.Enabling protection requires two objects - the item and the policy. Po skojarzeniu zasad z magazynem przepływ pracy tworzenia kopii zapasowej jest wyzwalany w czasie zdefiniowanym w harmonogramie zasad.Once the policy has been associated with the vault, the backup workflow is triggered at the time defined in the policy schedule.

Ważne

Podczas używania PS do jednoczesnego włączania tworzenia kopii zapasowych dla wielu maszyn wirtualnych upewnij się, że z jednymi zasadami nie są skojarzone więcej niż 100 maszyn wirtualnych.While using PS to enable backup for multiple VMs at once, ensure that a single policy doesn't have more than 100 VMs associated with it. Jest to zalecane najlepsze rozwiązanie.This is a recommended best practice. Obecnie klient PS nie jest jawnie blokowany, jeśli istnieje więcej niż 100 maszyn wirtualnych, ale zaplanowano dodanie go do przyszłości.Currently, the PS client doesn't explicitly block if there are more than 100 VMs but the check is planned to be added in the future.

W poniższych przykładach włączono ochronę dla elementu, V2VM, przy użyciu zasad, NewPolicy.The following examples enable protection for the item, V2VM, using the policy, NewPolicy. Przykłady różnią się w zależności od tego, czy maszyna wirtualna jest zaszyfrowana, oraz jakiego typu szyfrowanie.The examples differ based on whether the VM is encrypted, and what type of encryption.

Aby włączyć ochronę na niezaszyfrowanych maszynach wirtualnych Menedżer zasobów:To enable the protection on non-encrypted Resource Manager VMs:

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

Aby włączyć ochronę zaszyfrowanych maszyn wirtualnych (zaszyfrowanych przy użyciu klucz szyfrowania bloków i KEK), należy przyznać usłudze Azure Backup uprawnienia do odczytu kluczy i wpisów tajnych z magazynu kluczy.To enable the protection on encrypted VMs (encrypted using BEK and KEK), you must give the Azure Backup service permission to read keys and secrets from the key vault.

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

Aby włączyć ochronę szyfrowanych maszyn wirtualnych (szyfrowanych tylko przy użyciu programu klucz szyfrowania bloków) , należy nadać usłudze Azure Backup uprawnienia do odczytywania wpisów tajnych z magazynu kluczy.To enable the protection on encrypted VMs (encrypted using BEK only), you must give the Azure Backup service permission to read secrets from the key vault.

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

Uwaga

Jeśli używasz chmury Azure Government, użyj wartości ff281ffe-705c-4f53-9f37-a40e6f2c68f3 dla parametru ServicePrincipalName w poleceniu Set-AzKeyVaultAccessPolicy .If you are using the Azure Government cloud, then use the value ff281ffe-705c-4f53-9f37-a40e6f2c68f3 for the parameter ServicePrincipalName in Set-AzKeyVaultAccessPolicy cmdlet.

Monitorowanie zadania tworzenia kopii zapasowejMonitoring a backup job

Można monitorować długotrwałe operacje, takie jak zadania tworzenia kopii zapasowej, bez użycia Azure Portal.You can monitor long-running operations, such as backup jobs, without using the Azure portal. Aby uzyskać stan zadania w toku, należy użyć polecenia cmdlet Get-AzRecoveryservicesBackupJob .To get the status of an in-progress job, use the Get-AzRecoveryservicesBackupJob cmdlet. To polecenie cmdlet pobiera zadania tworzenia kopii zapasowej dla określonego magazynu i ten magazyn jest określony w kontekście magazynu.This cmdlet gets the backup jobs for a specific vault, and that vault is specified in the vault context. Poniższy przykład pobiera stan zadania w toku jako tablicę i zapisuje stan w zmiennej $joblist.The following example gets the status of an in-progress job as an array, and stores the status in the $joblist variable.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Zamiast sondowania tych zadań do zakończenia — nie jest to zbędny dodatkowy kod, użyj polecenia cmdlet wait-AzRecoveryServicesBackupJob .Instead of polling these jobs for completion - which is unnecessary additional code - use the Wait-AzRecoveryServicesBackupJob cmdlet. To polecenie cmdlet wstrzymuje wykonywanie do momentu zakończenia zadania lub osiągnięcia określonej wartości limitu czasu.This cmdlet pauses the execution until either the job completes or the specified timeout value is reached.

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

Zarządzanie kopiami zapasowymi maszyn wirtualnych platformy AzureManage Azure VM backups

Modyfikowanie zasad ochronyModify a protection policy

Aby zmodyfikować zasady ochrony, użyj polecenie Set-AzRecoveryServicesBackupProtectionPolicy w celu zmodyfikowania obiektów SchedulePolicy lub RetentionPolicy.To modify the protection policy, use Set-AzRecoveryServicesBackupProtectionPolicy to modify the SchedulePolicy or RetentionPolicy objects.

Modyfikowanie zaplanowanego czasuModifying scheduled time

Podczas tworzenia zasad ochrony domyślnie przypisywany jest czas rozpoczęcia.When you create a protection policy, it is assigned a start-time by default. W poniższych przykładach pokazano, jak zmodyfikować godzinę rozpoczęcia zasad ochrony.The following examples show how to modify the start time of a protection policy.

$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z" (This is the time that the customer wants 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

Modyfikowanie przechowywaniaModifying retention

Poniższy przykład zmienia czas przechowywania punktu odzyskiwania na 365 dni.The following example changes the recovery point retention to 365 days.

$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

Konfigurowanie przechowywania migawek natychmiastowego przywracaniaConfiguring Instant restore snapshot retention

Uwaga

Za pomocą polecenia AZ PS Version 1.6.0 lub nowszego można zaktualizować okres przechowywania migawki przywracania natychmiast w zasadach przy użyciu programu PowerShellFrom Az PS version 1.6.0 onwards, one can update the instant restore snapshot retention period in policy using Powershell

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

Wartość domyślna to 2, użytkownik może ustawić wartość minimalną 1 i maksymalnie 5.The default value will be 2, user can set the value with a min of 1 and max of 5. W przypadku tygodniowych zasad tworzenia kopii zapasowych okres ma wartość 5 i nie można go zmienić.For weekly backup policies, the period is set to 5 and cannot be changed.

Wyzwalanie kopii zapasowejTrigger a backup

Aby wyzwolić zadanie tworzenia kopii zapasowej, użyj Narzędzia Backup-AzRecoveryServicesBackupItem .Use Backup-AzRecoveryServicesBackupItem to trigger a backup job. Jeśli jest to początkowa kopia zapasowa, jest to pełna kopia zapasowa.If it's the initial backup, it is a full backup. Kolejne kopie zapasowe pobierają przyrostową kopię.Subsequent backups take an incremental copy. W poniższym przykładzie kopia zapasowa maszyny wirtualnej ma być przechowywana przez 60 dni.The following example takes a VM backup to be retained for 60 days.

$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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Uwaga

Strefa czasowa pól StartTime i EndTime w programie PowerShell jest UTC.The timezone of the StartTime and EndTime fields in PowerShell is UTC. Jeśli jednak czas jest pokazywany w Azure Portal, czas jest dostosowywany do lokalnej strefy czasowej.However, when the time is shown in the Azure portal, the time is adjusted to your local timezone.

Zmień zasady dla elementów kopii zapasowejChange policy for backup items

Użytkownik może zmodyfikować istniejące zasady lub zmienić zasady kopii zapasowej elementu z Policy1 na Policy2.User can either modify existing policy or change the policy of the backed-up item from Policy1 to Policy2. Aby przełączyć zasady dla elementu kopii zapasowej, należy pobrać odpowiednie zasady i wykonać kopię zapasową, a następnie użyć polecenia enable-AzRecoveryServices z elementem kopii zapasowej jako parametru.To switch policies for a backed-up item, fetch the relevant policy and back up item and use the Enable-AzRecoveryServices command with backup item as the 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

Polecenie czeka na zakończenie konfigurowania kopii zapasowej i zwraca następujące dane wyjściowe.The command waits until the configure backup is completed and returns the following output.

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

Zatrzymaj ochronęStop protection

Zachowaj daneRetain data

Jeśli użytkownik chce zatrzymać ochronę, może użyć polecenia cmdlet disable-AzRecoveryServicesBackupProtection PS.If user wishes to stop protection, they can use the Disable-AzRecoveryServicesBackupProtection PS cmdlet. Spowoduje to zatrzymanie zaplanowanych kopii zapasowych, ale dane, których kopia zapasowa została utworzona, dopóki nie będzie teraz zachowywane.This will stop the scheduled backups but the data backed up until now is retained forever.

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

Usuwanie danych kopii zapasowejDelete backup data

Aby całkowicie usunąć przechowywane dane kopii zapasowej w magazynie, po prostu Dodaj flagę "-RemoveRecoveryPoints"/Przełącz do polecenia "Disable" ochrony.In order to completely remove the stored backup data in the vault, just add '-RemoveRecoveryPoints' flag/switch to the 'disable' protection command.

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

Przywracanie maszyny wirtualnej platformy AzureRestore an Azure VM

Istnieje ważna różnica między przywracaniem maszyny wirtualnej przy użyciu Azure Portal i przywracaniem maszyny wirtualnej przy użyciu programu PowerShell.There is an important difference between the restoring a VM using the Azure portal and restoring a VM using PowerShell. W programie PowerShell operacja przywracania została zakończona po utworzeniu informacji o dyskach i konfiguracji z punktu odzyskiwania.With PowerShell, the restore operation is complete once the disks and configuration information from the recovery point are created. Operacja przywracania nie tworzy maszyny wirtualnej.The restore operation doesn't create the virtual machine. Aby utworzyć maszynę wirtualną z dysku, zapoznaj się z sekcją Tworzenie maszyny wirtualnej z przywróconych dysków.To create a virtual machine from disk, see the section, Create the VM from restored disks. Jeśli nie chcesz przywrócić całej maszyny wirtualnej, ale chcesz przywrócić lub odzyskać kilka plików z kopii zapasowej maszyny wirtualnej platformy Azure, zapoznaj się z sekcją odzyskiwanie plików.If you don't want to restore the entire VM, but want to restore or recover a few files from an Azure VM backup, refer to the file recovery section.

Porada

Operacja przywracania nie tworzy maszyny wirtualnej.The restore operation does not create the virtual machine.

Poniższa ilustracja przedstawia hierarchię obiektów od RecoveryServicesVault do BackupRecoveryPoint.The following graphic shows the object hierarchy from the RecoveryServicesVault down to the BackupRecoveryPoint.

Hierarchia obiektów Recovery Services wyświetlana BackupContainer

Aby przywrócić dane kopii zapasowej, zidentyfikuj element kopii zapasowej i punkt odzyskiwania, który zawiera dane punktu w czasie.To restore backup data, identify the backed-up item and the recovery point that holds the point-in-time data. Aby przywrócić dane z magazynu do konta, użyj instrukcji RESTORE-AzRecoveryServicesBackupItem .Use Restore-AzRecoveryServicesBackupItem to restore data from the vault to your account.

Podstawowe kroki przywracania maszyny wirtualnej platformy Azure:The basic steps to restore an Azure VM are:

  • Wybierz maszynę wirtualną.Select the VM.
  • Wybierz punkt odzyskiwania.Choose a recovery point.
  • Przywróć dyski.Restore the disks.
  • Utwórz maszynę wirtualną z przechowywanych dysków.Create the VM from stored disks.

Wybierz maszynę wirtualnąSelect the VM

Aby uzyskać obiekt programu PowerShell, który identyfikuje właściwy element kopii zapasowej, Rozpocznij od kontenera w magazynie i pracuj w sposób określony w hierarchii obiektów.To get the PowerShell object that identifies the right backup item, start from the container in the vault, and work your way down the object hierarchy. Aby wybrać kontener reprezentujący maszynę wirtualną, należy użyć polecenia cmdlet Get-AzRecoveryServicesBackupContainer i potoku do polecenia cmdlet Get-AzRecoveryServicesBackupItem .To select the container that represents the VM, use the Get-AzRecoveryServicesBackupContainer cmdlet and pipe that to the Get-AzRecoveryServicesBackupItem cmdlet.

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

Wybierz punkt odzyskiwaniaChoose a recovery point

Użyj polecenia cmdlet Get-AzRecoveryServicesBackupRecoveryPoint , aby wyświetlić listę wszystkich punktów odzyskiwania dla elementu kopii zapasowej.Use the Get-AzRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. Następnie wybierz punkt odzyskiwania do przywrócenia.Then choose the recovery point to restore. Jeśli nie masz pewności, który punkt odzyskiwania ma być używany, dobrym sposobem jest wybranie najnowszego punktu RecoveryPointType = AppConsistent z listy.If you are unsure which recovery point to use, it is a good practice to choose the most recent RecoveryPointType = AppConsistent point in the list.

W poniższym skrypcie zmienna $RPjest tablicą punktów odzyskiwania dla wybranego elementu kopii zapasowej w ciągu ostatnich siedmiu dni.In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. Tablica jest posortowana w odwrotnej kolejności czasu z najnowszym punktem odzyskiwania pod indeksem 0.The array is sorted in reverse order of time with the latest recovery point at index 0. Użyj standardowego indeksowania tablicy programu PowerShell, aby wybrać punkt odzyskiwania.Use standard PowerShell array indexing to pick the recovery point. W przykładzie $rp [0] wybiera najnowszy punkt odzyskiwania.In the example, $rp[0] selects the latest recovery point.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Przywracanie dyskówRestore the disks

Za pomocą polecenia cmdlet Restore-AzRecoveryServicesBackupItem Przywróć dane i konfigurację elementu kopii zapasowej w punkcie odzyskiwania.Use the Restore-AzRecoveryServicesBackupItem cmdlet to restore a backup item's data and configuration to a recovery point. Po zidentyfikowaniu punktu odzyskiwania Użyj go jako wartości parametru -RecoveryPoint .Once you identify a recovery point, use it as the value for the -RecoveryPoint parameter. W powyższym przykładzie $RP [0] był punktem odzyskiwania do użycia.In the above sample, $rp[0] was the recovery point to use. W poniższym przykładowym kodzie $RP [0] jest punktem odzyskiwania używanym do przywracania dysku.In the following sample code, $rp[0] is the recovery point to use for restoring the disk.

Aby przywrócić dyski i informacje o konfiguracji:To restore the disks and configuration information:

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

Przywracanie dysków zarządzanychRestore managed disks

Uwaga

Jeśli maszyna wirtualna z kopią zapasową ma dyski zarządzane i chcesz przywrócić je jako dyski zarządzane, wprowadziliśmy możliwość Azure PowerShell RM module 6.7.0.If the backed VM has managed disks and you want to restore them as managed disks, we have introduced the capability from Azure PowerShell RM module v 6.7.0. lub nowszyonwards

Podaj dodatkowy parametr TargetResourceGroupName , aby określić RG, do którego zostaną przywrócone dyski zarządzane.Provide an additional parameter TargetResourceGroupName to specify the RG to which managed disks will be restored.

Uwaga

Zdecydowanie zaleca się użycie TargetResourceGroupName parametru do przywracania dysków zarządzanych, ponieważ powoduje to znaczne zwiększenie wydajności.It is strongly recommended to use the TargetResourceGroupName parameter for restoring managed disks since it results in significant performance improvements. Ponadto w programie Azure PowerShell AZ module 1,0, ten parametr jest obowiązkowy w przypadku przywracania z dyskami zarządzanymiAlso, from Azure Powershell Az module 1.0 onwards, this parameter is mandatory in case of a restore with managed disks

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

Plik VMConfig. JSON zostanie przywrócony do konta magazynu, a dyski zarządzane zostaną przywrócone do określonego elementu docelowego RG.The VMConfig.JSON file will be restored to the storage account and the managed disks will be restored to the specified target RG.

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Za pomocą polecenia cmdlet wait-AzRecoveryServicesBackupJob Zaczekaj na zakończenie zadania przywracania.Use the Wait-AzRecoveryServicesBackupJob cmdlet to wait for the Restore job to complete.

Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

Po zakończeniu zadania przywracania należy użyć polecenia cmdlet Get-AzRecoveryServicesBackupJobDetails , aby uzyskać szczegółowe informacje o operacji przywracania.Once the Restore job has completed, use the Get-AzRecoveryServicesBackupJobDetails cmdlet to get the details of the restore operation. Właściwość JobDetails ma informacje konieczne do odbudowania maszyny wirtualnej.The JobDetails property has the information needed to rebuild the VM.

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

Po przywróceniu dysków przejdź do następnej sekcji, aby utworzyć maszynę wirtualną.Once you restore the disks, go to the next section to create the VM.

Zastąp dyski na maszynie wirtualnej platformy AzureReplace disks in Azure VM

Aby zastąpić dyski i informacje o konfiguracji, wykonaj następujące czynności:To replace the disks and configuration information, perform the below steps:

Tworzenie maszyny wirtualnej na podstawie przywróconych dyskówCreate a VM from restored disks

Po przywróceniu dysków wykonaj następujące kroki, aby utworzyć i skonfigurować maszynę wirtualną z dysku.After you restore the disks, use the following steps to create and configure the virtual machine from disk.

Uwaga

Aby można było tworzyć zaszyfrowane maszyny wirtualne na przywróconych dyskach, rola platformy Azure musi mieć uprawnienia do wykonywania akcji, usługi Microsoft./magazynów/magazynu/wdrażania/działania.To create encrypted VMs from restored disks, your Azure role must have permission to perform the action, Microsoft.KeyVault/vaults/deploy/action. Jeśli rola nie ma tego uprawnienia, Utwórz rolę niestandardową przy użyciu tej akcji.If your role does not have this permission, create a custom role with this action. Aby uzyskać więcej informacji, zobacz role niestandardowe w usłudze Azure RBAC.For more information, see Custom Roles in Azure RBAC.

Uwaga

Po przywróceniu dysków można teraz uzyskać szablon wdrożenia, za pomocą którego można bezpośrednio utworzyć nową maszynę wirtualną.After restoring disks, you can now get a deployment template which you can directly use to create a new VM. Nie ma więcej różnych poleceń cmdlet środowiska PS do tworzenia zarządzanych/niezarządzanych maszyn wirtualnych, które są zaszyfrowane/nieszyfrowane.No more different PS cmdlets to create managed/unmanaged VMs which are encrypted/unencrypted.

Szczegóły zadania wynikowego zawierają identyfikator URI szablonu, który można zbadać i wdrożyć.The resultant job details give the template URI that can be queried and deployed.

   $properties = $details.properties
   $templateBlobURI = $properties["Template Blob Uri"]

Po prostu Wdróż szablon, aby utworzyć nową maszynę wirtualną, jak wyjaśniono tutaj.Just deploy the template to create a new VM as explained here.

New-AzResourceGroupDeployment -Name ExampleDeployment ResourceGroupName ExampleResourceGroup -TemplateUri $templateBlobURI -storageAccountType Standard_GRS

W poniższej sekcji przedstawiono kroki niezbędne do utworzenia maszyny wirtualnej przy użyciu pliku "VMConfig".The following section lists steps necessary to create a VM using "VMConfig" file.

Uwaga

Zdecydowanie zaleca się użycie szablonu wdrożenia szczegółowego powyżej w celu utworzenia maszyny wirtualnej.It is highly recommended to use the deployment template detailed above to create a VM. Ta sekcja (punkty 1-6) zostanie wkrótce wycofana.This section (Points 1-6) will be deprecated soon.

  1. Wykonaj zapytanie dotyczące przywróconych właściwości dysku w celu uzyskania szczegółowych informacji o zadaniu.Query the restored disk properties for the job details.

    $properties = $details.properties
    $storageAccountName = $properties["Target Storage Account Name"]
    $containerName = $properties["Config Blob Container Name"]
    $configBlobName = $properties["Config Blob Name"]
    
  2. Ustaw kontekst usługi Azure Storage i Przywróć plik konfiguracji JSON.Set the Azure storage context and restore the JSON configuration file.

    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. Użyj pliku konfiguracji JSON, aby utworzyć konfigurację maszyny wirtualnej.Use the JSON configuration file to create the VM configuration.

    $vm = New-AzVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. Dołącz dysk systemu operacyjnego i dyski z danymi.Attach the OS disk and data disks. Ten krok zawiera przykłady dla różnych konfiguracji zarządzanych i szyfrowanych maszyn wirtualnych.This step provides examples for various managed and encrypted VM configurations. Użyj przykładu pasującego do konfiguracji maszyny wirtualnej.Use the example that suits your VM configuration.

    • Niezarządzane i nieszyfrowane maszyny wirtualne — Użyj poniższego przykładu dla niezarządzanych, nieszyfrowanych maszyn wirtualnych.Non-managed and non-encrypted VMs - Use the following sample for non-managed, non-encrypted 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"
      }
      
    • Niezarządzane i zaszyfrowane maszyny wirtualne z usługą Azure AD (tylko klucz szyfrowania bloków) — dla niezarządzanych, szyfrowanych maszyn wirtualnych z usługą Azure AD (zaszyfrowane tylko przy użyciu klucz szyfrowania bloków) przed dołączeniem dysków należy przywrócić klucz tajny do magazynu kluczy.Non-managed and encrypted VMs with Azure AD (BEK only) - For non-managed, encrypted VMs with Azure AD (encrypted using BEK only), you need to restore the secret to the key vault before you can attach disks. Aby uzyskać więcej informacji, zobacz przywracanie zaszyfrowanej maszyny wirtualnej z Azure Backup punktu odzyskiwania.For more information, see the Restore an encrypted virtual machine from an Azure Backup recovery point. Poniższy przykład pokazuje, jak dołączyć dyski systemu operacyjnego i danych dla szyfrowanych maszyn wirtualnych.The following sample shows how to attach OS and data disks for encrypted VMs. Podczas ustawiania dysku systemu operacyjnego upewnij się, że wspominasz o odpowiednim typie systemu operacyjnego.When setting the OS disk, make sure to mention the relevant OS type.

      $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"
      }
      
    • Niezarządzane i zaszyfrowane maszyny wirtualne z usługą Azure AD (klucz szyfrowania bloków i KEK) — w przypadku niezarządzanych, szyfrowanych maszyn wirtualnych z usługą Azure AD (zaszyfrowane przy użyciu klucz szyfrowania bloków i KEK) przed dołączeniem dysków Przywróć klucz i klucz tajny magazynu kluczy.Non-managed and encrypted VMs with Azure AD (BEK and KEK) - For non-managed, encrypted VMs with Azure AD (encrypted using BEK and KEK), restore the key and secret to the key vault before attaching the disks. Aby uzyskać więcej informacji, zobacz przywracanie zaszyfrowanej maszyny wirtualnej z punktu odzyskiwania Azure Backup.For more information, see Restore an encrypted virtual machine from an Azure Backup recovery point. Poniższy przykład pokazuje, jak dołączyć dyski systemu operacyjnego i danych dla szyfrowanych maszyn wirtualnych.The following sample shows how to attach OS and data disks for encrypted VMs.

      $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"
      }
      
    • Niezarządzane i zaszyfrowane maszyny wirtualne bez usługi Azure AD (tylko klucz szyfrowania bloków) — dla niezarządzanych, szyfrowanych maszyn wirtualnych bez usługi Azure AD (szyfrowanych tylko za pomocą klucz szyfrowania bloków), Jeśli źródłowy Magazyn kluczy/klucz tajny nie są dostępne Przywróć klucze tajne do magazynu klucza przy użyciu procedury przywracania nieszyfrowanej maszyny wirtualnej z punktu odzyskiwania Azure Backup.Non-managed and encrypted VMs without Azure AD (BEK only) - For non-managed, encrypted VMs without Azure AD (encrypted using BEK only), if source keyVault/secret are not available restore the secrets to key vault using the procedure in Restore an non-encrypted virtual machine from an Azure Backup recovery point. Następnie wykonaj następujące skrypty, aby ustawić szczegóły szyfrowania dla przywróconego obiektu BLOB systemu operacyjnego (ten krok nie jest wymagany dla obiektów BLOB danych).Then execute the following scripts to set encryption details on the restored OS blob (this step is not required for data blob). $Dekurl można pobrać z przywróconego magazynu kluczy.The $dekurl can be fetched from the restored keyVault.

    Poniższy skrypt należy wykonać tylko wtedy, gdy źródłowy Magazyn kluczy/klucz tajny jest niedostępny.The below script needs to be executed only when the source keyVault/secret is not available.

    $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()
    

    Po udostępnieniu wpisów tajnych i utworzeniu szczegółów szyfrowania w obiekcie blob systemu operacyjnego Podłącz dyski przy użyciu skryptu podanego poniżej.After the secrets are available and the encryption details are also set on the OS Blob, attach the disks using the script given below.

    Jeśli źródłowy Magazyn kluczy/wpisy tajne są już dostępne, nie trzeba wykonywać powyższych skryptów.If the source keyVault/secrets are available already, then the above script need not be executed.

    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"
    }
    
    • Niezarządzane i zaszyfrowane maszyny wirtualne bez usługi Azure AD (klucz szyfrowania bloków i KEK) — w przypadku niezarządzanych, szyfrowanych maszyn wirtualnych bez usługi Azure AD (szyfrowanych przy użyciu klucz szyfrowania bloków & KEK), Jeśli źródłowy Magazyn kluczy/klucz/wpis tajny nie są dostępne Przywróć klucz i klucze tajne do magazynu klucza przy użyciu procedury przywracania nieszyfrowanej maszyny wirtualnej z Azure Backup punktu odzyskiwania.Non-managed and encrypted VMs without Azure AD (BEK and KEK) - For non-managed, encrypted VMs without Azure AD (encrypted using BEK & KEK), if source keyVault/key/secret are not available restore the key and secrets to key vault using the procedure in Restore an non-encrypted virtual machine from an Azure Backup recovery point. Następnie wykonaj następujące skrypty, aby ustawić szczegóły szyfrowania dla przywróconego obiektu BLOB systemu operacyjnego (ten krok nie jest wymagany dla obiektów BLOB danych).Then execute the following scripts to set encryption details on the restored OS blob (this step is not required for data blob). $Dekurl i $kekurl można pobrać z przywróconego magazynu kluczy.The $dekurl and $kekurl can be fetched from the restored keyVault.

    Poniższy skrypt należy wykonać tylko wtedy, gdy źródłowy Magazyn kluczy/klucz/wpis tajny jest niedostępny.The below script needs to be executed only when the source keyVault/key/secret is not available.

      $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()
    

    Po udostępnieniu klucza/wpisów tajnych i określeniu szczegółów szyfrowania w obiekcie blob systemu operacyjnego Podłącz dyski przy użyciu skryptu podanego poniżej.After the key/secrets are available and the encryption details are set on the OS Blob, attach the disks using the script given below.

    Jeśli źródłowy Magazyn kluczy/klucz tajny jest dostępny, nie trzeba wykonywać powyższych skryptów.If the source keyVault/key/secrets are available, then the above script need not be executed.

      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"
      }
    
    • Zarządzane i nieszyfrowane maszyny wirtualne — w przypadku zarządzanych nieszyfrowanych maszyn wirtualnych Podłącz przywrócone dyski zarządzane.Managed and non-encrypted VMs - For managed non-encrypted VMs, attach the restored managed disks. Aby uzyskać szczegółowe informacje, zobacz dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Zarządzane i zaszyfrowane maszyny wirtualne za pomocą usługi Azure AD (tylko klucz szyfrowania bloków) — w przypadku zarządzanych szyfrowanych maszyn wirtualnych z usługą Azure AD (zaszyfrowane tylko przy użyciu klucz szyfrowania bloków) dołączaj przywrócone dyski zarządzane.Managed and encrypted VMs with Azure AD (BEK only) - For managed encrypted VMs with Azure AD (encrypted using BEK only), attach the restored managed disks. Aby uzyskać szczegółowe informacje, zobacz dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Zarządzane i zaszyfrowane maszyny wirtualne za pomocą usługi Azure AD (klucz szyfrowania bloków i KEK) — w przypadku zarządzanych szyfrowanych maszyn wirtualnych z usługą Azure AD (zaszyfrowane przy użyciu klucz szyfrowania bloków i KEK) Dołącz przywrócone dyski zarządzane.Managed and encrypted VMs with Azure AD (BEK and KEK) - For managed encrypted VMs with Azure AD (encrypted using BEK and KEK), attach the restored managed disks. Aby uzyskać szczegółowe informacje, zobacz dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Zarządzane i zaszyfrowane maszyny wirtualne bez usługi Azure AD (tylko klucz szyfrowania bloków) — w przypadku zarządzanych, szyfrowanych maszyn wirtualnych bez usługi Azure AD (szyfrowanych tylko za pomocą klucz szyfrowania bloków), Jeśli źródłowy Magazyn kluczy/klucz tajny nie są dostępne Przywróć klucze tajne do magazynu klucza przy użyciu procedury przywracania nieszyfrowanej maszyny wirtualnej z punktu odzyskiwania Azure Backup.Managed and encrypted VMs without Azure AD (BEK only) -For managed, encrypted VMs without Azure AD (encrypted using BEK only), if source keyVault/secret are not available restore the secrets to key vault using the procedure in Restore an non-encrypted virtual machine from an Azure Backup recovery point. Następnie wykonaj następujące skrypty, aby ustawić szczegóły szyfrowania na przywróconym dysku systemu operacyjnego (ten krok nie jest wymagany w przypadku dysku danych).Then execute the following scripts to set encryption details on the restored OS disk (this step is not required for data disk). $Dekurl można pobrać z przywróconego magazynu kluczy.The $dekurl can be fetched from the restored keyVault.

      Poniższy skrypt należy wykonać tylko wtedy, gdy źródłowy Magazyn kluczy/klucz tajny jest niedostępny.The below script needs to be executed only when the source keyVault/secret is not available.

      $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
      $diskupdateconfig = Set-AzDiskUpdateDiskEncryptionKey -DiskUpdate $diskupdateconfig -SecretUrl $dekUrl -SourceVaultId $keyVaultId  
      Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
      

      Po udostępnieniu wpisów tajnych i wybraniu szczegółowych informacji o szyfrowaniu na dysku systemu operacyjnego w celu dołączenia przywróconych dysków zarządzanych zapoznaj się z tematem dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.After the secrets are available and the encryption details are set on the OS disk, to attach the restored managed disks, see Attach a data disk to a Windows VM using PowerShell.

    • Zarządzane i zaszyfrowane maszyny wirtualne bez usługi Azure AD (klucz szyfrowania bloków i KEK) — w przypadku zarządzanych, szyfrowanych maszyn wirtualnych bez usługi Azure AD (szyfrowanych przy użyciu klucz szyfrowania bloków & KEK), Jeśli źródłowy Magazyn kluczy/klucz/wpis tajny nie są dostępne Przywróć klucz i wpisy tajne do magazynu klucza przy użyciu procedury przywracania nieszyfrowanej maszyny wirtualnej z Azure Backup punktu odzyskiwania.Managed and encrypted VMs without Azure AD (BEK and KEK) - For managed, encrypted VMs without Azure AD (encrypted using BEK & KEK), if source keyVault/key/secret are not available restore the key and secrets to key vault using the procedure in Restore an non-encrypted virtual machine from an Azure Backup recovery point. Następnie wykonaj następujące skrypty, aby ustawić szczegóły szyfrowania na przywróconym dysku systemu operacyjnego (ten krok nie jest wymagany w przypadku dysku danych).Then execute the following scripts to set encryption details on the restored OS disk (this step is not required for data disk). $Dekurl i $kekurl można pobrać z przywróconego magazynu kluczy.The $dekurl and $kekurl can be fetched from the restored keyVault.

    Poniższy skrypt należy wykonać tylko wtedy, gdy źródłowy Magazyn kluczy/klucz/wpis tajny jest niedostępny.The below script needs to be executed only when the source keyVault/key/secret is not available.

      $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
      $diskupdateconfig = Set-AzDiskUpdateDiskEncryptionKey -DiskUpdate $diskupdateconfig -SecretUrl $dekUrl -SourceVaultId $keyVaultId  
      $diskupdateconfig = Set-AzDiskUpdateKeyEncryptionKey -DiskUpdate $diskupdateconfig -KeyUrl $kekUrl -SourceVaultId $keyVaultId  
      Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    Po udostępnieniu klucza lub wpisów tajnych na dysku systemu operacyjnego, aby dołączyć przywrócone dyski zarządzane, zobacz dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.After the key/secrets are available and the encryption details are set on the OS disk, to attach the restored managed disks, see Attach a data disk to a Windows VM using PowerShell.

  5. Ustaw ustawienia sieci.Set the Network settings.

    $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. Utwórz maszynę wirtualną.Create the virtual machine.

    New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    
  7. Rozszerzenie.Push ADE extension. Jeśli rozszerzenia ADE nie są wypychane, dyski danych zostaną oznaczone jako niezaszyfrowane, więc jest to wymagane w celu wykonania poniższych czynności:If the ADE extensions are not pushed, then the data disks will be marked as unencrypted, so it is mandatory for the steps below to be executed:

    • W przypadku maszyny wirtualnej z usługą Azure AD — Użyj następującego polecenia, aby ręcznie włączyć szyfrowanie dla dysków danychFor VM with Azure AD - Use the following command to manually enable encryption for the data disks

      Tylko klucz szyfrowania blokówBEK only

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

      KLUCZ szyfrowania bloków i KEKBEK and KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId  -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • W przypadku maszyny wirtualnej bez usługi Azure AD — Użyj następującego polecenia, aby ręcznie włączyć szyfrowanie dla dysków danych.For VM without Azure AD - Use the following command to manually enable encryption for the data disks.

      Jeśli podczas wykonywania polecenia prosi o AADClientID, należy zaktualizować Azure PowerShell.If during the command execution it asks for AADClientID, then you need to update your Azure PowerShell.

      Tylko klucz szyfrowania blokówBEK only

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

      KLUCZ szyfrowania bloków i KEKBEK and KEK

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

Uwaga

Pamiętaj o ręcznym usunięciu plików JASON utworzonych w ramach procesu odzyskiwania zaszyfrowanej maszyny wirtualnej.Ensure to manually delete the JASON files created as part of encrypted VM restore disk process.

Przywracanie plików z kopii zapasowej maszyny wirtualnej platformy AzureRestore files from an Azure VM backup

Oprócz przywracania dysków można także przywrócić pojedyncze pliki z kopii zapasowej maszyny wirtualnej platformy Azure.In addition to restoring disks, you can also restore individual files from an Azure VM backup. Funkcja przywracania plików zapewnia dostęp do wszystkich plików w punkcie odzyskiwania.The restore files functionality provides access to all files in a recovery point. Zarządzaj plikami za pomocą Eksploratora plików, tak jak w przypadku zwykłych plików.Manage the files via File Explorer as you would for normal files.

Podstawowe kroki przywracania pliku z kopii zapasowej maszyny wirtualnej platformy Azure:The basic steps to restore a file from an Azure VM backup are:

  • Wybierz maszynę wirtualnąSelect the VM
  • Wybierz punkt odzyskiwaniaChoose a recovery point
  • Instalowanie dysków punktu odzyskiwaniaMount the disks of recovery point
  • Kopiuj wymagane plikiCopy the required files
  • Odinstalowywanie dyskuUnmount the disk

Wybierz maszynę wirtualnąSelect the VM

Aby uzyskać obiekt programu PowerShell, który identyfikuje właściwy element kopii zapasowej, Rozpocznij od kontenera w magazynie i pracuj w sposób określony w hierarchii obiektów.To get the PowerShell object that identifies the right backup item, start from the container in the vault, and work your way down the object hierarchy. Aby wybrać kontener reprezentujący maszynę wirtualną, należy użyć polecenia cmdlet Get-AzRecoveryServicesBackupContainer i potoku do polecenia cmdlet Get-AzRecoveryServicesBackupItem .To select the container that represents the VM, use the Get-AzRecoveryServicesBackupContainer cmdlet and pipe that to the Get-AzRecoveryServicesBackupItem cmdlet.

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

Wybierz punkt odzyskiwaniaChoose a recovery point

Użyj polecenia cmdlet Get-AzRecoveryServicesBackupRecoveryPoint , aby wyświetlić listę wszystkich punktów odzyskiwania dla elementu kopii zapasowej.Use the Get-AzRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. Następnie wybierz punkt odzyskiwania do przywrócenia.Then choose the recovery point to restore. Jeśli nie masz pewności, który punkt odzyskiwania ma być używany, dobrym sposobem jest wybranie najnowszego punktu RecoveryPointType = AppConsistent z listy.If you are unsure which recovery point to use, it is a good practice to choose the most recent RecoveryPointType = AppConsistent point in the list.

W poniższym skrypcie zmienna $RPjest tablicą punktów odzyskiwania dla wybranego elementu kopii zapasowej w ciągu ostatnich siedmiu dni.In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. Tablica jest posortowana w odwrotnej kolejności czasu z najnowszym punktem odzyskiwania pod indeksem 0.The array is sorted in reverse order of time with the latest recovery point at index 0. Użyj standardowego indeksowania tablicy programu PowerShell, aby wybrać punkt odzyskiwania.Use standard PowerShell array indexing to pick the recovery point. W przykładzie $rp [0] wybiera najnowszy punkt odzyskiwania.In the example, $rp[0] selects the latest recovery point.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Instalowanie dysków punktu odzyskiwaniaMount the disks of recovery point

Użyj polecenia cmdlet Get-AzRecoveryServicesBackupRPMountScript , aby pobrać skrypt instalujący wszystkie dyski punktu odzyskiwania.Use the Get-AzRecoveryServicesBackupRPMountScript cmdlet to get the script to mount all the disks of the recovery point.

Uwaga

Dyski są instalowane jako dołączone dyski iSCSI na komputerze, na którym skrypt jest uruchamiany.The disks are mounted as iSCSI attached disks to the machine where the script is run. Instalowanie odbywa się natychmiast, a opłaty nie są naliczane.Mounting occurs immediately, and you don't incur any charges.

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

Dane wyjściowe są podobne do poniższego przykładu:The output is similar to the following example:

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

Uruchom skrypt na komputerze, na którym chcesz odzyskać pliki.Run the script on the machine where you want to recover the files. Aby wykonać skrypt, należy wprowadzić podane hasło.To execute the script, you must enter the password provided. Po dołączeniu dysków Użyj Eksploratora plików systemu Windows, aby przeglądać nowe woluminy i pliki.After the disks are attached, use Windows File Explorer to browse the new volumes and files. Aby uzyskać więcej informacji, zobacz artykuł Tworzenie kopii zapasowej, odzyskiwanie plików z kopii zapasowej maszyny wirtualnej platformy Azure.For more information, see the Backup article, Recover files from Azure virtual machine backup.

Odinstalowywanie dyskówUnmount the disks

Po skopiowaniu wymaganych plików Użyj polecenie disable-AzRecoveryServicesBackupRPMountScript , aby odinstalować dyski.After the required files are copied, use Disable-AzRecoveryServicesBackupRPMountScript to unmount the disks. Pamiętaj o odinstalowaniu dysków, aby uzyskać dostęp do plików z punktu odzyskiwania.Be sure to unmount the disks so access to the files of the recovery point is removed.

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

Następne krokiNext steps

Jeśli wolisz używać programu PowerShell do korzystania z zasobów platformy Azure, zapoznaj się z artykułem dotyczącym programu PowerShell, Wdróż i Zarządzaj kopią zapasową dla systemu Windows Server.If you prefer to use PowerShell to engage with your Azure resources, see the PowerShell article, Deploy and Manage Backup for Windows Server. W przypadku zarządzania kopiami zapasowymi programu DPM zapoznaj się z artykułem wdrażanie kopii zapasowej programu DPM i zarządzanie nią.If you manage DPM backups, see the article, Deploy and Manage Backup for DPM.