Partager via


Déployer et gérer la sauvegarde sur Azure pour Windows Server/Client Windows à l’aide de PowerShell

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

Installation d’Azure PowerShell

Remarque

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, 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 l’applet de commande Register-AzResourceProvider pour inscrire le fournisseur Azure Recovery Service auprès de votre abonnement.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Le coffre Recovery Services est une ressource Azure Resource Manager. Vous devez donc le placer dans un groupe de ressources. Vous pouvez utiliser un groupe de ressources existant ou en créer un nouveau. Lors de la création d’un groupe de ressources, spécifiez le nom et l’emplacement du groupe de ressources.

    New-AzResourceGroup -Name "test-rg" -Location "WestUS"
    
  3. Utilisez l’applet de commande New-AzRecoveryServicesVault pour créer une nouvelle baie. 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 l’option -BackupStorageRedundancy pour testVault défini sur GeoRedundant.

    Conseil / Astuce

    De nombreuses applets de commande Azure Backup nécessitent l’objet coffre Recovery Services en tant qu’entrée. Il est donc 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 nouveau 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 ces échecs, mettez à niveau l’agent MARS vers 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 Sauvegarde Azure

Avant d’installer l’agent Sauvegarde Azure, vous devez télécharger et présenter le programme d’installation sur Windows Server. Vous pouvez obtenir la dernière version du programme d’installation à partir du Centre de téléchargement Microsoft ou à partir de la page Tableau de bord du coffre Recovery Services. Enregistrez le programme d’installation dans un emplacement facilement accessible comme 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 suivante dans une console PowerShell avec élévation de privilèges :

MARSAgentInstaller.exe /q

Cela installe l’agent avec toutes 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’ouvre à la fin de l’installation pour rechercher les mises à jour. Une fois installé, l’agent apparaît dans la liste des programmes installés.

Pour afficher la liste des programmes installés, accédez àProgrammes et fonctionnalités du>Panneau> de configuration.

Agent installé

Options d’installation

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

MARSAgentInstaller.exe /?

Parmi les options disponibles figurent les suivantes :

Choix Détails Par défaut
/q Installation silencieuse -
/p:"emplacement" Chemin d’accès au dossier d’installation de l’agent Sauvegarde Azure. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"emplacement" Chemin d’accès au dossier de cache de l’agent Sauvegarde Azure. C :\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m Abonnement à Microsoft Update -
/nu Ne recherchez pas les mises à jour une fois l’installation terminée -
/d Désinstalle Microsoft Azure Recovery Services Agent -
/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

Après avoir créé le coffre Recovery Services, téléchargez l’agent le plus récent et les informations d’identification du coffre et stockez-le dans un emplacement pratique, comme C :\Downloads.

$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 de plateforme sous-jacentes, le téléchargement des informations d’identification du coffre-fort nécessite un certificat autosigné. L’exemple suivant illustre comment fournir un certificat auto-signé par soi-même et télécharger les identifiants du coffre-fort.


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

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. Ainsi que d’autres applets de commande utilisées pour la sauvegarde, proviennent d’un module PowerShell que MARS AgentInstaller 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 la charge automatique du module échoue. Pour résoudre ce problème, vous pouvez effectuer les opérations suivantes :

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

Vous pouvez également 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      : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
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 d’accès absolu en tant qu’entrée à l’applet de commande.

Paramètres de mise en réseau

Lorsque la connectivité de l’ordinateur Windows à Internet est via un serveur proxy, les paramètres de proxy peuvent également être fournis à l’agent. Dans cet exemple, il n’existe aucun serveur proxy. Nous supprimons donc explicitement toutes les informations relatives au proxy.

L’utilisation de la bande passante peut également être contrôlée grâce aux options work hour bandwidth et non-work hour bandwidth pour certains jours de la semaine.

La définition des détails du proxy et de la bande passante est effectuée à 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 de sauvegarde envoyées à Sauvegarde Azure sont chiffrées pour protéger la confidentialité des données. La phrase secrète de chiffrement est le « mot de passe » pour déchiffrer les données au moment 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.

Remarque

Le code confidentiel de sécurité ne peut être généré que via le portail Azure.

Ensuite, utilisez-le generatedPIN comme 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 de passphrase sûres et protégées une fois qu'elles sont définies. Vous ne pouvez pas restaurer de données à partir d’Azure sans cette phrase secrète.

Sauvegarde des fichiers et dossiers

Toutes les sauvegardes des serveurs windows et des clients vers Sauvegarde Azure sont régies par une stratégie. La stratégie comprend trois parties :

  • Planification de sauvegarde qui spécifie quand les sauvegardes doivent être effectuées 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.
  • Spécification d’inclusion/exclusion de fichier qui détermine ce qui doit être sauvegardé.

Dans ce document, étant donné que nous automatisons la sauvegarde, nous partons du principe que rien n’a été configuré. Nous commençons par créer une stratégie de sauvegarde à l’aide de l’applet de commande New-OBPolicy .

$NewPolicy = New-OBPolicy

À ce stade, la stratégie est vide et d’autres applets de commande sont nécessaires pour définir les éléments qui seront inclus ou exclus, lorsque les sauvegardes s’exécuteront et où les sauvegardes seront stockées.

Configuration de la planification de sauvegarde

Les trois premières parties d’une stratégie sont la planification de sauvegarde, créée à l’aide de l’applet de commande 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 pendant lesquels la sauvegarde doit s’exécuter. Vous pouvez exécuter le travail de sauvegarde un jour ou tous les jours de la semaine, ou toute combinaison entre les deux.
  • Heures du jour où la sauvegarde doit s’exécuter. Vous pouvez définir jusqu’à trois heures différentes du jour où la sauvegarde sera déclenchée.

Par exemple, vous pouvez configurer une stratégie de sauvegarde qui s’exécute à 4h00 tous les samedis et dimanches.

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

La planification de sauvegarde doit être associée à une stratégie, et cela peut être réalisé à 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 pendant laquelle les points de récupération créés à partir des travaux de sauvegarde sont conservés. Lors de la création d’une stratégie de rétention à l’aide de l’applet de commande New-OBRetentionPolicy , vous pouvez spécifier le nombre de jours pendant lesquels les points de récupération de sauvegarde seront conservés avec Sauvegarde Azure. L’exemple ci-dessous 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 OBFileSpec objet définit les fichiers à inclure et à exclure dans une sauvegarde. Il s’agit d’un ensemble de règles qui étenduent les fichiers et dossiers protégés sur un ordinateur. Vous pouvez avoir autant de règles d’inclusion ou d’exclusion de fichiers que nécessaire, et les associer à une stratégie. Lors de la création d’un objet OBFileSpec, vous pouvez :

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

Cette dernière est obtenue à l’aide de l’indicateur de -NonRecursive dans la commande New-OBFileSpec.

Dans l’exemple ci-dessous, nous allons sauvegarder le volume C : et D : et exclure les fichiers binaires du système d’exploitation dans le dossier Windows et tous les dossiers temporaires. Pour ce faire, nous allons créer deux spécifications de fichier à l’aide de l’applet de commande New-OBFileSpec : une pour l’inclusion et une pour l’exclusion. Une fois les spécifications de fichier 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

À présent, l’objet de stratégie est terminé et dispose d’une planification de sauvegarde associée, d’une stratégie de rétention et d’une liste d’inclusion/exclusion de fichiers. Cette stratégie peut maintenant être validée pour qu'Azure Backup puisse l'utiliser. Avant d’appliquer la stratégie nouvellement créée, 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.

Remarque

Lors de l’exécution de l’applet de commande si elle invite à définir un code confidentiel 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 est effectuée à l’aide de l’applet de commande Set-OBPolicy . Cela demande également une confirmation. 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 explorer davantage à l’aide de l’applet de commande Get-OBSchedule pour la planification de sauvegarde et 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

Exécution d’une sauvegarde à la demande

Une fois qu’une stratégie de sauvegarde a été définie, les sauvegardes se produisent selon la planification. Le déclenchement d’une sauvegarde à la demande est également possible à l’aide de l’applet de commande 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 décrit la commande PowerShell pour configurer l’état du système dans l’agent MARS

Calendrier

$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

Restaurer 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. Cela implique les étapes suivantes :

  1. Sélectionner le volume source
  2. Choisir un point de sauvegarde à restaurer
  3. Spécifier un élément à restaurer
  4. Déclencher le processus de restauration

Sélection du volume source

Pour restaurer un élément à partir de Sauvegarde Azure, vous devez d’abord identifier la source de l’élément. Étant donné que nous exécutons les commandes dans le contexte d’un serveur Windows ou d’un client Windows, la machine est déjà identifiée. L’étape suivante de l’identification de la source consiste à identifier le volume qui le contient. Une liste de volumes ou de sources sauvegardés à partir de cet ordinateur peut être récupérée en exécutant l’applet de commande Get-OBRecoverableSource . Cette commande retourne 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 de points de sauvegarde en exécutant l’applet de commande Get-OBRecoverableItem avec les paramètres appropriés. Dans notre exemple, nous allons choisir 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 l’élément Nth est le point le plus ancien. Pour choisir le dernier point, nous allons utiliser $Rps[0].

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

Pour restaurer un fichier spécifique, spécifiez le nom de fichier 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 . Pour cet exemple, supposons que nous voulons restaurer les fichiers en C :\temp. Supposons également que nous voulons 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

À présent, déclenchez le processus de restauration à l’aide de la commande Start-OBRecovery sur l’élément sélectionné $Item à partir de la sortie de l’applet Get-OBRecoverableItem de commande :

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 interrégion

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 région secondaire à partir du portail Azure et transmettez les informations d’identification du coffre de 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 Sauvegarde Azure

La désinstallation de l’agent 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 à partir de l’ordinateur a quelques conséquences à prendre en compte :

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

Toutefois, les données stockées dans Azure restent conservées en fonction de la configuration de la stratégie de rétention par vous. Les points plus anciens sont automatiquement supprimés en raison de leur ancienneté.

Gestion à distance

Toute la gestion autour de l’agent, des stratégies et des sources de données de sauvegarde Azure peut être effectuée à distance via PowerShell. L’ordinateur qui sera géré à distance doit être préparé correctement.

Par défaut, le service WinRM est configuré pour le démarrage manuel. Le type de démarrage doit être défini sur Automatique et le service doit être démarré. Pour vérifier que le service WinRM est en cours d’exécution, la valeur de la propriété Status doit être 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 désormais être géré à distance, à partir de l’installation de l’agent. Par exemple, le script suivant copie l’agent sur l’ordinateur distant et l’installe.

$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 la sauvegarde Azure pour Windows Server/Client :