Déployer et gérer une sauvegarde vers Azure pour un serveur/client Windows à l’aide de PowerShell

Cet article explique comment utiliser PowerShell pour configurer Sauvegarde Azure sur Windows Server ou sur un client Windows et comment gérer les sauvegardes et la récupération.

Installation d’Azure PowerShell

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Pour commencer, installez la dernière version de PowerShell.

Créer un coffre Recovery Services

Les étapes suivantes vous montrent comment créer un coffre Recovery Services. Un coffre Recovery Services diffère d’un coffre de sauvegarde.

  1. Si vous utilisez Sauvegarde Azure pour la première fois, vous devez utiliser la cmdlet Register-AzResourceProvider pour associer le fournisseur Azure Recovery Service à votre abonnement.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Le coffre Recovery Services constituant une ressource Azure Resource Manager, vous devez le placer dans un groupe de ressources. Vous pouvez utiliser un groupe de ressources existant ou en créer un. Quand vous créez un groupe de ressources, spécifiez ses nom et emplacement.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Utilisez l’applet de commande New-AzRecoveryServicesVault pour créer le coffre. Spécifiez pour le coffre le même emplacement que pour le groupe de ressources.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Spécifiez le type de redondance de stockage à utiliser. Vous pouvez utiliser le stockage localement redondant (LRS), le stockage géoredondant (GRS) ou le stockage redondant interzone (ZRS). L'exemple suivant montre que l'option -BackupStorageRedundancy de testVault est définie sur GeoRedundant.

    Conseil

    De nombreuses applets de commande Azure Backup nécessitent l’objet coffre Recovery Services en tant qu’entrée. Pour cette raison, il est pratique de stocker l’objet coffre Backup Recovery Services dans une variable.

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

Afficher les coffres dans un abonnement

Utilisez Get-AzRecoveryServicesVault pour voir la liste de tous les coffres dans l’abonnement actuel. Vous pouvez utiliser cette commande pour vérifier qu’un coffre a été créé ou pour voir quels coffres sont disponibles dans l’abonnement.

Exécutez la commande Get-AzRecoveryServicesVault ; tous les coffres de l’abonnement sont alors listés.

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

Mettre à niveau l’agent MARS

Les versions de l’agent MARS (Microsoft Azure Recovery Services) antérieures à la version 2.0.9083.0 ont une dépendance au service Azure Access Control. L’agent MARS est également désigné sous le nom d’agent Sauvegarde Azure.

En 2018, Microsoft a déprécié le service Azure Access Control. Depuis le 19 mars 2018, toutes les versions de l’agent MARS antérieures à la version 2.0.9083.0 rencontrent des échecs de sauvegarde. Pour éviter ou résoudre cess échecs, mettez à niveau l’agent MARS avec la dernière version. Pour identifier les serveurs qui nécessitent une mise à niveau de l’agent MARS, procédez de la manière décrite dans Mettre à niveau l’agent Microsoft Azure Recovery Services (MARS).

L’agent MARS est utilisé pour sauvegarder des fichiers, des dossiers et des données sur l’état du système dans Azure. System Center DPM et le serveur de sauvegarde Azure utilisent l’agent MARS pour sauvegarder des données dans Azure.

Installation de l'agent de sauvegarde Azure

Avant d’installer l'agent de sauvegarde Azure, vous devez avoir téléchargé le programme d’installation sur le serveur Windows. Vous pouvez obtenir la dernière version du programme d’installation à partir du Centre de téléchargement Microsoft ou de la page Tableau de bord du coffre Recovery Services. Enregistrez le programme d’installation à un emplacement auquel vous pouvez accéder facilement, par exemple C:\Downloads\*.

Vous pouvez également utiliser PowerShell pour obtenir le téléchargeur :

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

Pour installer l’agent, exécutez la commande ci-après dans une console PowerShell avec élévation de privilèges :

MARSAgentInstaller.exe /q

Cette opération installe l’agent avec les options par défaut. L’installation s’effectue en arrière-plan et prend quelques minutes. Si vous ne spécifiez pas l’option /nu, la fenêtre Windows Update s’ouvrira à la fin de l’installation pour rechercher des mises à jour. Une fois installé, l’agent apparaît dans la liste des programmes installés.

Pour afficher la liste des programmes installés, cliquez sur Panneau de configuration>Programmes>Programmes et fonctionnalités.

Agent installed

Options d'installation

Pour afficher toutes les options disponibles via la ligne de commande, utilisez la commande suivante :

MARSAgentInstaller.exe /?

Les options disponibles incluent :

Option Détails Default
/q Installation silencieuse -
/p:"emplacement" Chemin d’accès du dossier d’installation de l’agent de Sauvegarde Azure. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"emplacement" Chemin d’accès du dossier de cache de l’agent de Sauvegarde Azure. C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m Abonnement à Microsoft Update -
/nu Ne pas vérifier les mises à jour une fois l’installation terminée -
/d Désinstalle l’agent Microsoft Azure Recovery Services -
/ph Adresse de l’hôte proxy -
/po Numéro de port de l’hôte proxy -
/pu Nom d’utilisateur de l’hôte proxy -
/pw Mot de passe du proxy -

Inscription d'un serveur Windows Server ou d'un ordinateur client Windows auprès d'un coffre Recovery Services

Une fois que vous avez créé un coffre Recovery Services, téléchargez le dernier agent et les informations d’identification de coffre et stockez-les dans un emplacement pratique comme C:\Téléchargements.

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

S’inscrire à l’aide du module PowerShell Az

Remarque

Un bogue lié à la génération de certificat de coffre a été résolu dans la version Az 3.5.0. Utilisez la version Az 3.5.0 ou une version ultérieure pour télécharger un certificat de coffre.

Dans le dernier module Az de PowerShell, en raison des limitations sous-jacentes de la plateforme, le téléchargement des informations d’identification du coffre nécessite un certificat autosigné. L’exemple suivant montre comment fournir un certificat auto-signé et télécharger les informations d’identification du coffre-fort.

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

Sur le serveur Windows Server ou l’ordinateur client Windows, exécutez l’applet de commande Start-OBRegistration pour inscrire l’ordinateur auprès du coffre. Cette cmdlet, ainsi que d’autres utilisées pour la sauvegarde, proviennent du module MSONLINE que l’AgentInstaller MARS a ajouté dans le cadre du processus d’installation.

Le programme d’installation de l’agent ne met pas à jour la variable $Env:PSModulePath. Cela signifie que le chargement automatique du module échoue. Pour résoudre ce problème, vous pouvez effectuer les étapes suivantes :

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

En guise d’alternative, vous pouvez charger manuellement le module dans votre script comme suit :

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

Une fois que vous avez chargé les applets de commande de Sauvegarde en ligne, vous devez inscrire les informations d’identification du coffre :

Start-OBRegistration -VaultCredentials $CredsFilename.FilePath -Confirm:$false
CertThumbprint      : 7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : ef4ab577-c2c0-43e4-af80-af49f485f3d1
ServiceResourceName : testvault
Region              : WestUS
Machine registration succeeded.

Important

N'utilisez pas de chemins d'accès relatifs pour spécifier le fichier des informations d'identification du coffre. Vous devez fournir un chemin absolu dans l’applet de commande.

Paramètres de mise en réseau

Lorsque l’ordinateur Windows accède à Internet via un serveur proxy, les paramètres proxy peuvent également être fournis à l’agent. Dans cet exemple, il n’y a aucun serveur proxy. Nous effaçons donc explicitement toutes les informations relatives au proxy.

L’utilisation de la bande passante peut également être contrôlée avec les options work hour bandwidth et non-work hour bandwidth, certains jours de la semaine.

La définition des détails sur le proxy et la bande passante s’effectue à l’aide de l’applet de commande Set-OBMachineSetting :

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

Paramètres de chiffrement

Les données sauvegardées envoyées à Sauvegarde Azure sont chiffrées pour garantir leur confidentialité. Le mot de passe du chiffrement est le « mot de passe » permettant de déchiffrer les données lors de la restauration.

Vous devez générer un code pin de sécurité en sélectionnant Générer, sous Paramètres>Propriétés>Code PIN de sécurité dans la section Coffre Recovery Services du portail Azure.

Notes

Le code PIN de sécurité ne peut être généré que par l’intermédiaire du Portail Azure.

Ensuite, utilisez-le comme generatedPIN dans la commande :

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

Important

Conservez les informations relatives à la phrase secrète en lieu sûr après les avoir définies. Vous ne pouvez pas restaurer les données à partir d’Azure sans cette phrase secrète.

Sauvegarde des fichiers et dossiers

Toutes les sauvegardes de serveurs et clients Windows vers Sauvegarde Azure sont régies par une stratégie. Cette dernière comprend trois parties :

  • Une planification de sauvegarde qui spécifie quand les sauvegardes doivent être établies et synchronisées avec le service.
  • Une planification de rétention qui spécifie la durée de rétention des points de récupération dans Azure.
  • Une spécification d'inclusion/exclusion de fichier qui dicte ce qui doit être sauvegardé.

Dans ce document, comme nous automatisons la sauvegarde, nous supposons que rien n'a été configuré. Nous commençons par créer une stratégie de sauvegarde en utilisant l’applet de commande New-OBPolicy .

$NewPolicy = New-OBPolicy

À ce stade, la stratégie est vide et d’autres cmdlets sont nécessaires pour définir quels éléments seront inclus ou exclus, quand les sauvegardes seront exécutées et où celles-ci seront stockées.

Configuration de la planification de sauvegarde

La première des trois parties d’une stratégie est la planification de sauvegarde, qui est créée à l’aide de la cmdlet New-OBSchedule. La planification de sauvegarde définit le moment où les sauvegardes doivent être effectuées. Lors de la création d’une planification, vous devez spécifier deux paramètres d’entrée :

  • jours de la semaine où la sauvegarde doit s'exécuter. Vous pouvez exécuter le travail de sauvegarde une seule journée ou tous les jours de la semaine, ou une combinaison des deux.
  • heures où la sauvegarde doit être exécutée. Vous pouvez définir jusqu’à trois différentes heures pour le déclenchement de la sauvegarde.

Par exemple, vous pouvez configurer une stratégie de sauvegarde qui s'exécute à 16 h 00 chaque samedi et chaque dimanche.

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

La planification de sauvegarde doit être associée à une stratégie à l'aide de l’applet de commande Set-OBSchedule .

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

Configuration d'une stratégie de rétention

La stratégie de rétention définit la durée de conservation des points de récupération créés à partir des travaux de sauvegarde. Lorsque vous créez une stratégie de rétention à l’aide de la cmdlet New-OBRetentionPolicy, vous pouvez spécifier le nombre de jours pendant lesquels les points de récupération de sauvegarde doivent être conservés avec Sauvegarde Azure. L’exemple suivant définit une stratégie de rétention de sept jours.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

La stratégie de rétention doit être associée à la stratégie principale à l'aide de l'applet de commande Set-OBRetentionPolicy:

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

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

Inclusion et exclusion des fichiers à sauvegarder

Un objet OBFileSpec définit les fichiers à inclure et à exclure d'une sauvegarde. Il s'agit d'un ensemble de règles qui définissent l'étendue des fichiers et dossiers protégés sur un ordinateur. Vous pouvez avoir de nombreuses règles d'inclusion ou d’exclusion en fonction de vos besoins, et les associer à une stratégie. Lorsque vous créez un objet OBFileSpec, vous pouvez :

  • Spécifier les fichiers et dossiers à inclure
  • Spécifier les fichiers et dossiers à exclure
  • Indiquer la sauvegarde récursive des données dans un dossier (ou) indiquer si seuls les fichiers de niveau supérieur du dossier spécifié doivent être sauvegardés

Dans le dernier cas, l’opération est effectuée à l’aide de l'indicateur -NonRecursive dans la commande New-OBFileSpec.

Dans l'exemple ci-dessous, nous sauvegardons les volumes C: et D: et excluons les fichiers binaires de système d'exploitation dans le dossier Windows et tous les dossiers temporaires. Pour cela, nous allons créer deux spécifications de fichiers à l’aide de l’applet de commande New-OBFileSpec : une pour l’inclusion et une pour l’exclusion. Une fois que les spécifications de fichiers ont été créées, elles sont associées à la stratégie à l'aide de l’applet de commande Add-OBFileSpec .

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

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

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

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

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

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

Application de la stratégie

L'objet de stratégie est à présent complet. Il est associé à une planification de sauvegarde, à une stratégie de rétention et à une liste d’inclusion/exclusion de fichiers. Cette stratégie peut maintenant être validée à des fins d’utilisation par Sauvegarde Azure. Avant d’appliquer la stratégie que vous venez de créer, vérifiez qu’aucune stratégie de sauvegarde existante n’est associée au serveur à l’aide de l’applet de commande Remove-OBPolicy. Lors de la suppression de la stratégie, vous êtes invité à confirmer l'opération. Pour ignorer la confirmation, utilisez l’indicateur -Confirm:$false avec l’applet de commande.

Notes

Lors de l’exécution de l’applet de commande si vous êtes invité à définir un code PIN de sécurité, consultez la section Méthode 1.

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

La validation de l'objet de stratégie s'effectue à l'aide de l’applet de commande Set-OBPolicy . Une confirmation vous est également demandée. Pour ignorer la confirmation, utilisez l’indicateur -Confirm:$false avec l’applet de commande.

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

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

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

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

              MonthlyLTRSchedule :
              Monthly schedule is not set

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

Vous pouvez afficher les détails de la stratégie de sauvegarde existante à l'aide de l’applet de commande Get-OBPolicy . Vous pouvez afficher plus de détails à l’aide de l’applet de commande Get-OBSchedule pour la planification de sauvegarde et de l’applet de commande Get-OBRetentionPolicy pour les stratégies de rétention

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

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

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

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

Effectuer une sauvegarde à la demande

Une fois qu’une stratégie de sauvegarde a été définie, les sauvegardes ont lieu selon la planification indiquée. Il est également possible de déclencher une sauvegarde à la demande avec la cmdlet Start-OBBackup :

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

Sauvegarder l’état du système Windows Server dans l’agent MARS

Cette section traite de la commande PowerShell permettant de configurer l’état du système dans l’agent MARS.

Planifier

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

Rétention

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

Configuration de la planification et de la conservation

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

Vérification de la stratégie

Get-OBSystemStatePolicy

Restauration des données à partir de Sauvegarde Azure

Cette section vous guide tout au long des étapes d'automatisation de la récupération des données à partir de Sauvegarde Azure. Cette opération implique les étapes suivantes :

  1. Sélection du volume source
  2. Choix d’un point de sauvegarde à restaurer
  3. Spécifier un élément à restaurer
  4. Déclenchement du processus de restauration

Sélection du volume source

Pour restaurer un élément à partir de Sauvegarde Azure, vous devez d’abord identifier la source associée. Étant donné que nous exécutons les commandes dans le contexte d'un serveur ou d’un client Windows, l'ordinateur est déjà identifié. L'étape suivante pour identifier la source consiste à identifier le volume qui la contient. Vous pouvez récupérer la liste des volumes ou des sources en cours de sauvegarde à partir de cet ordinateur en exécutant l’applet de commande Get-OBRecoverableSource . Cette commande renvoie un tableau de toutes les sources sauvegardées à partir de ce serveur/client.

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

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

Choix d’un point de sauvegarde à partir duquel restaurer

Vous récupérez une liste des points de sauvegarde en exécutant l’applet de commande Get-OBRecoverableItem avec les paramètres appropriés. Dans notre exemple, nous allons sélectionner le dernier point de sauvegarde du volume source C: et l’utiliser pour récupérer un fichier spécifique.

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

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

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

L'objet $Rps est un tableau de points de sauvegarde. Le premier élément est le point le plus récent et le Nième élément est le point le plus ancien. Pour choisir le point le plus récent, nous allons utiliser $Rps[0].

Spécification d’un élément à restaurer

Pour restaurer un fichier spécifique, spécifiez son nom par rapport au volume racine. Par exemple, pour récupérer C:\Test\Cat.job, exécutez la commande suivante.

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

Déclenchement du processus de restauration

Pour déclencher le processus de restauration, nous devons d'abord spécifier les options de récupération. Pour ce faire, utilisez l’applet de commande New-OBRecoveryOption . Dans le cadre de cet exemple, supposons que vous souhaitez restaurer les fichiers dans C:\temp. Supposons également que vous souhaitez ignorer les fichiers qui existent déjà dans le dossier de destination C:\temp. Pour créer une telle option de récupération, utilisez la commande suivante :

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

Déclenchez à présent le processus de restauration en exécutant la commande Start-OBRecovery sur l’élément $Item sélectionné à partir de la sortie de l’applet de commande Get-OBRecoverableItem :

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

Restauration entre régions

Vous pouvez utiliser la restauration inter-région (CRR) pour restaurer des données de sauvegarde MARS à partir d’une région secondaire, qui est une région jumelée à Azure. Vous pouvez ainsi effectuer des exercices d’audit et de conformité, mais aussi récupérer des données si la région primaire est indisponible dans Azure en cas de sinistre.

Restauration du serveur d’origine

Si vous effectuez une restauration pour le serveur d’origine à partir de la région secondaire (restauration inter-régions), utilisez l’indicateur UseSecondaryRegion lors de l’obtention de l’objet OBRecoverableSource.

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

Restauration d’un autre serveur

Si vous effectuez une restauration pour un autre serveur à partir de la région secondaire (restauration inter-régions), téléchargez le fichier d’informations d’identification du coffre de la région secondaire à partir du portail Microsoft Azure et transmettez les informations d’identification du coffre de la région secondaire pour la restauration.

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

Désinstaller l'agent de Sauvegarde Azure

La désinstallation de l’agent de sauvegarde Azure peut être effectuée à l’aide de la commande suivante :

.\MARSAgentInstaller.exe /d /q

La désinstallation des fichiers binaires de l'agent de l'ordinateur a certaines conséquences à prendre en compte :

  • Elle supprime le filtre de fichier de l'ordinateur et le suivi des modifications est arrêté.
  • Toutes les informations de stratégie sont supprimées de l'ordinateur, mais elles continuent à être stockées dans le service.
  • Toutes les planifications de sauvegarde sont supprimées, et aucune autre sauvegarde n'est effectuée.

Cependant, les données stockées dans Azure sont conservées conformément à la stratégie de conservation que vous avez définie. Les points plus anciens deviennent automatiquement obsolètes.

Gestion à distance

L’intégralité de la gestion concernant l’agent de sauvegarde Azure, les stratégies et les sources de données peut être effectuée à distance par le biais de PowerShell. L’ordinateur qui sera géré à distance doit être correctement préparé.

Par défaut, le service WinRM est configuré pour un démarrage manuel. Le type de démarrage doit être défini sur Automatique et le service devrait être démarré. Pour vérifier que le service WinRM est exécuté, la valeur de la propriété État devrait être défini sur En cours d’exécution.

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

PowerShell doit être configuré pour la communication à distance.

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

L’ordinateur peut maintenant être géré à distance, en commençant par l’installation de l’agent. Par exemple, le script suivant copie et installe l’agent sur l’ordinateur distant.

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

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

Étapes suivantes

Pour plus d’informations sur Sauvegarde Azure pour client/serveur Windows :