Distribuire e gestire il backup in Azure per server Windows/client Windows mediante PowerShellDeploy and manage backup to Azure for Windows Server/Windows Client using PowerShell

Questo articolo illustra come usare PowerShell per configurare Backup di Azure in un server o un client Windows e per gestire le operazioni di backup e ripristino.This article shows you how to use PowerShell for setting up Azure Backup on Windows Server or a Windows client, and managing backup and recovery.

Installare Azure PowerShellInstall Azure PowerShell

Importante

Prima di utilizzare risorse di Azure, acquisire familiarità con i modelli di distribuzione: Gestione risorse e classico.Before you work with Azure resources, get familiar with the deployment models: Resource Manager, and classic.

Questo articolo illustra i cmdlet di Azure Resource Manager e di PowerShell per Microsoft Azure Online Backup che consentono di usare un'insieme di credenziali di Servizi di ripristino in un gruppo di risorse.This article focuses on the Azure Resource Manager (ARM) and the MS Online Backup PowerShell cmdlets that enable you to use a Recovery Services vault in a resource group.

A ottobre 2015 è stato rilasciato Azure PowerShell 1.0.In October 2015, Azure PowerShell 1.0 was released. Questa versione ha fatto seguito alla versione 0.9.8 introducendo alcune modifiche significative, in particolare nel modello di denominazione dei cmdlet.This release succeeded the 0.9.8 release and brought about some significant changes, especially in the naming pattern of the cmdlets. I cmdlet 1.0 seguono il criterio di denominazione {verb}-AzureRm{noun}, mentre i nomi 0.9.8 non includono Rm (ad esempio, New-AzureRmResourceGroup anziché New-AzureResourceGroup).1.0 cmdlets follow the naming pattern {verb}-AzureRm{noun}; whereas, the 0.9.8 names do not include Rm (for example, New-AzureRmResourceGroup instead of New-AzureResourceGroup). Quando si usa Azure PowerShell 0.9.8, è innanzitutto necessario abilitare la modalità Gestione risorse eseguendo il comando Switch-AzureMode AzureResourceManager .When using Azure PowerShell 0.9.8, you must first enable the Resource Manager mode by running the Switch-AzureMode AzureResourceManager command. Questo comando non è necessario nella versione di 1.0 o successiva.This command is not necessary in 1.0 or later.

Se si vogliono usare script scritti per l'ambiente 0.9.8 nell'ambiente 1.0 o versione successiva, occorre testare e aggiornare attentamente gli script in un ambiente di preproduzione prima di usarli nell'ambiente di produzione, per evitare un impatto non previsto.If you want to use your scripts written for the 0.9.8 environment, in the 1.0 or later environment, you should carefully update and test the scripts in a pre-production environment before using them in production to avoid unexpected impact.

Scaricare la versione più recente di PowerShell (la versione minima richiesta è: 1.0.0)Download the latest PowerShell release (minimum version required is : 1.0.0)

Configurazione di PowerShell per i modelli di Gestione risorseSetting up PowerShell for Resource Manager templates

Prima di poter usare Azure PowerShell con Gestione risorse, è necessario verificare di disporre delle versioni corrette di Windows PowerShell e Azure PowerShell.Before you can use Azure PowerShell with Resource Manager, you will need to have the right Windows PowerShell and Azure PowerShell versions.

Verificare le versioni di PowerShellVerify PowerShell versions

Verificare che la versione di Windows PowerShell in uso sia 3.0 o 4.0.Verify you have Windows PowerShell version 3.0 or 4.0. Per individuare la versione di Windows PowerShell, digitare il comando seguente al prompt dei comandi di Windows PowerShell.To find the version of Windows PowerShell, type this command at a Windows PowerShell command prompt.

$PSVersionTable

Verrà visualizzato il tipo di informazioni seguente:You will receive the following type of information:

Name                           Value
----                           -----
PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.18444
BuildVersion                   6.2.9200.16481
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2

Verificare che il valore di PSVersion sia 3.0 o 4.0.Verify that the value of PSVersion is 3.0 or 4.0. In caso contrario, vedere Windows Management Framework 3.0 o Windows Management Framework 4.0.If not, see Windows Management Framework 3.0 or Windows Management Framework 4.0.

Impostare l'account e la sottoscrizione di AzureSet your Azure account and subscription

Se non si ha già una sottoscrizione di Azure, è possibile attivare i benefici della sottoscrizione MSDN oppure iscriversi per ottenere una versione di valutazione gratuita.If you don't already have an Azure subscription, you can activate your MSDN subscriber benefits or sign up for a free trial.

Aprire un prompt dei comandi di Azure PowerShell e usare il comando seguente per accedere ad Azure.Open an Azure PowerShell command prompt and log on to Azure with this command.

Login-AzureRmAccount

Se si dispone di più sottoscrizioni di Azure, è possibile usare il comando seguente per visualizzarne l'elenco.If you have multiple Azure subscriptions, you can list your Azure subscriptions with this command.

Get-AzureRmSubscription

Verrà visualizzato il tipo di informazioni seguente:You will receive the following type of information:

SubscriptionId            : fd22919d-eaca-4f2b-841a-e4ac6770g92e
SubscriptionName          : Visual Studio Ultimate with MSDN
Environment               : AzureCloud
SupportedModes            : AzureServiceManagement,AzureResourceManager
DefaultAccount            : johndoe@contoso.com
Accounts                  : {johndoe@contoso.com}
IsDefault                 : True
IsCurrent                 : True
CurrentStorageAccountName :
TenantId                  : 32fa88b4-86f1-419f-93ab-2d7ce016dba7

Per impostare la sottoscrizione di Azure corrente, eseguire i comandi seguenti al prompt dei comandi di Azure PowerShell.You can set the current Azure subscription by running these commands at the Azure PowerShell command prompt. Sostituire tutti gli elementi all'interno delle virgolette, inclusi i caratteri < e >, con il nome corretto.Replace everything within the quotes, including the < and > characters, with the correct name.

$subscr="<SubscriptionName from the display of Get-AzureRmSubscription>"
Select-AzureRmSubscription -SubscriptionName $subscr -Current

Per altre informazioni su sottoscrizioni e account di Azure, vedere Procedura: Connettersi alla sottoscrizione.For more information about Azure subscriptions and accounts, see How to: Connect to your subscription.

Creare un insieme di credenziali dei servizi di ripristinoCreate a recovery services vault

Nei passaggi seguenti viene descritto come creare un insieme di credenziali dei servizi di ripristino.The following steps lead you through creating a Recovery Services vault. Un insieme di credenziali dei servizi di ripristino è diverso da un insieme di credenziali di backup.A Recovery Services vault is different than a Backup vault.

  1. Se si sta usando Backup di Azure per la prima volta, è necessario usare il cmdlet Register-AzureRMResourceProvider per registrare il provider di Servizi di ripristino di Azure con la propria sottoscrizione.If you are using Azure Backup for the first time, you must use the Register-AzureRMResourceProvider cmdlet to register the Azure Recovery Service provider with your subscription.

    PS C:\> Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. L'insieme di credenziali dei servizi di ripristino è una risorsa ARM, pertanto è necessario inserirlo all'interno di un gruppo di risorse.The Recovery Services vault is an ARM resource, so you need to place it within a Resource Group. È possibile usare un gruppo di risorse esistente o crearne uno nuovo.You can use an existing resource group, or create a new one. Quando si crea un nuovo gruppo di risorse, è necessario specificare il nome e percorso per il gruppo di risorse.When creating a new resource group, specify the name and location for the resource group.

    PS C:\> New-AzureRmResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Per creare il nuovo insieme di credenziali usare il cmdlet New-AzureRmRecoveryServicesVault .Use the New-AzureRmRecoveryServicesVault cmdlet to create the new vault. Assicurarsi di specificare per l'insieme di credenziali lo stesso percorso usato per il gruppo di risorse.Be sure to specify the same location for the vault as was used for the resource group.

    PS C:\> New-AzureRmRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Specificare il tipo di ridondanza di archiviazione da usare, ad esempio archiviazione con ridondanza locale (LRS) o archiviazione con ridondanza geografica (GRS).Specify the type of storage redundancy to use; you can use Locally Redundant Storage (LRS) or Geo Redundant Storage (GRS). Nell'esempio seguente l'opzione BackupStorageRedundancy per testVault è impostata su GeoRedundant.The following example shows the -BackupStorageRedundancy option for testVault is set to GeoRedundant.

    Suggerimento

    Molti cmdlet di Backup di Azure richiedono l'oggetto dell'insieme di credenziali dei servizi di ripristino come input.Many Azure Backup cmdlets require the Recovery Services vault object as an input. Per questo motivo, è utile archiviare l'oggetto dell'insieme di credenziali dei servizi di ripristino di Backup in una variabile.For this reason, it is convenient to store the Backup Recovery Services vault object in a variable.

    PS C:\> $vault1 = Get-AzureRmRecoveryServicesVault –Name "testVault"
    PS C:\> Set-AzureRmRecoveryServicesBackupProperties  -vault $vault1 -BackupStorageRedundancy GeoRedundant
    

Visualizzare gli insiemi di credenziali in un abbonamentoView the vaults in a subscription

Usare Get-AzureRmRecoveryServicesVault per visualizzare l'elenco di tutti gli insiemi di credenziali della sottoscrizione corrente.Use Get-AzureRmRecoveryServicesVault to view the list of all vaults in the current subscription. È possibile usare questo comando per verificare che sia stato creato un nuovo insieme di credenziali o per vedere quali insiemi di credenziali sono disponibili nell'abbonamento.You can use this command to check that a new vault was created, or to see what vaults are available in the subscription.

L'esecuzione del comando Get-AzureRmRecoveryServicesVault visualizza tutti gli insiemi di credenziali disponibili nella sottoscrizione.Run the command, Get-AzureRmRecoveryServicesVault, and all vaults in the subscription are listed.

PS C:\> Get-AzureRmRecoveryServicesVault
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

Installazione dell'agente di Backup di AzureInstalling the Azure Backup agent

Per installare l'agente di Backup di Azure, è necessario aver scaricato il programma di installazione nel server Windows.Before you install the Azure Backup agent, you need to have the installer downloaded and present on the Windows Server. È 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.You can get the latest version of the installer from the Microsoft Download Center or from the Recovery Services vault's Dashboard page. Salvare il programma di installazione in un percorso facilmente accessibile come *C:\Downloads*.Save the installer to an easily accessible location like *C:\Downloads*.

In alternativa, usare PowerShell per ottenere il downloader:Alternatively, use PowerShell to get the downloader:

$MarsAURL = 'Http://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:To install the agent, run the following command in an elevated PowerShell console:

PS C:\> MARSAgentInstaller.exe /q

L'agente verrà installato con tutte le opzioni predefinite.This installs the agent with all the default options. L'installazione richiede alcuni minuti in background.The installation takes a few minutes in the background. Se non si specifica l'opzione /nu , la finestra Windows Update si aprirà al termine dell'installazione per verificare la presenza di eventuali aggiornamenti.If you do not specify the /nu option then the Windows Update window will open at the end of the installation to check for any updates. Dopo essere stato installato, l'agente verrà visualizzato nell'elenco dei programmi installati.Once installed, the agent will show in the list of installed programs.

Per visualizzare l'elenco dei programmi installati, passare a Pannello di controllo > Programmi > Programmi e funzionalità.To see the list of installed programs, go to Control Panel > Programs > Programs and Features.

Agente installato

Opzioni di installazioneInstallation options

Per visualizzare tutte le opzioni disponibili tramite la riga di comando, utilizzare il comando seguente:To see all the options available via the command-line, use the following command:

PS C:\> MARSAgentInstaller.exe /?

Le opzioni disponibili includono:The available options include:

OpzioneOption DettagliDetails DefaultDefault
/q/q Installazione non interattivaQuiet installation -
/p:"location"/p:"location" Percorso della cartella di installazione per l'agente di Backup di Azure.Path to the installation folder for the Azure Backup agent. C:\Programmi\Agente di Servizi di ripristino di Microsoft AzureC:\Program Files\Microsoft Azure Recovery Services Agent
/s:"location"/s:"location" Percorso della cartella della cache per l'agente di Backup di Azure.Path to the cache folder for the Azure Backup agent. C:\Programmi\Agente di Servizi di ripristino di Microsoft Azure\ScratchC:\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m/m Consenso esplicito a Microsoft UpdateOpt-in to Microsoft Update -
/nu/nu Al termine dell'installazione non vengono cercati gli aggiornamentiDo not Check for updates after installation is complete -
/d/d Disinstalla l'agente di Servizi di ripristino di Microsoft AzureUninstalls Microsoft Azure Recovery Services Agent -
/ph/ph Indirizzo host proxyProxy Host Address -
/po/po Numero porta host proxyProxy Host Port Number -
/pu/pu Nome utente host proxyProxy Host UserName -
/pw/pw Password proxyProxy Password -

Registrazione di Windows Server o di un client Windows con l'insieme di credenziali dei servizi di ripristinoRegistering Windows Server or Windows client machine to a Recovery Services Vault

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.After you created the Recovery Services vault, download the latest agent and the vault credentials and store it in a convenient location like C:\Downloads.

PS C:\> $credspath = "C:\downloads"
PS C:\> $credsfilename = Get-AzureRmRecoveryServicesVaultSettingsFile -Backup -Vault $vault1 -Path  $credspath

In Windows Server o in un client Windows, eseguire il cmdlet Start-OBRegistration per registrare il computer con l'insieme di credenziali.On the Windows Server or Windows client machine, run the Start-OBRegistration cmdlet to register the machine with the vault. Questo cmdlet e altri cmdlet usati per il backup sono inclusi nel modulo MSONLINE, che è stato aggiunto da Mars AgentInstaller durante il processo di installazione.This, and other cmdlets used for backup, are from the MSONLINE module which the Mars AgentInstaller added as part of the installation process.

Il programma di installazione dell'agente non aggiorna la variabile $Env:PSModulePath.The Agent installer does not update the $Env:PSModulePath variable. Il caricamento automatico del modulo avrà quindi esito negativo.This means module auto-load fails. Per risolvere il problema, è possibile procedere come segue:To resolve this you can do the following:

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

In alternativa, è possibile caricare manualmente il modulo nello script, come segue:Alternatively, you can manually load the module in your script as follows:

PS C:\>  Import-Module  '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:Once you load the Online Backup cmdlets, you register the vault credentials:

PS C:\> $cred = $credspath + $credsfilename
PS C:\> Start-OBRegistration-VaultCredentials $cred -Confirm:$false
CertThumbprint      :7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : ef4ab577-c2c0-43e4-af80-af49f485f3d1
ServiceResourceName: testvault
Region              :WestUS
Machine registration succeeded.

Importante

Non utilizzare percorsi relativi per specificare il file dell'insieme di credenziali.Do not use relative paths to specify the vault credentials file. È necessario fornire un percorso assoluto come input per il cmdlet.You must provide an absolute path as an input to the cmdlet.

Impostazioni di reteNetworking settings

Quando il computer Windows si connette a Internet mediante un server proxy, le impostazioni del proxy possono essere fornite anche all'agente.When the connectivity of the Windows machine to the internet is through a proxy server, the proxy settings can also be provided to the agent. In questo esempio non è presente alcun server proxy, pertanto sono state eliminate tutte le informazioni relative al proxy.In this example, there is no proxy server, so we are explicitly clearing any proxy-related information.

È 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.Bandwidth usage can also be controlled with the options of work hour bandwidth and non-work hour bandwidth for a given set of days of the week.

L'impostazione dei dettagli relativi a proxy e larghezza di banda viene eseguita mediante il cmdlet Set-OBMachineSetting :Setting the proxy and bandwidth details is done using the Set-OBMachineSetting cmdlet:

PS C:\> Set-OBMachineSetting -NoProxy
Server properties updated successfully.

PS C:\> Set-OBMachineSetting -NoThrottle
Server properties updated successfully.

Impostazioni crittografiaEncryption settings

I dati di backup inviati a Backup di Azure vengono crittografati per proteggere la riservatezza dei dati.The backup data sent to Azure Backup is encrypted to protect the confidentiality of the data. La passphrase di crittografia è la "password" per decrittografare i dati in fase di ripristino.The encryption passphrase is the "password" to decrypt the data at the time of restore.

PS C:\> ConvertTo-SecureString -String "Complex!123_STRING" -AsPlainText -Force | Set-OBMachineSetting
PS C:\> $PassPhrase = ConvertTo-SecureString -String "Complex!123_STRING" -AsPlainText -Force 
PS C:\> $PassCode   = 'AzureR0ckx'
PS C:\> Set-OBMachineSetting -EncryptionPassPhrase $PassPhrase
Server properties updated successfully

Importante

Dopo l'impostazione, conservare le informazioni sulla passphrase al sicuro.Keep the passphrase information safe and secure once it is set. Non è possibile ripristinare i dati da Azure senza la passphrase.You are not be able to restore data from Azure without this passphrase.

Eseguire il backup di file e cartelleBack up files and folders

Tutti i backup dei server e dei client Windows in Backup di Azure sono regolati da un criterio,All backups from Windows Servers and clients to Azure Backup are governed by a policy. costituito da tre parti:The policy comprises three parts:

  1. Una pianificazione dei backup che specifica quando è necessario eseguire i backup e sincronizzarli con il servizio.A backup schedule that specifies when backups need to be taken and synchronized with the service.
  2. Una pianificazione di conservazione che indica per quanto tempo è necessario conservare i punti di ripristino in Azure.A retention schedule that specifies how long to retain the recovery points in Azure.
  3. Una specifica di inclusione/esclusione di file che determina i contenuti di cui eseguire il backup.A file inclusion/exclusion specification that dictates what should be backed up.

Dal momento che in questo documento si esegue un backup automatico, si presuppone che non siano stati configurati elementi.In this document, since we're automating backup, we'll assume nothing has been configured. Si inizia creando un nuovo criterio di backup tramite il cmdlet New-OBPolicy .We begin by creating a new backup policy using the New-OBPolicy cmdlet.

PS C:\> $newpolicy = New-OBPolicy

In questo momento il criterio è vuoto e sono necessari altri cmdlet per definire quali elementi verranno inclusi o esclusi, quando verranno eseguiti i backup e dove verranno archiviati.At this time the policy is empty and other cmdlets are needed to define what items will be included or excluded, when backups will run, and where the backups will be stored.

Configurazione della pianificazione dei backupConfiguring the backup schedule

La prima delle tre parti di un criterio è la pianificazione dei backup, che viene creata tramite il cmdlet New-OBSchedule .The first of the 3 parts of a policy is the backup schedule, which is created using the New-OBSchedule cmdlet. La pianificazione dei backup definisce quando è necessario eseguire i backup.The backup schedule defines when backups need to be taken. Quando si crea una pianificazione è necessario specificare due parametri di input:When creating a schedule you need to specify 2 input parameters:

  • Giorni della settimana in cui deve essere eseguito il backup.Days of the week that the backup should run. È possibile eseguire il processo di backup in un solo giorno oppure tutti i giorni della settimana o specificando qualsiasi combinazione di giorni.You can run the backup job on just one day, or every day of the week, or any combination in between.
  • Orari della giornata in cui deve essere eseguito il backup.Times of the day when the backup should run. È possibile definire fino a tre orari della giornata diversi in cui verrà attivato il backup.You can define up to 3 different times of the day when the backup will be triggered.

Ad esempio, è possibile configurare un criterio di backup eseguito alle 16.00 ogni sabato e domenica.For instance, you could configure a backup policy that runs at 4PM every Saturday and Sunday.

PS C:\> $sched = 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 .The backup schedule needs to be associated with a policy, and this can be achieved by using the Set-OBSchedule cmdlet.

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

Configurazione di un criterio di conservazioneConfiguring a retention policy

Il criterio di conservazione definisce il periodo di conservazione dei punti di ripristino creati dai processi di backup.The retention policy defines how long recovery points created from backup jobs are retained. Quando si crea un nuovo criterio di conservazione usando il cmdlet New-OBRetentionPolicy , è possibile specificare il numero di giorni per cui conservare i punti di ripristino dei backup con Backup di Azure.When creating a new retention policy using the New-OBRetentionPolicy cmdlet, you can specify the number of days that the backup recovery points need to be retained with Azure Backup. L'esempio seguente imposta un criterio di conservazione di 7 giorni.The example below sets a retention policy of 7 days.

PS C:\> $retentionpolicy = New-OBRetentionPolicy -RetentionDays 7

Il criterio di conservazione deve essere associato al criterio principale usando il cmdlet Set-OBRetentionPolicy:The retention policy must be associated with the main policy using the cmdlet Set-OBRetentionPolicy:

PS C:\> 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 backupIncluding and excluding files to be backed up

Un oggetto OBFileSpec definisce i file da includere o escludere in un backup.An OBFileSpec object defines the files to be included and excluded in a backup. Si tratta di un set di regole che definiscono l'ambito di cartelle e file protetti in un computer.This is a set of rules that scope out the protected files and folders on a machine. È possibile disporre del numero desiderato di regole di inclusione o esclusione di file e associare le regole a un criterio.You can have as many file inclusion or exclusion rules as required, and associate them with a policy. Quando si crea un nuovo oggetto OBFileSpec, è possibile:When creating a new OBFileSpec object, you can:

  • Specificare file e cartelle da includereSpecify the files and folders to be included
  • Specificare file e cartelle da escludereSpecify the files and folders to be excluded
  • Specificare un backup ricorsivo dei dati in una cartella (o) se eseguire il backup solo dei file di livello principale nella cartella specificata.Specify recursive backup of data in a folder (or) whether only the top-level files in the specified folder should be backed up.

Quest'ultima impostazione si ottiene usando il flag -NonRecursive nel comando New-OBFileSpec.The latter is achieved by using the -NonRecursive flag in the New-OBFileSpec command.

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.In the example below, we'll back up volume C: and D: and exclude the OS binaries in the Windows folder and any temporary folders. A tale scopo, vengono create due specifiche dei file usando il cmdlet New-OBFileSpec , una per l'inclusione e una per l'esclusione.To do so we'll create two file specifications using the New-OBFileSpec cmdlet - one for inclusion and one for exclusion. Dopo essere state create, le specifiche dei file vengono associate al criterio usando il cmdlet Add-OBFileSpec .Once the file specifications have been created, they're associated with the policy using the Add-OBFileSpec cmdlet.

PS C:\> $inclusions = New-OBFileSpec -FileSpec @("C:\", "D:\")

PS C:\> $exclusions = New-OBFileSpec -FileSpec @("C:\windows", "C:\temp") -Exclude

PS C:\> 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


PS C:\> 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 criterioApplying the policy

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.Now the policy object is complete and has an associated backup schedule, retention policy, and an inclusion/exclusion list of files. È ora possibile eseguire il commit del criterio affinché venga usato in Backup di Azure.This policy can now be committed for Azure Backup to use. Prima di applicare il criterio appena creato, assicurarsi che non vi siano criteri di backup esistenti associati al server usando il cmdlet Remove-OBPolicy .Before you apply the newly created policy ensure that there are no existing backup policies associated with the server by using the Remove-OBPolicy cmdlet. Per la rimozione del criterio verrà richiesta una conferma.Removing the policy will prompt for confirmation. Per ignorare la conferma, usare il flag -Confirm:$false con il cmdlet.To skip the confirmation use the -Confirm:$false flag with the cmdlet.

PS C:> 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 .Committing the policy object is done using the Set-OBPolicy cmdlet. Anche in questo caso verrà richiesto di confermare.This will also ask for confirmation. Per ignorare la conferma, usare il flag -Confirm:$false con il cmdlet.To skip the confirmation use the -Confirm:$false flag with the cmdlet.

PS C:> 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 .You can view the details of the existing backup policy using the Get-OBPolicy cmdlet. È possibile eseguire ulteriormente il drill-down usando il cmdlet Get-OBSchedule per la pianificazione dei backup e il cmdletGet-OBRetentionPolicy per i criteri di conservazioneYou can drill-down further using the Get-OBSchedule cmdlet for the backup schedule and the Get-OBRetentionPolicy cmdlet for the retention policies

PS C:> Get-OBPolicy | Get-OBSchedule
SchedulePolicyName : 71944081-9950-4f7e-841d-32f0a0a1359a
ScheduleRunDays : {Saturday, Sunday}
ScheduleRunTimes : {16:00:00}
State : Existing

PS C:> Get-OBPolicy | Get-OBRetentionPolicy
RetentionDays : 7
RetentionPolicyName : ca3574ec-8331-46fd-a605-c01743a5265e
State : Existing

PS C:> 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

Esecuzione di un backup ad hocPerforming an ad-hoc backup

Una volta impostato un criterio di backup, i backup verranno eseguiti in base alla pianificazione.Once a backup policy has been set the backups will occur per the schedule. È possibile attivare un backup ad hoc anche tramite il cmdlet Start-OBBackup :Triggering an ad-hoc backup is also possible using the Start-OBBackup cmdlet:

PS C:> 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.

Ripristinare i dati da Backup di AzureRestore data from Azure Backup

Questa sezione illustra i passaggi per l'automazione del ripristino dei dati da Backup di Azure.This section will guide you through the steps for automating recovery of data from Azure Backup. A tale scopo, sono necessari i passaggi seguenti:Doing so involves the following steps:

  1. Selezionare il volume di originePick the source volume
  2. Scegliere un punto di backup da ripristinareChoose a backup point to restore
  3. Scegliere un elemento da ripristinareChoose an item to restore
  4. Attivare il processo di ripristinoTrigger the restore process

Selezione del volume di originePicking the source volume

Per ripristinare un elemento da Backup di Azure, è necessario innanzitutto identificare l'origine dell'elemento.In order to restore an item from Azure Backup, you first need to identify the source of the item. Poiché i comandi vengono eseguiti nel contesto di un server o un client Windows, il computer è già identificato.Since we're executing the commands in the context of a Windows Server or a Windows client, the machine is already identified. Il passaggio successivo nell'identificazione dell'origine consiste nell'identificare il volume che la contiene.The next step in identifying the source is to identify the volume containing it. È possibile recuperare un elenco dei volumi o delle origini di cui viene eseguito il backup per il computer eseguendo il cmdlet Get-OBRecoverableSource .A list of volumes or sources being backed up from this machine can be retrieved by executing the Get-OBRecoverableSource cmdlet. Questo comando restituisce una matrice di tutte le origini di cui viene eseguito il backup nel server/client.This command returns an array of all the sources backed up from this server/client.

PS C:> $source = Get-OBRecoverableSource
PS C:> $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 ripristinoChoosing a backup point from which to restore

Per recuperare un elenco di punti di backup, eseguire il cmdlet Get-OBRecoverableItem con i parametri appropriati.You retreive a list of backup points by executing the Get-OBRecoverableItem cmdlet with appropriate parameters. Nell'esempio viene scelto il punto di backup più recente per il volume di origine D: , che viene usato per ripristinare un file specifico.In our example, we’ll choose the latest backup point for the source volume D: and use it to recover a specific file.

PS C:> $rps = Get-OBRecoverableItem -Source $source[1]
IsDir : False
ItemNameFriendly : D:\
ItemNameGuid : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\
LocalMountPoint : D:\
MountPointName : D:\
Name : D:\
PointInTime : 18-Jun-15 6:41:52 AM
ServerName : myserver.microsoft.com
ItemSize :
ItemLastModifiedTime :

IsDir : False
ItemNameFriendly : D:\
ItemNameGuid : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\
LocalMountPoint : D:\
MountPointName : D:\
Name : D:\
PointInTime : 17-Jun-15 6:31:31 AM
ServerName : myserver.microsoft.com
ItemSize :
ItemLastModifiedTime :

L'oggetto $rps è una matrice di punti di backup.The object $rps is an array of backup points. Il primo elemento è il punto più recente e l'elemento N è il punto meno recente.The first element is the latest point and the Nth element is the oldest point. Per scegliere il punto più recente, si userà $rps[0].To choose the latest point, we will use $rps[0].

Scelta di un elemento da ripristinareChoosing an item to restore

Per identificare la cartella o il file esatto da ripristinare, usare in modo ricorsivo il cmdlet Get-OBRecoverableItem .To identify the exact file or folder to restore, recursively use the Get-OBRecoverableItem cmdlet. In questo modo, è possibile esplorare la gerarchia di cartelle usando esclusivamente Get-OBRecoverableItem.That way the folder hierarchy can be browsed solely using the Get-OBRecoverableItem.

In questo esempio, se si desidera ripristinare il file finances.xls, è possibile farvi riferimento usando l'oggetto $filesFolders[1].In this example, if we want to restore the file finances.xls we can reference that using the object $filesFolders[1].

PS C:> $filesFolders = Get-OBRecoverableItem $rps[0]
PS C:> $filesFolders
IsDir : True
ItemNameFriendly : D:\MyData\
ItemNameGuid : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\MyData\
LocalMountPoint : D:\
MountPointName : D:\
Name : MyData
PointInTime : 18-Jun-15 6:41:52 AM
ServerName : myserver.microsoft.com
ItemSize :
ItemLastModifiedTime : 15-Jun-15 8:49:29 AM

PS C:> $filesFolders = Get-OBRecoverableItem $filesFolders[0]
PS C:> $filesFolders
IsDir : False
ItemNameFriendly : D:\MyData\screenshot.oxps
ItemNameGuid : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\MyData\screenshot.oxps
LocalMountPoint : D:\
MountPointName : D:\
Name : screenshot.oxps
PointInTime : 18-Jun-15 6:41:52 AM
ServerName : myserver.microsoft.com
ItemSize : 228313
ItemLastModifiedTime : 21-Jun-14 6:45:09 AM

IsDir : False
ItemNameFriendly : D:\MyData\finances.xls
ItemNameGuid : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\MyData\finances.xls
LocalMountPoint : D:\
MountPointName : D:\
Name : finances.xls
PointInTime : 18-Jun-15 6:41:52 AM
ServerName : myserver.microsoft.com
ItemSize : 96256
ItemLastModifiedTime : 21-Jun-14 6:43:02 AM

È anche possibile cercare gli elementi da ripristinare usando il cmdlet Get-OBRecoverableItem .You can also search for items to restore using the Get-OBRecoverableItem cmdlet. Nell'esempio, per cercare finances.xls è possibile ottenere un handle sul file eseguendo il comando seguente:In our example, to search for finances.xls we could get a handle on the file by running this command:

PS C:\> $item = Get-OBRecoverableItem -RecoveryPoint $rps[0] -Location "D:\MyData" -SearchString "finance*"

Attivazione del processo di ripristinoTriggering the restore process

Per attivare il processo di ripristino, è prima necessario specificare le opzioni di ripristino.To trigger the restore process, we first need to specify the recovery options. A tale scopo, è possibile usare il cmdlet New-OBRecoveryOption .This can be done by using the New-OBRecoveryOption cmdlet. Per questo esempio, si supponga di voler ripristinare i file in C:\temp. Si supponga inoltre di voler ignorare i file già presenti nella cartella di destinazione C:\temp. Per creare un'opzione di ripristino di questo tipo, usare il comando seguente:For this example, let's assume that we want to restore the files to C:\temp. Let's also assume that we want to skip files that already exist on the destination folder C:\temp. To create such a recovery option, use the following command:

PS C:\> $recovery_option = 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:Now trigger the restore process by using the Start-OBRecovery command on the selected $item from the output of the Get-OBRecoverableItem cmdlet:

PS C:\> Start-OBRecovery -RecoverableItem $item -RecoveryOption $recover_option
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.

Disinstallazione dell'agente di Backup di AzureUninstalling the Azure Backup agent

La disinstallazione dell'agente di Backup di Azure può essere eseguita mediante il seguente comando:Uninstalling the Azure Backup agent can be done by using the following command:

PS C:\> .\MARSAgentInstaller.exe /d /q

La disinstallazione dei file binari dell'agente dal computer comporta alcune conseguenze da tenere in considerazione:Uninstalling the agent binaries from the machine has some consequences to consider:

  • Il filtro di file viene rimosso dal computer e il rilevamento delle modifiche viene arrestato.It removes the file-filter from the machine, and tracking of changes is stopped.
  • Tutte le informazioni sui criteri vengono rimosse dal computer, ma continuano a essere archiviate nel servizio.All policy information is removed from the machine, but the policy information continues to be stored in the service.
  • Tutte le pianificazioni dei backup vengono rimosse e non vengono eseguiti ulteriori backup.All backup schedules are removed, and no further backups are taken.

Tuttavia, i dati archiviati in Azure continueranno a rimanere presenti e verranno conservati in base alla configurazione del criterio di conservazione specificata.However, the data stored in Azure remains and is retained as per the retention policy setup by you. I punti meno recenti scadono automaticamente.Older points are automatically aged out.

Gestione remotaRemote management

Tutte le operazioni di gestione di origini dati, criteri e agente di Backup di Azure possono essere eseguite in remoto mediante PowerShell.All the management around the Azure Backup agent, policies, and data sources can be done remotely through PowerShell. Il computer che verrà gestito in remoto deve essere preparato correttamente.The machine that will be managed remotely needs to be prepared correctly.

Per impostazione predefinita, il servizio Gestione remota Windows è configurato per l'avvio manuale.By default, the WinRM service is configured for manual startup. Il tipo di avvio deve essere impostato su Automatico e il servizio deve essere avviato.The startup type must be set to Automatic and the service should be started. Per verificare che il servizio Gestione remota Windows sia in esecuzione, il valore della proprietà Status deve essere In esecuzione.To verify that the WinRM service is running, the value of the Status property should be Running.

PS C:\> Get-Service WinRM

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

PowerShell deve essere configurato per la comunicazione remota.PowerShell should be configured for remoting.

PS C:\> 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.

PS C:\> Set-ExecutionPolicy unrestricted -force

È ora possibile gestire il computer in remoto, a partire dall'installazione dell'agente.The machine can now be managed remotely - starting from the installation of the agent. Ad esempio, il seguente script copia l'agente nel computer remoto e lo installa.For example, the following script copies the agent to the remote machine and installs it.

PS C:\> $dloc = "\\REMOTESERVER01\c$\Windows\Temp"
PS C:\> $agent = "\\REMOTESERVER01\c$\Windows\Temp\MARSAgentInstaller.exe"
PS C:\> $args = "/q"
PS C:\> Copy-Item "C:\Downloads\MARSAgentInstaller.exe" -Destination $dloc - force

PS C:\> $s = New-PSSession -ComputerName REMOTESERVER01
PS C:\> Invoke-Command -Session $s -Script { param($d, $a) Start-Process -FilePath $d $a -Wait } -ArgumentList $agent $args

Passaggi successiviNext steps

Per altre informazioni su Backup di Azure per Windows Server/Client, vedereFor more information about Azure Backup for Windows Server/Client see