Sauvegarder et restaurer des machines virtuelles Azure avec PowerShellBack up and restore Azure VMs with PowerShell

Cet article explique comment sauvegarder et restaurer une machine virtuelle Azure dans un sauvegarde Azure coffre Recovery Services à l’aide des applets de commande PowerShell.This article explains how to back up and restore an Azure VM in an Azure Backup Recovery Services vault using PowerShell cmdlets.

Dans cet article, vous apprendrez comment :In this article you learn how to:

  • Créer un coffre Recovery Services et définir le contexte du coffre.Create a Recovery Services vault and set the vault context.
  • Créer une stratégie de sauvegardeDefine a backup policy
  • Appliquer la stratégie de sauvegarde pour protéger plusieurs machines virtuellesApply the backup policy to protect multiple virtual machines
  • Déclencher un travail de sauvegarde à la demande pour les machines virtuelles protégées Avant de sauvegarder (ou de protéger) une machine virtuelle, vous devez remplir les prérequis pour préparer votre environnement à la protection de vos machines virtuelles.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.

Avant de commencerBefore you start

  • En savoir plus sur les coffres Recovery Services.Learn more about Recovery Services vaults.
  • Passez en revue l’architecture pour la sauvegarde de machine virtuelle Azure, en savoir plus sur le processus de sauvegarde, et Examinez prise en charge, les limitations et les conditions préalables.Review the architecture for Azure VM backup, learn about the backup process, and review support, limitations, and prerequisites.
  • Passez en revue la hiérarchie d’objets PowerShell pour les Services de récupération.Review the PowerShell object hierarchy for Recovery Services.

Hiérarchie des objets dans Recovery ServicesRecovery Services object hierarchy

La hiérarchie d’objets est résumée dans le diagramme suivant.The object hierarchy is summarized in the following diagram.

Hiérarchie des objets dans Recovery Services

Examinez le Az.RecoveryServices référence d’applet de commande référence dans la bibliothèque Azure.Review the Az.RecoveryServices cmdlet reference reference in the Azure library.

Configurer et inscrireSet up and register

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Pour commencer :To begin:

  1. Téléchargez la dernière version de PowerShellDownload the latest version of PowerShell

  2. Rechercher les applets de commande PowerShell Azure Backup disponibles en tapant la commande suivante :Find the Azure Backup PowerShell cmdlets available by typing the following command:

    Get-Command *azrecoveryservices*
    

    Les alias et cmdlets pour Sauvegarde Azure, Azure Site Recovery et le coffre Recovery Services s’affichent.The aliases and cmdlets for Azure Backup, Azure Site Recovery, and the Recovery Services vault appear. L’image suivante est un exemple de ce que vous allez voir.The following image is an example of what you'll see. Il ne s’agit pas de la liste complète des cmdlets.It is not the complete list of cmdlets.

    Liste des services Recovery Services

  3. Connectez-vous à votre compte Azure à l'aide de Connect-AzAccount.Sign in to your Azure account using Connect-AzAccount. Cette applet de commande permet d’afficher une page web qui vous demande les informations d’identification de votre compte :This cmdlet brings up a web page prompts you for your account credentials:

    • Vous pouvez également inclure les informations d'identification de votre compte en tant que paramètre dans la cmdlet Connect-AzAccount à l'aide du paramètre -Credential.Alternately, you can include your account credentials as a parameter in the Connect-AzAccount cmdlet, using the -Credential parameter.
    • Si vous êtes partenaire CSP travaillant pour le compte d’un locataire, spécifiez le client en tant que locataire à l’aide de son ID locataire ou de son nom de domaine principal.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. Exemple : Connect-AzAccount -Tenant "fabrikam.com"For example: Connect-AzAccount -Tenant "fabrikam.com"
  4. Associez l’abonnement que vous souhaitez utiliser avec le compte, car un compte peut compter plusieurs abonnements :Associate the subscription you want to use with the account, since an account can have several subscriptions:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  5. Si vous utilisez sauvegarde Azure pour la première fois, vous devez utiliser le Register-AzResourceProvider applet de commande pour inscrire le fournisseur de services de récupération Azure avec votre abonnement.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. Vous pouvez vérifier que les fournisseurs ont été correctement inscrits à l’aide des commandes suivantes :You can verify that the Providers registered successfully, using the following commands:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    Dans la sortie de commande, RegistrationState doit prendre la valeur Inscrit.In the command output, the RegistrationState should change to Registered. Si non, il suffit d’exécuter le Register-AzResourceProvider applet de commande à nouveau.If not, just run the Register-AzResourceProvider cmdlet again.

Créer un coffre Recovery ServicesCreate a Recovery Services vault

Les étapes suivantes vous montrent comment créer un coffre Recovery Services.The following steps lead you through creating a Recovery Services vault. Un coffre Recovery Services diffère d’un coffre de sauvegarde.A Recovery Services vault is different than a Backup vault.

  1. Le coffre Recovery Services étant une ressource Resource Manager, vous devez le placer dans un groupe de ressources.The Recovery Services vault is a Resource Manager resource, so you need to place it within a resource group. Vous pouvez utiliser un groupe de ressources existant, ou créer un groupe de ressources avec le New-AzResourceGroup applet de commande.You can use an existing resource group, or create a resource group with the New-AzResourceGroup cmdlet. Quand vous créez un groupe de ressources, spécifiez son nom et son emplacement.When creating a resource group, specify the name and location for the resource group.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Utilisez la cmdlet New-AzRecoveryServicesVault pour créer le coffre Recovery Services.Use the New-AzRecoveryServicesVault cmdlet to create the Recovery Services vault. Spécifiez pour le coffre le même emplacement que pour le groupe de ressources.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. Spécifiez le type de redondance de stockage à utiliser : Stockage localement redondant (LRS) ou Stockage géo-redondant (GRS).Specify the type of storage redundancy to use; you can use Locally Redundant Storage (LRS) or Geo Redundant Storage (GRS). L’exemple suivant montre que l’option -BackupStorageRedundancy pour testvault est définie sur GeoRedundant.The following example shows the -BackupStorageRedundancy option for testvault is set to GeoRedundant.

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

    Conseil

    De nombreuses applets de commande Azure Backup nécessitent l’objet coffre Recovery Services en tant qu’entrée.Many Azure Backup cmdlets require the Recovery Services vault object as an input. Pour cette raison, il est pratique de stocker l’objet coffre Backup Recovery Services dans une variable.For this reason, it is convenient to store the Backup Recovery Services vault object in a variable.

Afficher les coffres dans un abonnementView the vaults in a subscription

Pour afficher tous les coffres de l'abonnement, utilisez Get-AzRecoveryServicesVault :To view all vaults in the subscription, use Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

La sortie ressemble à celle de l’exemple suivant. Notez que le paramètre ResourceGroupName et l’emplacement associés sont fournis.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

Sauvegarder des machines virtuelles AzureBack up Azure VMs

Utilisez un coffre Recovery Services pour protéger vos machines virtuelles.Use a Recovery Services vault to protect your virtual machines. Avant d’appliquer la protection, définissez le contexte du coffre (le type de données qu’il protège) et vérifiez la stratégie de protection.Before you apply the protection, set the vault context (the type of data protected in the vault), and verify the protection policy. La stratégie de protection consiste à planifier l’exécution du travail de sauvegarde et la durée de conservation de chaque instantané de sauvegarde.The protection policy is the schedule when the backup jobs run, and how long each backup snapshot is retained.

Définir le contexte du coffreSet vault context

Avant d’activer la protection sur une machine virtuelle, utilisez Set-AzRecoveryServicesVaultContext pour définir le contexte du coffre.Before enabling protection on a VM, use Set-AzRecoveryServicesVaultContext to set the vault context. Une fois le contexte du coffre défini, il s’applique à toutes les applets de commande suivantes.Once the vault context is set, it applies to all subsequent cmdlets. L’exemple suivant définit le contexte du coffre pour le coffre testvault.The following example sets the vault context for the vault, testvault.

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

Modification des paramètres de réplication de stockageModifying storage replication settings

Utilisez Set-AzRecoveryServicesBackupProperty commande pour définir la configuration de réplication de stockage du coffre sur LRS/GRSUse Set-AzRecoveryServicesBackupProperty command to set the Storage replication configuration of the vault to LRS/GRS

$vault= Get-AzRecoveryServicesVault -name "testvault"
Set-AzRecoveryServicesBackupProperty -Vault $vault -BackupStorageRedundancy GeoRedundant/LocallyRedundant

Notes

La redondance de stockage peut être modifiée uniquement si aucun élément de sauvegarde n’est protégé dans le coffre.Storage Redundancy can be modified only if there are no backup items protected to the vault.

Création d’une stratégie de protectionCreate a protection policy

Quand vous créez un coffre Recovery Services, il est fourni avec des stratégies de protection et de conservation par défaut.When you create a Recovery Services vault, it comes with default protection and retention policies. La stratégie de protection par défaut déclenche une tâche de sauvegarde chaque jour à une heure spécifiée.The default protection policy triggers a backup job each day at a specified time. La stratégie de conservation par défaut conserve le point de récupération quotidien pendant 30 jours.The default retention policy retains the daily recovery point for 30 days. Vous pouvez utiliser la stratégie par défaut pour protéger rapidement votre machine virtuelle et modifier la stratégie ultérieurement avec différents détails.You can use the default policy to quickly protect your VM and edit the policy later with different details.

Utilisez Get-AzRecoveryServicesBackupProtectionPolicy pour afficher les stratégies de protection disponibles dans le coffre.Use Get-AzRecoveryServicesBackupProtectionPolicy to view the protection policies available in the vault. Vous pouvez utiliser cette applet de commande pour obtenir une stratégie spécifique ou pour afficher les stratégies associées à un type de charge de travail.You can use this cmdlet to get a specific policy, or to view the policies associated with a workload type. L’exemple suivant obtient les stratégies pour le type de charge de travail AzureVM.The following example gets policies for workload type, AzureVM.

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM"

Le résultat ressemble à l’exemple suivant :The output is similar to the following example:

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

Notes

Le fuseau horaire du champ BackupTime dans PowerShell est UTC.The timezone of the BackupTime field in PowerShell is UTC. Toutefois, lorsque l’heure de sauvegarde s’affiche dans le portail Azure, elle est alignée sur votre fuseau horaire.However, when the backup time is shown in the Azure portal, the time is adjusted to your local timezone.

Une stratégie de protection de la sauvegarde est associée à au moins une stratégie de rétention.A backup protection policy is associated with at least one retention policy. Une stratégie de rétention définit la durée pendant laquelle un point de récupération est conservé avant sa suppression.A retention policy defines how long a recovery point is kept before it is deleted.

Par défaut, une heure de début est définie dans l’objet de stratégie de planification.By default, a start time is defined in the Schedule Policy Object. L’exemple suivant permet de modifier l’heure de début à l’heure de début souhaitée.Use the following example to change the start time to the desired start time. L’heure de début souhaitée doit également être au format UTC.The desired start time should be in UTC as well. L’exemple ci-dessous suppose que l’heure de début souhaitée est 01 h 00 UTC pour les sauvegardes quotidiennes.The below example assumes the desired start time is 01:00 AM UTC for daily backups.

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

L’exemple suivant stocke la stratégie de planification et la stratégie de conservation dans des variables.The following example stores the schedule policy and the retention policy in variables. L’exemple utilise ces variables pour définir les paramètres lors de la création d’une stratégie de protection, NewPolicy.The example uses those variables to define the parameters when creating a protection policy, NewPolicy.

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

Le résultat ressemble à l’exemple suivant :The output is similar to the following example:

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

Activer la protectionEnable protection

Une fois que vous avez défini la stratégie de protection, vous devez encore activer la stratégie pour un élément.Once you've defined the protection policy, you still must enable the policy for an item. Utilisez Enable-AzRecoveryServicesBackupProtection pour activer la protection.Use Enable-AzRecoveryServicesBackupProtection to enable protection. L’activation de la protection nécessite deux objets : l’élément et la stratégie.Enabling protection requires two objects - the item and the policy. Une fois que la stratégie a été associée au coffre, le flux de travail de la sauvegarde est déclenché à l’heure planifiée dans la planification de la stratégie.Once the policy has been associated with the vault, the backup workflow is triggered at the time defined in the policy schedule.

Les exemples suivants activent la protection pour l’élément V2VM. Ils utilisent la stratégie NewPolicy.The following examples enable protection for the item, V2VM, using the policy, NewPolicy. Les exemples diffèrent selon que la machine virtuelle est chiffrée et le type de chiffrement.The examples differ based on whether the VM is encrypted, and what type of encryption.

Pour activer la protection sur des machines virtuelles Resource Manager non chiffrées :To enable the protection on non-encrypted Resource Manager VMs:

$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

Pour activer la protection sur des machines virtuelles chiffrées (à l’aide de BEK et KEK), vous devez donner l’autorisation de service de sauvegarde Azure pour lire les clés et les secrets du coffre de clés.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"
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

Pour activer la protection sur des machines virtuelles chiffrées (à l’aide de clés BEK uniquement) , vous devez accorder au service Sauvegarde Azure l’autorisation de lire les secrets depuis le coffre de clés.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"
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

Notes

Si vous utilisez le cloud Azure Government, utilisez la valeur ff281ffe-705c-4f53-9f37-a40e6f2c68f3 pour le paramètre ServicePrincipalName dans Set-AzKeyVaultAccessPolicy applet de commande.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.

Surveillance d’une tâche de sauvegardeMonitoring a backup job

Vous pouvez surveiller les opérations à exécution longue, comme les tâches de sauvegarde, sans utiliser le portail Azure.You can monitor long-running operations, such as backup jobs, without using the Azure portal. Pour obtenir l’état d’un travail en cours d’exécution, utilisez la Get-AzRecoveryservicesBackupJob applet de commande.To get the status of an in-progress job, use the Get-AzRecoveryservicesBackupJob cmdlet. Cette applet de commande obtient les tâches de sauvegarde pour un coffre spécifique, et ce coffre est spécifié dans le contexte du coffre.This cmdlet gets the backup jobs for a specific vault, and that vault is specified in the vault context. L’exemple suivant obtient l’état d’une tâche en cours d’exécution sous forme de tableau et stocke l’état dans la variable $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"
$joblist[0]

Le résultat ressemble à l’exemple suivant :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

Au lieu d’interroger ces travaux pour la saisie semi-automatique, qui est le code supplémentaire inutile - utiliser le AzRecoveryServicesBackupJob d’attente applet de commande.Instead of polling these jobs for completion - which is unnecessary additional code - use the Wait-AzRecoveryServicesBackupJob cmdlet. Cette applet de commande suspend l’exécution jusqu’à la fin de la tâche ou jusqu’à ce que la valeur spécifiée pour l’expiration du délai soit atteinte.This cmdlet pauses the execution until either the job completes or the specified timeout value is reached.

Wait-AzRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200

Gérer les sauvegardes de machines virtuelles AzureManage Azure VM backups

Modifier une stratégie de protectionModify a protection policy

Pour modifier la stratégie de protection, utilisez Set-AzRecoveryServicesBackupProtectionPolicy pour modifier les objets objets SchedulePolicy ou RetentionPolicy.To modify the protection policy, use Set-AzRecoveryServicesBackupProtectionPolicy to modify the SchedulePolicy or RetentionPolicy objects.

Modification de l’heure planifiéeModifying scheduled time

Lorsque vous créez une stratégie de protection, il est affecté à une heure de début par défaut.When you create a protection policy, it is assigned a start-time by default. Les exemples suivants montrent comment modifier l’heure de début d’une stratégie de protection.The following examples shows 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"
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -SchedulePolicy $SchPol

Modification de rétentionModifying retention

L’exemple suivant change la conservation des points de récupération en 365 jours.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"
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -RetentionPolicy $RetPol

Configuration de la rétention des instantanés de la restauration instantanéeConfiguring Instant restore snapshot retention

Notes

À partir de Az PS version 1.6.0 et versions ultérieures, un peut mettre à jour de la période de rétention des instantanés de la restauration instantanée dans la stratégie à l’aide de PowershellFrom Az PS version 1.6.0 onwards, one can update the instant restore snapshot retention period in policy using Powershell

PS C:\> $bkpPol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM"
$bkpPol.SnapshotRetentionInDays=7
PS C:\> Set-AzureRmRecoveryServicesBackupProtectionPolicy -policy $bkpPol

La valeur par défaut sera 2, l’utilisateur peut définir la valeur avec 1 minimum et maximum de 5.The default value will be 2, user can set the value with a min of 1 and max of 5. Pour des stratégies de sauvegarde hebdomadaire, la période est définie sur 5 et ne peut pas être modifiée.For weekly backup polices, the period is set to 5 and cannot be changed.

Déclencher une sauvegardeTrigger a backup

Utilisez AzRecoveryServicesBackupItem de sauvegarde pour déclencher un travail de sauvegarde.Use Backup-AzRecoveryServicesBackupItem to trigger a backup job. S’il s’agit de la sauvegarde initiale, cette sauvegarde est complète.If it's the initial backup, it is a full backup. Les sauvegardes suivantes prennent une copie incrémentielle.Subsequent backups take an incremental copy. L’exemple suivant prend une machine virtuelle sauvegarde doivent être conservées pendant 60 jours.The following example takes a VM backup to be retained for 60 days.

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

Le résultat ressemble à l’exemple suivant :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

Notes

Le fuseau horaire des champs StartTime et EndTime affichés dans PowerShell est UTC.The timezone of the StartTime and EndTime fields in PowerShell is UTC. Toutefois, lorsque l’heure s’affiche dans le portail Azure, elle est alignée sur votre fuseau horaire.However, when the time is shown in the Azure portal, the time is adjusted to your local timezone.

Modifier la stratégie pour les éléments de sauvegardeChange policy for backup items

Utilisateur peut modifier la stratégie existante ou diffère de la stratégie de l’élément sauvegardé Policy1 Stratégie2.User can either modify existing policy or change the policy of the backed-up item from Policy1 to Policy2. Pour basculer des stratégies pour un élément sauvegardé, simplement extraire la stratégie concernée et sauvegarder élément et utiliser le Enable-AzRecoveryServices avec l’élément de sauvegarde comme paramètre.To switch policies for a backed-up item, simply 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>
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>"
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1

La commande attend jusqu'à ce que la sauvegarde de la configuration est terminée et renvoie le résultat suivant.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

Arrêter la protectionStop protection

Conserver les donnéesRetain data

Si l’utilisateur souhaite arrêter la protection, ils peuvent utiliser le Disable-AzRecoveryServicesBackupProtection applet de commande PS.If user wishes to stop protection, they can use the Disable-AzRecoveryServicesBackupProtection PS cmdlet. Cela empêchera les sauvegardes planifiées, mais sont soutenues par les données jusqu'à présent sont conservées indéfiniment.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

Supprimer les données de sauvegardeDelete backup data

Pour supprimer complètement les données de sauvegarde stockées dans le coffre, il suffit d’ajouter «-indicateur/basculer des RemoveRecoveryPoints vers le 'disable' commande de protection.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

Restauration d’une machine virtuelle AzureRestore an Azure VM

Il existe une différence importante entre restaurer une machine virtuelle à l’aide du portail Microsoft Azure et restaurer une machine virtuelle à l’aide de PowerShell.There is an important difference between the restoring a VM using the Azure portal and restoring a VM using PowerShell. Avec PowerShell, l’opération de restauration est terminée dès que sont créés les disques et les informations de configuration à partir d’un point de restauration.With PowerShell, the restore operation is complete once the disks and configuration information from the recovery point are created. L’opération de restauration ne crée pas la machine virtuelle.The restore operation doesn't create the virtual machine. Pour créer une machine virtuelle à partir d’un disque, consultez la section Créer une machine virtuelle à partir de disques restaurés.To create a virtual machine from disk, see the section, Create the VM from restored disks. Si vous ne voulez pas restaurer l’intégralité de la machine virtuelle, mais que vous voulez restaurer ou récupérer quelques fichiers seulement depuis une sauvegarde de machine virtuelle Azure, reportez-vous à la section de récupération des fichiers.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.

Conseil

L’opération de restauration ne crée pas la machine virtuelle.The restore operation does not create the virtual machine.

L’illustration suivante montre la hiérarchie d’objets à partir de RecoveryServicesVault jusqu’à BackupRecoveryPoint.The following graphic shows the object hierarchy from the RecoveryServicesVault down to the BackupRecoveryPoint.

Hiérarchie d’objets Recovery Services montrant BackupContainer

Pour restaurer les données de sauvegarde, identifiez l’élément sauvegardé et le point de récupération contenant les données ponctuelles.To restore backup data, identify the backed-up item and the recovery point that holds the point-in-time data. Utilisez AzRecoveryServicesBackupItem de restauration pour restaurer des données à partir du coffre vers votre compte.Use Restore-AzRecoveryServicesBackupItem to restore data from the vault to your account.

Les étapes de base pour restaurer une machine virtuelle Azure sont :The basic steps to restore an Azure VM are:

  • Sélectionnez la machine virtuelle.Select the VM.
  • Choisissez un point de récupération.Choose a recovery point.
  • Restaurez les disques.Restore the disks.
  • Créez la machine virtuelle à partir des disques stockés.Create the VM from stored disks.

Sélection de la machine virtuelleSelect the VM

Pour obtenir l’objet PowerShell permettant d’identifier l’élément à restaurer, vous devez commencer au niveau du conteneur dans le coffre et descendre dans la hiérarchie d’objets.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. Pour sélectionner le conteneur qui représente la machine virtuelle, utilisez le Get-AzRecoveryServicesBackupContainer applet de commande et Dirigez-la vers le Get-AzRecoveryServicesBackupItem applet de commande.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"
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM"

Choisir un point de récupérationChoose a recovery point

Utilisez la cmdlet Get-AzRecoveryServicesBackupRecoveryPoint afin de répertorier tous les points de récupération correspondant à l'élément de sauvegarde.Use the Get-AzRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. Ensuite, choisissez le point de récupération à restaurer.Then choose the recovery point to restore. Si vous ne savez pas quel point de récupération utiliser, nous vous conseillons de choisir le point RecoveryPointType = AppConsistent le plus récent dans la liste.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.

Dans le script suivant, la variable $rpest un tableau de points de récupération des 7 derniers jours pour l’élément de sauvegarde sélectionné.In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. Le tableau est trié dans l’ordre chronologique inverse, le point de récupération le plus récent détenant l’index 0.The array is sorted in reverse order of time with the latest recovery point at index 0. Utilisez l'indexation de tableau PowerShell standard pour sélectionner le point de récupération.Use standard PowerShell array indexing to pick the recovery point. Dans l’exemple, $rp[0] sélectionne le dernier point de récupération.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()
$rp[0]

Le résultat ressemble à l’exemple suivant :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

Restaurer les disquesRestore the disks

Utilisez le AzRecoveryServicesBackupItem de restauration applet de commande pour restaurer les données et la configuration d’un élément de sauvegarde à un point de récupération.Use the Restore-AzRecoveryServicesBackupItem cmdlet to restore a backup item's data and configuration to a recovery point. Lorsque vous avez identifié un point de récupération, utilisez-le comme valeur du paramètre -RecoveryPoint.Once you identify a recovery point, use it as the value for the -RecoveryPoint parameter. Dans l’exemple de code précédent, $rp[0] était le point de récupération à utiliser.In the above sample, $rp[0] was the recovery point to use. Dans l’exemple de code suivant, $rp [0] est le point de récupération à utiliser pour restaurer le disque.In the following sample code, $rp[0] is the recovery point to use for restoring the disk.

Pour restaurer les disques et les informations de configuration :To restore the disks and configuration information:

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

Restaurer des disques managésRestore managed disks

Notes

Si la machine virtuelle sauvegardée contient des disques managés que vous souhaitez restaurer, vous pouvez désormais le faire dans Azure PowerShell RM module v 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. et versions ultérieures.onwards

Précisez un paramètre supplémentaire TargetResourceGroupName correspondant au groupe de ressources dans lequel les disques managés seront restaurés.Provide an additional parameter TargetResourceGroupName to specify the RG to which managed disks will be restored.

Notes

Il est vivement recommandé d'utiliser le paramètre TargetResourceGroupName pour la restauration des disques managés car il améliore considérablement les performances.It is strongly recommended to use the TargetResourceGroupName parameter for restoring managed disks since it results in significant performance improvements. De plus, à partir du module 1.0 d'Azure Powershell Az, ce paramètre est obligatoire en cas de restauration avec des disques managés.Also, 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"

Le fichier VMConfig.JSON sera restauré dans le compte de stockage, et les disques managés seront restaurés dans le groupe de ressources cible spécifié.The VMConfig.JSON file will be restored to the storage account and the managed disks will be restored to the specified target RG.

Le résultat ressemble à l’exemple suivant :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

Utilisez le AzRecoveryServicesBackupJob d’attente applet de commande pour attendre la fin de la tâche de restauration.Use the Wait-AzRecoveryServicesBackupJob cmdlet to wait for the Restore job to complete.

Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

Une fois le travail de restauration terminée, utilisez le Get-AzRecoveryServicesBackupJobDetails pour obtenir les détails de l’opération de restauration.Once the Restore job has completed, use the Get-AzRecoveryServicesBackupJobDetails cmdlet to get the details of the restore operation. La propriété JobDetails contient les informations nécessaires pour régénérer la machine virtuelle.The JobDetails property has the information needed to rebuild the VM.

$restorejob = Get-AzRecoveryServicesBackupJob -Job $restorejob
$details = Get-AzRecoveryServicesBackupJobDetails -Job $restorejob

Une fois que vous avez restauré les disques, accédez à la section suivante pour créer la machine virtuelle.Once you restore the disks, go to the next section to create the VM.

Créer une machine virtuelle à partir de disques restaurésCreate a VM from restored disks

Après avoir restauré les disques, utilisez les étapes ci-après pour créer et configurer la machine virtuelle à partir du disque.After you restore the disks, use the following steps to create and configure the virtual machine from disk.

Notes

Pour créer des machines virtuelles chiffrées à partir de disques restaurés, votre rôle Azure doit avoir l’autorisation d’effectuer l’action Microsoft.KeyVault/vaults/deploy/action.To create encrypted VMs from restored disks, your Azure role must have permission to perform the action, Microsoft.KeyVault/vaults/deploy/action. Si votre rôle ne dispose pas de cette autorisation, créez un rôle personnalisé avec cette action.If your role does not have this permission, create a custom role with this action. Pour plus d’informations, consultez Rôles personnalisés dans le contrôle d’accès en fonction du rôle (RBAC) Azure.For more information, see Custom Roles in Azure RBAC.

Notes

Après avoir restauré les disques, vous pouvez obtenir un modèle de déploiement que vous pouvez utiliser directement pour créer une machine virtuelle.After restoring disks, you can now get a deployment template which you can directly use to create a new VM. Les cmdlets PS permettant de créer des machines virtuelles gérées/non gérées qui sont chiffrées/non chiffrées ne sont plus différentes.No more different PS cmdlets to create managed/unmanaged VMs which are encrypted/unencrypted.

Les détails du travail obtenu donnent l’URI du modèle que vous pouvez interroger et déployer.The resultant job details gives the template URI which can be queried and deployed.

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

Il vous suffit de déployer le modèle pour créer une machine virtuelle, comme expliqué ici.Just deploy the template to create a new VM as explained here.

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

La section suivante liste les étapes nécessaires pour créer une machine virtuelle à l’aide du fichier « VMConfig ».The following section lists steps necessary to create a VM using "VMConfig" file.

Notes

Il est vivement recommandé d’utiliser le modèle de déploiement décrit ci-dessus pour créer une machine virtuelle.It is highly recommended to use the deployment template detailed above to create a VM. Cette section (points 1 à 6) sera bientôt dépréciée.This section (Points 1-6) will be deprecated soon.

  1. Interrogez les propriétés des disques restaurés pour obtenir les détails du travail.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. Définissez le contexte de stockage Azure et restaurez le fichier de configuration 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. Utilisez le fichier de configuration JSON pour créer la configuration de la machine virtuelle.Use the JSON configuration file to create the VM configuration.

    $vm = New-AzVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. Attachez le disque du système d’exploitation et les disques de données.Attach the OS disk and data disks. Cette étape fournit des exemples pour différentes configurations de machines virtuelles managées et chiffrées.This step provides examples for various managed and encrypted VM configurations. Utilisez l’exemple qui correspond le mieux à votre configuration de machine virtuelle.Use the example that suits your VM configuration.

    • Machines virtuelles non managées et non chiffrées : utilisez l’exemple suivant pour une machine virtuelle non managée et non chiffrée.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"
      }
      
    • Machines virtuelles non managées et chiffrées (à l’aide de clés BEK uniquement) avec Azure AD : pour les machines virtuelles non managées et chiffrées (à l’aide de clés BEK uniquement) avec Azure AD, vous devez restaurer le secret dans le coffre de clés avant d’attacher les disques.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. Pour plus d’informations, consultez Restaurer une machine virtuelle chiffrée à partir d’un point de récupération Sauvegarde Azure.For more information, see the Restore an encrypted virtual machine from an Azure Backup recovery point. L’exemple suivant montre comment attacher des disques de système d’exploitation et de données pour les machines virtuelles chiffrées.The following sample shows how to attach OS and data disks for encrypted VMs. Au moment de définir le disque du système d’exploitation, vérifiez que le type de système d’exploitation approprié est mentionné.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"
      }
      
    • Machines virtuelles non managées et chiffrées (à l’aide de clés BEK et KEK) avec Azure AD : pour les machines virtuelles non managées et chiffrées (à l’aide de clés BEK et KEK) avec Azure AD, vous devez restaurer la clé et le secret dans le coffre de clés avant d’attacher les disques.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. Pour plus d’informations, consultez Restaurer une machine virtuelle chiffrée à partir d’un point de récupération Sauvegarde Azure.For more information, see Restore an encrypted virtual machine from an Azure Backup recovery point. L’exemple suivant montre comment attacher des disques de système d’exploitation et de données pour les machines virtuelles chiffrées.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"
      }
      
    • Machines virtuelles non managées et chiffrées (à l’aide de clés BEK uniquement) sans Azure AD : pour les machines virtuelles non managées et chiffrées (à l’aide de clés BEK uniquement) sans Azure AD, si le secret et le coffre de clés sources ne sont pas disponibles, restaurez les secrets dans le coffre de clés en appliquant la procédure décrite dans Restaurer une machine virtuelle non chiffrée à partir d’un point de récupération Sauvegarde Azure.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. Ensuite, exécutez les scripts suivants pour définir les détails du chiffrement sur l’objet blob de système d’exploitation restauré (cette étape n’est pas nécessaire pour l’objet blob de données).Then execute the following scripts to set encryption details on the restored OS blob (this step is not required for data blob). $dekurl peut être extrait du coffre de clés restauré.The $dekurl can be fetched from the restored keyVault.

    Le script ci-dessous doit être exécuté uniquement quand le secret/coffre de clés source n’est pas disponible.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()
    

    Une fois que les secrets sont disponibles et que les détails de chiffrement ont été définis sur l’objet blob de système d’exploitation, attachez les disques en utilisant le script ci-dessous.After the secrets are available and the encryption details are also set on the OS Blob, attach the disks using the script given below.

    Si les secrets/coffre de clés sources sont déjà disponibles, vous n’êtes pas obligé d’exécuter le script ci-dessus.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"
    }
    
    • Machines virtuelles non managées et chiffrées (à l’aide de clés BEK et KEK) sans Azure AD : pour les machines virtuelles non managées et chiffrées (à l’aide de clés BEK et KEK) sans Azure AD, si le secret/clé/coffre de clés sources ne sont pas disponibles, restaurez la clé et les secrets dans le coffre de clés en appliquant la procédure décrite dans Restaurer une machine virtuelle non chiffrée à partir d’un point de récupération Sauvegarde Azure.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. Ensuite, exécutez les scripts suivants pour définir les détails du chiffrement sur l’objet blob de système d’exploitation restauré (cette étape n’est pas nécessaire pour l’objet blob de données).Then execute the following scripts to set encryption details on the restored OS blob (this step is not required for data blob). $dekurl et kekurl peuvent être extraits du coffre de clés restauré.The $dekurl and $kekurl can be fetched from the restored keyVault.

    Le script ci-dessous doit être exécuté uniquement quand le secret/clé/coffre de clés source ne sont pas disponibles.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()
    

    Une fois que les secrets et la clé sont disponibles et que les détails de chiffrement ont été définis sur l’objet blob de système d’exploitation, attachez les disques en utilisant le script ci-dessous.After the key/secrets are available and the encryption details are set on the OS Blob, attach the disks using the script given below.

    Si les secrets/clé/coffre de clés sources sont disponibles, vous n’êtes pas obligé d’exécuter le script ci-dessus.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"
      }
    
    • Machines virtuelles managées et non chiffrées : utilisez l’exemple suivant pour une machine virtuelle managée mais pas chiffrée.Managed and non-encrypted VMs - For managed non-encrypted VMs, attach the restored managed disks. Pour plus d’informations, consultez Attacher un disque de données à une machine virtuelle Windows à l’aide de PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Machines virtuelles managées et chiffrées (à l’aide de clés BEK uniquement) avec Azure AD : pour les machines virtuelles managées et chiffrées (à l’aide de clés BEK uniquement) avec Azure AD, attachez les disques managés restaurés.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. Pour plus d’informations, consultez Attacher un disque de données à une machine virtuelle Windows à l’aide de PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Machines virtuelles managées et chiffrées (à l’aide de clés BEK et KEK) avec Azure AD : pour les machines virtuelles managées et chiffrées (à l’aide de clés BEK et KEK) avec Azure AD, attachez les disques managés restaurés.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. Pour plus d’informations, consultez Attacher un disque de données à une machine virtuelle Windows à l’aide de PowerShell.For in-depth information, see Attach a data disk to a Windows VM using PowerShell.

    • Machines virtuelles managées et chiffrées (à l’aide de clés BEK uniquement) sans Azure AD : pour les machines virtuelles managées et chiffrées (à l’aide de clés BEK uniquement) sans Azure AD, si le secret et le coffre de clés sources ne sont pas disponibles, restaurez les secrets dans le coffre de clés en appliquant la procédure décrite dans Restaurer une machine virtuelle non chiffrée à partir d’un point de récupération Sauvegarde Azure. Ensuite, exécutez les scripts suivants pour définir les détails du chiffrement sur le disque de système d’exploitation restauré (cette étape n’est pas nécessaire pour le disque de données).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.Then execute the following scripts to set encryption details on the restored OS disk (this step is not required for data disk). $dekurl peut être extrait du coffre de clés restauré.The $dekurl can be fetched from the restored keyVault.

      Le script ci-dessous doit être exécuté uniquement quand le secret et le coffre de clés sources ne sont pas disponibles.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
      

      Une fois que les secrets sont disponibles et que les détails de chiffrement ont été définis sur le disque du système d’exploitation, pour attacher les disques managés restaurés, consultez Attacher un disque de données à une machine virtuelle Windows dans Azure à l’aide de 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.

    • Machines virtuelles managées et chiffrées (à l’aide de clés BEK et KEK) sans Azure AD : pour les machines virtuelles managées et chiffrées (à l’aide de clés BEK et KEK) sans Azure AD, si le secret/clé/coffre de clés source ne sont pas disponibles, restaurez la clé et les secrets dans le coffre de clés en appliquant la procédure décrite dans Restaurer une machine virtuelle non chiffrée à partir d’un point de récupération Sauvegarde Azure.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. Ensuite, exécutez les scripts suivants pour définir les détails du chiffrement sur le disque blob de système d’exploitation restauré (cette étape n’est pas nécessaire pour le disque de données).Then execute the following scripts to set encryption details on the restored OS disk (this step is not required for data disk). $dekurl et kekurl peuvent être extraits du coffre de clés restauré.The $dekurl and $kekurl can be fetched from the restored keyVault.

    Le script ci-dessous doit être exécuté uniquement quand le secret/clé/coffre de clés source ne sont pas disponibles.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
    

    Une fois que les secrets et la clé sont disponibles et que les détails de chiffrement ont été définis sur le disque du système d’exploitation, pour attacher les disques managés restaurés, consultez Attacher un disque de données à une machine virtuelle Windows dans Azure à l’aide de 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. Définissez les paramètres réseau.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. Créez la machine virtuelle.Create the virtual machine.

    New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    
  7. Envoyez (Push) l’extension ADE.Push ADE extension.

    • Pour les machines virtuelles avec Azure AD : utilisez la commande suivante pour activer manuellement le chiffrement des disques de données.For VM with Azure AD - Use the following command to manually enable encryption for the data disks

      Clés BEK uniquementBEK only

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

      Clés BEK et KEKBEK and KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId  -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • Pour les machines virtuelles sans Azure AD : utilisez la commande suivante pour activer manuellement le chiffrement des disques de données.For VM without Azure AD - Use the following command to manually enable encryption for the data disks.

      Si pendant l’exécution de la commande vous êtes invité à fournir l’AADClientID, vous devez mettre à jour votre Azure PowerShell.If incase during the command execution it asks for AADClientID, then you need to update your Azure PowerShell.

      Clés BEK uniquementBEK only

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

      Clés BEK et KEKBEK and KEK

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

Restaurer des fichiers à partir d’une sauvegarde de machine virtuelle AzureRestore files from an Azure VM backup

En plus de la restauration des disques, vous pouvez également restaurer des fichiers individuels à partir d’une sauvegarde de machine virtuelle Azure.In addition to restoring disks, you can also restore individual files from an Azure VM backup. La fonctionnalité de restauration des fichiers permet d’accéder à tous les fichiers dans un point de récupération.The restore files functionality provides access to all files in a recovery point. Gérez les fichiers via l’Explorateur de fichiers comme vous le feriez pour des fichiers normaux.Manage the files via File Explorer as you would for normal files.

Les étapes élémentaires pour restaurer un fichier à partir d’une sauvegarde de machine virtuelle Azure sont les suivantes :The basic steps to restore a file from an Azure VM backup are:

  • Sélection de la machine virtuelleSelect the VM
  • Choisir un point de récupérationChoose a recovery point
  • Monter les disques du point de récupérationMount the disks of recovery point
  • Copier les fichiers nécessairesCopy the required files
  • Démonter le disqueUnmount the disk

Sélection de la machine virtuelleSelect the VM

Pour obtenir l’objet PowerShell permettant d’identifier l’élément à restaurer, vous devez commencer au niveau du conteneur dans le coffre et descendre dans la hiérarchie d’objets.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. Pour sélectionner le conteneur qui représente la machine virtuelle, utilisez le Get-AzRecoveryServicesBackupContainer applet de commande et Dirigez-la vers le Get-AzRecoveryServicesBackupItem applet de commande.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"
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM"

Choisir un point de récupérationChoose a recovery point

Utilisez la cmdlet Get-AzRecoveryServicesBackupRecoveryPoint afin de répertorier tous les points de récupération correspondant à l'élément de sauvegarde.Use the Get-AzRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. Ensuite, choisissez le point de récupération à restaurer.Then choose the recovery point to restore. Si vous ne savez pas quel point de récupération utiliser, nous vous conseillons de choisir le point RecoveryPointType = AppConsistent le plus récent dans la liste.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.

Dans le script suivant, la variable $rpest un tableau de points de récupération des 7 derniers jours pour l’élément de sauvegarde sélectionné.In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. Le tableau est trié dans l’ordre chronologique inverse, le point de récupération le plus récent détenant l’index 0.The array is sorted in reverse order of time with the latest recovery point at index 0. Utilisez l'indexation de tableau PowerShell standard pour sélectionner le point de récupération.Use standard PowerShell array indexing to pick the recovery point. Dans l’exemple, $rp[0] sélectionne le dernier point de récupération.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()
$rp[0]

Le résultat ressemble à l’exemple suivant :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

Monter les disques du point de récupérationMount the disks of recovery point

Utilisez le Get-AzRecoveryServicesBackupRPMountScript pour obtenir le script pour monter tous les disques du point de récupération.Use the Get-AzRecoveryServicesBackupRPMountScript cmdlet to get the script to mount all the disks of the recovery point.

Notes

Les disques sont montés en tant que disques iSCSI attachés à la machine sur laquelle le script est exécuté.The disks are mounted as iSCSI attached disks to the machine where the script is run. Le montage a lieu immédiatement et vous évitez les frais.Mounting occurs immediately, and you don't incur any charges.

Get-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

Le résultat ressemble à l’exemple suivant :The output is similar to the following example:

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

Exécutez le script sur la machine où vous souhaitez récupérer les fichiers.Run the script on the machine where you want to recover the files. Pour exécuter le script, vous devez entrer le mot de passe fourni.To execute the script, you must enter the password provided. Lorsque les disques sont attachés, utilisez l’Explorateur de fichiers Windows pour parcourir les nouveaux volumes et fichiers.After the disks are attached, use Windows File Explorer to browse the new volumes and files. Pour plus d’informations, consultez l’article sur la sauvegarde Récupérer des fichiers de sauvegarde de machine virtuelle Azure.For more information, refer to the Backup article, Recover files from Azure virtual machine backup.

Démonter les disquesUnmount the disks

Une fois les fichiers requis sont copiés, utilisez Disable-AzRecoveryServicesBackupRPMountScript pour démonter les disques.After the required files are copied, use Disable-AzRecoveryServicesBackupRPMountScript to unmount the disks. Veillez à démonter les disques afin que l’accès aux fichiers du point de récupération soit supprimé.Be sure to unmount the disks so access to the files of the recovery point is removed.

Disable-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

Étapes suivantesNext steps

Si vous préférez utiliser PowerShell pour gérer vos ressources Azure, consultez l’article PowerShell Déployer et gérer une sauvegarde pour 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. Si vous gérez des sauvegardes DPM, consultez l’article Déployer et gérer la sauvegarde pour DPM.If you manage DPM backups, see the article, Deploy and Manage Backup for DPM.