Distribuire e gestire il backup in Azure per server Windows/client Windows mediante PowerShell

Questo articolo illustra come usare PowerShell per configurare Backup di Azure in Windows Server o in un client Windows e gestire il backup e il ripristino.

Installare Azure PowerShell

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Per iniziare, installare la versione più recente di PowerShell.

Creare un insieme di credenziali di Servizi di ripristino

Nei passaggi seguenti viene descritto come creare un insieme di credenziali dei servizi di ripristino. Un insieme di credenziali dei servizi di ripristino è diverso da un insieme di credenziali di backup.

  1. Se si usa Backup di Azure per la prima volta, è necessario usare il cmdlet Register-AzResourceProvider per registrare il provider del servizio di ripristino di Azure con la sottoscrizione.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. L'insieme di credenziali di Servizi di ripristino è una risorsa di Azure Resource Manager, quindi è necessario inserirla all'interno di un gruppo di risorse. È possibile usare un gruppo di risorse esistente o crearne uno nuovo. Quando si crea un nuovo gruppo di risorse, è necessario specificare il nome e percorso per il gruppo di risorse.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Per creare il nuovo insieme di credenziali usare il cmdlet New-AzRecoveryServicesVault. Assicurarsi di specificare per l'insieme di credenziali lo stesso percorso usato per il gruppo di risorse.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Specificare il tipo di ridondanza di archiviazione da usare. È possibile usare Archiviazione con ridondanza locale, archiviazione con ridondanza geografica Archiviazione (GRS) o archiviazione con ridondanza della zona. L'esempio seguente mostra l'opzione -Backup Archiviazione Redundancy per testVault impostata su GeoRedundant.

    Suggerimento

    Molti cmdlet di Backup di Azure richiedono l'oggetto dell'insieme di credenziali dei servizi di ripristino come input. Per questo motivo, è utile archiviare l'oggetto dell'insieme di credenziali dei servizi di ripristino di backup in una variabile.

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

Visualizzare gli insiemi di credenziali in un abbonamento

Usare Get-AzRecoveryServicesVault per visualizzare l'elenco di tutti gli insiemi di credenziali della sottoscrizione corrente. È possibile usare questo comando per verificare che sia stato creato un nuovo insieme di credenziali o per verificare quali insiemi di credenziali sono disponibili nella sottoscrizione.

Eseguire il comando Get-AzRecoveryServicesVault e tutti gli insiemi di credenziali nella sottoscrizione verranno visualizzati.

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

Aggiornare l'agente MARS

Le versioni dell'agente servizi di ripristino di Microsoft Azure (MARS) inferiori alla 2.0.9083.0 hanno una dipendenza dal servizio Azure Controllo di accesso. L'agente MARS viene anche definito agente Backup di Azure.

Nel 2018 Microsoft ha deprecato il servizio Azure Controllo di accesso. A partire dal 19 marzo 2018, tutte le versioni dell'agente MARS inferiore alla 2.0.9083.0 riscontreranno errori di backup. Per evitare o risolvere gli errori di backup, eseguire l'aggiornamento dell'agente MARS alla versione più recente. Per identificare i server che richiedono un aggiornamento dell'agente MARS, seguire la procedura descritta in Aggiornare l'agente servizi di ripristino di Microsoft Azure.

L'agente MARS viene usato per eseguire il backup di file e cartelle e dati sullo stato del sistema in Azure. System Center DPM e Backup di Azure Server usano l'agente MARS per eseguire il backup dei dati in Azure.

Installazione dell'agente di Backup di Azure

Per installare l'agente di Backup di Azure, è necessario aver scaricato il programma di installazione nel server Windows. È possibile ottenere la versione più recente del programma di installazione dall' Area download Microsoft o dalla pagina Dashboard dell'insieme di credenziali dei servizi di ripristino. Salvare il programma di installazione in un percorso facilmente accessibile come C:\Downloads\*.

In alternativa, usare PowerShell per ottenere il downloader:

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

Per installare l'agente, eseguire il comando seguente in una console di Azure PowerShell con privilegi elevati:

MARSAgentInstaller.exe /q

L'agente verrà installato con tutte le opzioni predefinite. L'installazione richiede alcuni minuti in background. Se non specifichi l'opzione /nu , la finestra di Windows Update verrà aperta alla fine dell'installazione per verificare la presenza di eventuali aggiornamenti. Dopo essere stato installato, l'agente verrà visualizzato nell'elenco dei programmi installati.

Per visualizzare l'elenco dei programmi installati, passare a Pannello di controllo>Programmi>Programmi e funzionalità.

Agent installed

Opzioni di installazione

Per visualizzare tutte le opzioni disponibili tramite la riga di comando, usare il comando seguente:

MARSAgentInstaller.exe /?

Le opzioni disponibili includono:

Opzione Dettagli Valori predefiniti
/q Installazione non interattiva -
/p:"location" Percorso della cartella di installazione per l'agente di Backup di Azure. C:\Programmi\Agente di Servizi di ripristino di Microsoft Azure
/s:"location" Percorso della cartella della cache per l'agente di Backup di Azure. C:\Programmi\Agente di Servizi di ripristino di Microsoft Azure\Scratch
/m Acconsentire esplicitamente a Microsoft Update -
/nu Non verificare la disponibilità di aggiornamenti al termine dell'installazione -
/d Disinstalla l'agente di Servizi di ripristino di Microsoft Azure -
/ph Indirizzo host proxy -
/po Numero porta host proxy -
/pu Nome utente host proxy -
/pw Password proxy -

Registrazione di un computer client Windows Server o Windows in un insieme di credenziali di Servizi di ripristino

Dopo aver creato l'insieme di credenziali dei servizi di ripristino, scaricare l'ultimo agente e le credenziali dell'insieme di credenziali e archiviarli in un percorso semplice da ricordare, ad esempio C:\Downloads.

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

Eseguire la registrazione con il modulo Az di PowerShell

Nota

Nella versione Az 3.5.0 è stato corretto un bug con la generazione del certificato dell'insieme di credenziali. Usare la versione Az 3.5.0 o superiore per scaricare un certificato dell'insieme di credenziali.

Nel modulo Az più recente di PowerShell, a causa delle limitazioni della piattaforma sottostanti, il download delle credenziali dell'insieme di credenziali richiede un certificato autofirmato. L'esempio seguente illustra come fornire un certificato autofirmato e scaricare le credenziali dell'insieme di credenziali.

$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

In Windows Server o in un client Windows, eseguire il cmdlet Start-OBRegistration per registrare il computer con l'insieme di credenziali. Questo e altri cmdlet usati per il backup provengono dal modulo MSONLINE, aggiunto da MARS AgentInstaller come parte del processo di installazione.

Il programma di installazione di Agent non aggiorna la variabile $Env:PSModulePath. Il caricamento automatico del modulo avrà quindi esito negativo. Per risolvere il problema, è possibile procedere come segue:

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

In alternativa, è possibile caricare manualmente il modulo nello script, come segue:

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

Dopo il caricamento dei cmdlet di Online Backup, registrare le credenziali dell'insieme di credenziali:

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

Importante

Non usare percorsi relativi per specificare il file delle credenziali dell'insieme di credenziali. È necessario fornire un percorso assoluto come input per il cmdlet.

Impostazioni di rete

Quando il computer Windows si connette a Internet mediante un server proxy, le impostazioni del proxy possono essere fornite anche all'agente. In questo esempio non è presente alcun server proxy, quindi vengono cancellate in modo esplicito le informazioni correlate al proxy.

È anche possibile controllare l'utilizzo della larghezza di banda con le opzioni work hour bandwidth e non-work hour bandwidth per un dato set di giorni della settimana.

L'impostazione dei dettagli relativi a proxy e larghezza di banda viene eseguita mediante il cmdlet Set-OBMachineSetting :

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

Impostazioni di crittografia

I dati di backup inviati a Backup di Azure vengono crittografati per proteggere la riservatezza dei dati. La passphrase di crittografia è la "password" per decrittografare i dati in fase di ripristino.

È necessario generare un PIN di sicurezza selezionando Genera in Impostazioni>Proprietà>PIN di sicurezza nella sezione dell'insieme di credenziali di Servizi di ripristino del portale di Azure.

Nota

Il PIN di sicurezza può essere generato solo tramite il portale di Azure.

Usare quindi quanto segue come generatedPIN nel comando:

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

Importante

Mantenere le informazioni sulla passphrase al sicuro e protette dopo averla impostata. Non è possibile ripristinare dati da Azure senza la passphrase.

Eseguire il backup di file e cartelle

Tutti i backup dei server e dei client Windows in Backup di Azure sono regolati da un criterio, I criteri includono tre parti:

  • Una pianificazione dei backup che specifica quando è necessario eseguire i backup e sincronizzarli con il servizio.
  • Una pianificazione di conservazione che indica per quanto tempo è necessario conservare i punti di ripristino in Azure.
  • Una specifica di inclusione/esclusione di file che determina i contenuti di cui eseguire il backup.

Dal momento che in questo documento si esegue un backup automatico, si presuppone che non siano stati configurati elementi. Si inizia creando un nuovo criterio di backup tramite il cmdlet New-OBPolicy .

$NewPolicy = New-OBPolicy

Al momento, i criteri sono vuoti e altri cmdlet sono necessari per definire quali elementi verranno inclusi o esclusi, quando verranno eseguiti i backup e dove verranno archiviati i backup.

Configurazione della pianificazione dei backup

La prima delle tre parti di un criterio è la pianificazione del backup, creata usando il cmdlet New-OBSchedule . La pianificazione dei backup definisce quando è necessario eseguire i backup. Quando si crea una pianificazione è necessario specificare due parametri di input:

  • Giorni della settimana in cui deve essere eseguito il backup. È possibile eseguire il processo di backup in un solo giorno oppure tutti i giorni della settimana o specificando qualsiasi combinazione di giorni.
  • Orari della giornata in cui deve essere eseguito il backup. È possibile definire fino a tre orari della giornata diversi in cui verrà attivato il backup.

Ad esempio, è possibile configurare un criterio di backup eseguito alle 16.00 ogni sabato e domenica.

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

La pianificazione dei backup deve essere associata a un criterio ed è possibile eseguire questa operazione tramite il cmdlet 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

Configurazione di un criterio di conservazione

Il criterio di conservazione definisce il periodo di conservazione dei punti di ripristino creati dai processi di backup. Quando si crea un nuovo criterio di conservazione usando il cmdlet New-OBRetentionPolicy, è possibile specificare il numero di giorni in cui i punti di ripristino di backup verranno conservati con Backup di Azure. L'esempio seguente imposta criteri di conservazione di 7 giorni.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

Il criterio di conservazione deve essere associato al criterio principale usando il cmdlet 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

Inclusione ed esclusione di file per il backup

Un oggetto OBFileSpec definisce i file da includere o escludere in un backup. Si tratta di un set di regole che definiscono l'ambito di cartelle e file protetti in un computer. È possibile disporre del numero desiderato di regole di inclusione o esclusione di file e associare le regole a un criterio. Quando si crea un nuovo oggetto OBFileSpec, è possibile:

  • Specificare file e cartelle da includere
  • Specificare file e cartelle da escludere
  • Specificare un backup ricorsivo dei dati in una cartella (o) se eseguire il backup solo dei file di livello principale nella cartella specificata.

Quest'ultima impostazione si ottiene usando il flag -NonRecursive nel comando New-OBFileSpec.

Nell'esempio seguente viene eseguito il backup dei volumi C: e D: e vengono esclusi i file binari del sistema operativo nella cartella Windows e nelle cartelle temporanee. A tale scopo, vengono create due specifiche dei file usando il cmdlet New-OBFileSpec, una per l'inclusione e una per l'esclusione. Dopo essere state create, le specifiche dei file vengono associate al criterio usando il cmdlet 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

Applicazione del criterio

A questo punto l'oggetto criterio è completo e associato a una pianificazione dei backup, un criterio di conservazione e un elenco di inclusione o esclusione di file. È ora possibile eseguire il commit del criterio affinché venga usato in Backup di Azure. Prima di applicare i criteri appena creati, assicurarsi che non vi siano criteri di backup esistenti associati al server usando il cmdlet Remove-OBPolicy. Per la rimozione del criterio verrà richiesta una conferma. Per ignorare la conferma, usare il flag -Confirm:$false con il cmdlet.

Nota

Durante l'esecuzione del cmdlet se richiede di impostare un PIN di sicurezza, vedere la sezione Metodo 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"):

Il commit dell'oggetto criterio viene eseguito usando il cmdlet Set-OBPolicy . Anche in questo caso verrà richiesto di confermare. Per ignorare la conferma, usare il flag -Confirm:$false con il cmdlet.

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

È possibile visualizzare i dettagli del criterio di backup esistente usando il cmdlet Get-OBPolicy . È possibile eseguire un drill-down più approfondito usando il cmdlet Get-OBSchedule per la pianificazione dei backup e il cmdletGet-OBRetentionPolicy per i criteri di conservazione

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

Eseguire un backup su richiesta

Una volta impostati i criteri di backup, i backup verranno eseguiti in base alla pianificazione. È possibile attivare un backup su richiesta anche tramite il 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.

Eseguire il backup dello stato del sistema Windows Server nell'agente MARS

Questa sezione illustra il comando di PowerShell per configurare lo stato del sistema nell'agente MARS

Programmazione

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

Conservazione

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

Configurazione di pianificazione e conservazione

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

Verifica dei criteri

Get-OBSystemStatePolicy

Ripristinare i dati da Backup di Azure

Questa sezione illustra i passaggi per l'automazione del ripristino dei dati da Backup di Azure. A tale scopo, sono necessari i passaggi seguenti:

  1. Selezionare il volume di origine
  2. Scegliere un punto di backup da ripristinare
  3. Specificare un elemento da ripristinare
  4. Attivare il processo di ripristino

Selezione del volume di origine

Per ripristinare un elemento da Backup di Azure, è prima necessario identificare l'origine dell'elemento. Poiché i comandi vengono eseguiti nel contesto di un server o un client Windows, il computer è già identificato. Il passaggio successivo nell'identificazione dell'origine consiste nell'identificare il volume che la contiene. È possibile recuperare un elenco dei volumi o delle origini di cui viene eseguito il backup per il computer eseguendo il cmdlet Get-OBRecoverableSource . Questo comando restituisce una matrice di tutte le origini di cui viene eseguito il backup nel server/client.

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

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

Scelta di un punto di backup da cui eseguire il ripristino

Per recuperare un elenco di punti di backup, eseguire il cmdlet Get-OBRecoverableItem con i parametri appropriati. Nell'esempio viene scelto il punto di backup più recente per il volume di origine C:, che viene usato per ripristinare un file specifico.

$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'oggetto $Rps è una matrice di punti di backup. Il primo elemento è il punto più recente e l'elemento N è il punto meno recente. Per scegliere l'ultimo punto, si userà $Rps[0].

Scelta di un elemento da ripristinare

Per ripristinare un file specifico, indicare il nome file relativo al volume radice. Per recuperare C:\Test\Cat.job eseguire ad esempio questo comando.

$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

Attivazione del processo di ripristino

Per attivare il processo di ripristino, è prima necessario specificare le opzioni di ripristino. A tale scopo, è possibile usare il cmdlet New-OBRecoveryOption . Per questo esempio, si supponga di voler ripristinare i file in C:\temp. Si supponga anche di voler ignorare i file già esistenti nella cartella di destinazione C:\temp. Per creare un'opzione di ripristino di questo tipo, usare il comando seguente:

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

Attivare quindi il processo di ripristino usando il comando Start-OBRecovery sull'oggetto $Item selezionato dall'output del cmdlet 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.

Ripristino tra aree

Il ripristino tra aree consente di ripristinare i dati di backup MARS da un'area secondaria, ovvero un'area abbinata di Azure. In questo modo è possibile eseguire esercitazioni per il controllo e la conformità e ripristinare i dati durante l'indisponibilità dell'area primaria in Azure in caso di emergenza.

Ripristino del server originale

Se si esegue il ripristino per il server originale dall'area secondaria (ripristino tra aree), usare il flag UseSecondaryRegion durante il recupero dell'oggetto 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

Ripristino alternativo del server

Se si esegue il ripristino per un server alternativo dall'area secondaria (ripristino tra aree), scaricare il file delle credenziali dell'insieme di credenziali dell'area secondaria dal portale di Azure e passare le credenziali dell'insieme di credenziali dell'area secondaria per il ripristino.

$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 

Disinstallare l'agente Backup di Azure

La disinstallazione dell'agente di Backup di Azure può essere eseguita mediante il seguente comando:

.\MARSAgentInstaller.exe /d /q

La disinstallazione dei file binari dell'agente dal computer comporta alcune conseguenze da tenere in considerazione:

  • Il filtro di file viene rimosso dal computer e il rilevamento delle modifiche viene arrestato.
  • Tutte le informazioni sui criteri vengono rimosse dal computer, ma continuano a essere archiviate nel servizio.
  • Tutte le pianificazioni dei backup vengono rimosse e non vengono eseguiti ulteriori backup.

Tuttavia, i dati archiviati in Azure rimangono e vengono conservati in base alla configurazione dei criteri di conservazione da parte dell'utente. I punti meno recenti scadono automaticamente.

Gestione remota

Tutte le operazioni di gestione di origini dati, criteri e agente di Backup di Azure possono essere eseguite in remoto mediante PowerShell. Il computer che verrà gestito in remoto deve essere preparato correttamente.

Per impostazione predefinita, il servizio Gestione remota Windows è configurato per l'avvio manuale. Il tipo di avvio deve essere impostato su Automatico e il servizio deve essere avviato. Per verificare che il servizio Gestione remota Windows sia in esecuzione, il valore della proprietà Status deve essere In esecuzione.

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

PowerShell deve essere configurato per la comunicazione remota.

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

È ora possibile gestire il computer in remoto, a partire dall'installazione dell'agente. Ad esempio, il seguente script copia l'agente nel computer remoto e lo installa.

$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

Passaggi successivi

Per altre informazioni su Backup di Azure per Windows Server/Client, vedere: