Implantar e gerenciar o backup no Azure para o Windows Server/Windows Client usando o PowerShell

Este artigo mostra como usar o PowerShell para configurar o Backup do Azure no Windows Server ou em um cliente do Windows e como gerenciar backups e recuperações.

Instalar o Azure PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Para começar, instale a versão mais recente do PowerShell.

Criar um cofre dos Serviços de Recuperação

As etapas a seguir orientarão você durante a criação de um cofre dos Serviços de Recuperação. Um cofre dos Serviços de Recuperação é diferente de um cofre de Backup.

  1. Se você está usando o Backup do Azure pela primeira vez, use o cmdlet Register-AzResourceProvider para registrar o provedor do Serviço de Recuperação do Azure com a sua assinatura.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. O cofre dos Serviços de Recuperação é um recurso do Azure Resource Manager e, portanto, você precisa colocá-lo em um grupo de recursos. Você pode usar um grupo de recursos existente ou criar um novo. Ao criar um novo grupo de recursos, especifique o nome e o local para o grupo de recursos.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Use o cmdlet New-AzRecoveryServicesVault para criar um novo cofre. Lembre-se de especificar o mesmo local para o cofre usado para o grupo de recursos.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Especifique o tipo de redundância de armazenamento a usar. Você pode usar o LRS (armazenamento com redundância local), o GRS (armazenamento com redundância geográfica) ou o ZRS (armazenamento com redundância de zona). O exemplo a seguir mostra que a opção -BackupStorageRedundancy do testVault está definida como GeoRedundant.

    Dica

    Muitos cmdlets do Backup do Azure exigem o objeto do cofre dos Serviços de Recuperação como entrada. Por esse motivo, é conveniente armazenar o objeto de backup do cofre dos Serviços de Recuperação em uma variável.

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

Exibir os cofres em uma assinatura

Use Get-AzRecoveryServicesVault para ver a lista de todos os cofres da assinatura atual. Você pode usar esse comando para verificar se um novo cofre foi criado ou para ver quais cofres estão disponíveis na assinatura.

Execute o comando Get-AzRecoveryServicesVault e todos os cofres na assinatura serão listados.

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

Fazer upgrade do agente MARS

As versões do agente de Serviços de Recuperação do Microsoft Azure (MARS) abaixo de 2.0.9083.0 dependem do serviço de Controle de Acesso do Azure. O agente de MARS também é denominado agente de Backup do Azure.

Em 2018, a Microsoft preteriu o serviço de Controle de Acesso do Azure. A partir de 19 de março de 2018, todas as versões do agente MARS abaixo 2.0.9083.0 experimentarão falhas de backup. Para evitar ou resolver falhas de backup, faça upgrade do seu Agente MARS para a última versão. Para identificar os servidores que exigem um upgrade do agente MARS, siga as etapas em Upgrade do agente de serviços de recuperação do Microsoft Azure (MARS).

O agente de MARS é usado para fazer backup de arquivos e pastas e dados de estado do sistema no Azure. O DPM do System Center e o Servidor de Backup do Azure usam o agente MARS para fazer backup de dados no Azure.

Instalando o agente de Backup do Azure

Antes de instalar o agente de Backup do Azure, você precisa ter o instalador baixado, já no Windows Server. Você pode obter a última versão do instalador no Centro de Download da Microsoft ou na página Painel do cofre dos Serviços de Recuperação. Salve o instalador em uma localização de fácil acesso, como C:\Downloads\*.

Como alternativa, use o PowerShell para obter o 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

Para instalar o agente, execute o comando a seguir em um console do Azure PowerShell com privilégios elevados:

MARSAgentInstaller.exe /q

Isso instala o agente com todas as opções padrão. A instalação demora alguns minutos, em segundo plano. Se você não especificar a opção /nu, a janela do Windows Update abrirá ao final da instalação para verificar se há atualizações. Uma vez instalado, o agente será exibido na lista de programas instalados.

Para ver a lista de programas instalados, vá para Painel de controle>Programas>Programas e recursos.

Agent installed

Opções de instalação

Para ver todas as opções disponíveis por meio da linha de comando, use o seguinte comando:

MARSAgentInstaller.exe /?

As opções disponíveis incluem:

Opção Detalhes Padrão
/q Instalação silenciosa -
/p:"local" Caminho para a pasta de instalação para o agente de Backup do Azure. C:\Arquivos de Programas\Microsoft Azure Recovery Services Agent
/s:"local" Caminho para a pasta de cache para o agente de Backup do Azure. C:\Arquivos de Programas\Microsoft Azure Recovery Services Agent\Scratch
/m Aceitar o Microsoft Update -
/nu Não verificar se há atualizações após a conclusão da instalação -
/d Desinstala o agente dos Serviços de Recuperação do Microsoft Azure -
/ph Endereço do host do proxy -
/po Número da porta do host do proxy -
/pu UserName do host do proxy -
/pw Senha do proxy -

Registrando o Windows Server ou um computador cliente do Windows em um cofre dos Serviços de Recuperação

Depois de criar o cofre dos Serviços de Recuperação, baixe o agente mais recente e as credenciais do cofre e armazene-os em um local conveniente como C:\Downloads.

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

Registrar usando o módulo Az do PowerShell

Observação

Um bug na geração de certificado de cofre foi corrigido na versão Az 3.5.0. Use a versão de lançamento do Az 3.5.0 ou superior para baixar um certificado de cofre.

No módulo Az mais recente do PowerShell, devido às limitações subjacentes da plataforma, o download das credenciais do cofre requer um certificado autoassinado. O exemplo a seguir mostra como fornecer um certificado autoassinado e baixar as credenciais do cofre.

$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

No computador cliente do Windows Server ou do Windows, execute o cmdlet Start-OBRegistration para registrar o computador no cofre. Esse e outros cmdlets usados para backup são do módulo MSONLINE, que o instalador do agente do MARS adicionou como parte do processo de instalação.

O instalador do agente não atualiza a variável $Env:PSModulePath. Isso significa que o carregamento automático do módulo falhará. Para resolver esse problema, você pode fazer o seguinte:

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

Como alternativa, você pode carregar manualmente o módulo em seu script da seguinte maneira:

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

Depois de carregar os cmdlets do Backup Online, você registra as credenciais do cofre:

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

Importante

Não use caminhos relativos para especificar o arquivo de credenciais do cofre. Você deve fornecer um caminho absoluto como entrada para o cmdlet.

Configurações de rede

Quando a conectividade do computador Windows com a internet for através de um servidor proxy, as configurações de proxy também podem ser fornecidas para o agente. Neste exemplo, não há nenhum servidor proxy. Por isso, estamos removendo explicitamente todas as informações relacionadas a proxy.

O uso de largura de banda também pode ser controlado com as opções de work hour bandwidth e non-work hour bandwidth para um determinado conjunto de dias da semana.

A configuração dos detalhes de proxy e largura de banda é feita usando o Set-OBMachineSetting cmdlet:

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

Configurações de criptografia

Os dados de backup enviados para o Backup do Azure são criptografados para proteger a confidencialidade dos dados. A senha de criptografia é a "senha" para descriptografar os dados no momento da restauração.

Gere um PIN de segurança selecionando Gerar, em Configurações>Propriedades>PIN de segurança na seção Cofre dos Serviços de Recuperação do portal do Azure.

Observação

O PIN de segurança só pode ser gerado através do portal do Azure.

Depois, use-o como o generatedPIN no comando:

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

Importante

Depois de definir a frase secreta, mantenha as informações dela seguras e protegidas. Você não pode restaurar os dados do Azure sem essa frase secreta.

Fazer backup de arquivos e pastas

Todos os backups de Windows Servers e de clientes para o Backup do Azure são controlados por uma política. A política inclui três partes:

  • Um agendamento de backup que especifica quando backups precisam ser efetuados e sincronizados com o serviço.
  • Um cronograma de retenção que especifica quanto tempo deve-se manter os pontos de recuperação no Azure.
  • Uma especificação de inclusão/exclusão de arquivo que determina de que conteúdo deve-se realizar o backup.

Neste documento, já que estamos automatizando o backup, vamos pressupor que nada foi configurado. Começamos pela criação de uma nova política de backup usando o cmdlet New-OBPolicy .

$NewPolicy = New-OBPolicy

Neste momento, a política está vazia e outros cmdlets são necessários para definir quais itens serão incluídos ou excluídos, quando os backups serão executados e onde os backups serão armazenados.

Configurando o agendamento de backup

A primeira das três partes de uma política é o agendamento de backup, que é criado usando o cmdlet New-OBSchedule. O agendamento de backup define quando os backups precisam ser executados. Quando criar um agendamento, você precisa especificar dois parâmetros de entrada:

  • dias da semana nos quais o backup deve ser executado. Você pode executar o trabalho de backup em apenas um dia ou em todos os dias da semana, ou qualquer combinação entre essas opções.
  • horários do dia quando o backup deve ser executado. Você pode definir até três horários do dia diferentes para disparar o backup.

Por exemplo, você poderia configurar uma política de backup que é executada às 16h todo sábado e domingo.

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

O agendamento de backup deve ser associado a uma política, e isso pode ser realizado usando o 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

Configurando uma política de retenção

A política de retenção define por quanto tempo os pontos de recuperação criados por meio de trabalhos de backup são mantidos. Ao criar uma política de retenção usando o cmdlet New-OBRetentionPolicy, você pode especificar o número de dias durante os quais os pontos de recuperação de backup serão mantidos com o Backup do Azure. O exemplo a seguir define uma política de retenção de sete dias.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

A política de retenção deve ser associada à política principal usando o 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

Incluindo e excluindo arquivos destinados a backup

Um objeto OBFileSpec define os arquivos a serem incluídos e excluídos em um backup. Este é um conjunto de regras que definem o escopo dos arquivos e pastas protegidos em um computador. Você pode ter muitas regras de inclusão ou exclusão de arquivos conforme necessário e associá-las a uma política. Ao criar um novo objeto OBFileSpec, você pode:

  • Especificar os arquivos e pastas a serem incluídos
  • Especificar os arquivos e pastas a serem excluídos
  • Especificar o backup recursivo de dados em uma pasta ou o backup apenas dos arquivos de nível superior na pasta especificada.

A última opção é obtida usando o sinalizador -NonRecursive no comando New-OBFileSpec.

No exemplo a seguir, vamos fazer backup dos volumes C: e D: e excluir os binários do sistema operacional na pasta do Windows e em quaisquer pastas temporárias. Para isso, vamos criar duas especificações de arquivo usando o cmdlet New-OBFileSpec – uma para inclusão e outra para exclusão. Depois que as especificações de arquivo são criadas, elas são associadas à política usando o 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

Aplicando a política

Agora, o objeto de política está concluído e tem um agendamento de backup associado, política de retenção e uma lista de inclusão/exclusões de arquivos. Esta política agora pode ser confirmada para uso pelo Backup do Azure. Antes de aplicar a política recém-criada, verifique se não há nenhuma política de backup existente associada ao servidor, por meio do cmdlet Remove-OBPolicy . Remover a política gerará uma solicitação de confirmação. Para ignorar a confirmação, use o sinalizador -Confirm:$false com o cmdlet.

Observação

Ao executar o cmdlet se ele solicitar a definição de um PIN de segurança, consulte a seção Método 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"):

A confirmação do objeto de política é realizada usando o cmdlet Set-OBPolicy . Isso também gerará uma solicitação de confirmação. Para ignorar a confirmação, use o sinalizador -Confirm:$false com o 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

Você pode exibir os detalhes da política de backup existente usando o cmdlet Get-OBPolicy . Você pode fazer drill down ainda mais usando o cmdlet Get-OBSchedule para o agendamento de backup e o cmdlet Get-OBRetentionPolicy para as políticas de retenção

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

Realização de um backup sob demanda

Depois de definir uma política de backup, os backups ocorrerão de acordo com o agendamento. Disparar um backup sob demanda também é possível usando o 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.

Fazer backup do estado do sistema do Windows Server no agente do MARS

Esta seção aborda o comando do PowerShell para configurar o estado do sistema no agente do MARS

Agenda

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

Retenção

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

Configuração de agendamento e retenção

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

Verificação da política

Get-OBSystemStatePolicy

Restaurar dados por meio do Backup do Azure

Esta seção o orientará pelas etapas para automatizar a recuperação de dados por meio do Backup do Azure. Isso envolve as seguintes etapas:

  1. Selecionar o volume de origem
  2. Escolher um ponto de backup para restaurar
  3. Especifique um item para restaurar
  4. Disparar o processo de restauração

Selecionar o volume de fonte

Para restaurar um item do Backup do Azure, primeiramente, é necessário identificar a fonte do item. Como estamos executando os comandos no contexto de um Windows Server ou um cliente Windows, o computador já foi identificado. A próxima etapa para identificação da origem é identificar o volume que a contém. É possível recuperar uma lista de volumes ou fontes cujo backup está sendo executado neste computador pela execução do cmdlet Get-OBRecoverableSource . Esse comando retorna uma matriz de todas as fontes desse servidor/cliente cujo backup foi executado.

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

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

Escolhendo um ponto de backup do qual restaurar

Você recupera uma lista de pontos de backup ao executar o cmdlet Get-OBRecoverableItem com os parâmetros apropriados. Em nosso exemplo, escolheremos o último ponto de backup para o volume de origem C: e o usaremos para recuperar um arquivo específico.

$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 :

O objeto $Rps é uma matriz de pontos de backup. O primeiro elemento é o ponto mais recente e o enésimo elemento é o ponto mais antigo. Para escolher o último ponto, usaremos $Rps[0].

Especificação de um item para restauração

Para restaurar um arquivo específico, especifique o nome do arquivo relativo ao volume raiz. Por exemplo, para recuperar C:\Test\Cat.job, execute o comando a seguir.

$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

Disparando o processo de restauração

Para disparar o processo de restauração, primeiro precisamos especificar as opções de recuperação. Isso pode ser feito usando o cmdlet New-OBRecoveryOption . Para este exemplo, vamos supor que queremos restaurar os arquivos para C:\temp. Também vamos supor que queremos ignorar os arquivos que já existem na pasta de destino C:\temp. Para criar essa opção de recuperação, use o seguinte comando:

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

Agora dispare o processo de restauração usando o comando Start-OBRecovery no $Item selecionado na saída do 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.

Restauração Entre Regiões

A Restauração Entre Regiões (CRR) permite que o senhor restaure os dados de backup do MARS de uma região secundária, que é uma região emparelhada do Azure. Isso permite que você realize drills para auditoria e conformidade e recupere dados durante a indisponibilidade da região primária no Azure no caso de um desastre.

Restauração original do servidor

Se você estiver executando a restauração para o servidor original da região secundária (Restauração entre Regiões), use o sinalizador UseSecondaryRegion ao obter o OBRecoverableSource objeto.

$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

Restauração de servidor alternativa

Se você estiver executando a restauração para um servidor alternativo da região secundária (Restauração entre Regiões), baixe o arquivo de credencial do cofre da região secundária do portal do Azure e passe a credencial do cofre da região secundária para restauração.

$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 

Desinstalar o Azure Backup Agent

A desinstalação do agente de Backup do Azure pode ser feita usando o seguinte comando:

.\MARSAgentInstaller.exe /d /q

Antes de desinstalar os binários do agente do computador, é necessário considerar algumas consequências:

  • A desinstalação remove o filtro de arquivo do computador e interrompe o acompanhamento de alterações.
  • Todas as informações de política são removidas do computador, mas as informações de política continuam sendo armazenadas no serviço.
  • Todos os agendamentos de backup são removidos e nenhum backup posterior é realizado.

No entanto, os dados armazenados no Azure permanecerão e serão mantidos de acordo com a política de retenção que você configurou. Os pontos mais antigos são desatualizados automaticamente.

Gerenciamento remoto

Todo o gerenciamento relacionado ao agente, às políticas e às fontes de dados do Backup do Azure pode ser feito remotamente por meio do PowerShell. A máquina que será gerenciada remotamente precisa ser preparada corretamente.

Por padrão, o serviço WinRM é configurado para inicialização manual. O tipo de inicialização deve ser definido como Automático e o serviço deve ser iniciado. Para verificar se o serviço WinRM está em execução, o valor da propriedade Status deve ser Em execução.

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

O PowerShell deve ser configurado remotamente.

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

O computador agora pode ser gerenciado remotamente - começando na instalação do agente. Por exemplo, o script a seguir copia o agente para o computador remoto e o instala.

$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

Próximas etapas

Para obter mais informações sobre o Backup do Azure para Windows Server/Client: