Implementar e gerir cópias de segurança para o Azure para o Windows Server/cliente Windows com o PowerShell

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

Instalar o Azure PowerShell

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja 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 orientam você na 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ê estiver usando o Backup do Azure pela primeira vez, deverá usar o cmdlet Register-AzResourceProvider para registrar o provedor do Serviço de Recuperação do Azure com sua assinatura.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. O cofre dos Serviços de Recuperação é um recurso do Azure Resource Manager, 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 do grupo de recursos.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Use o cmdlet New-AzRecoveryServicesVault para criar o novo cofre. Certifique-se de especificar o mesmo local para o cofre que foi 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 ser usado. Você pode usar o Armazenamento Localmente Redundante (LRS), o Armazenamento com Redundância Geográfica (GRS) ou o Armazenamento com Redundância de Zona (ZRS). O exemplo a seguir mostra a opção -BackupStorageRedundancy para testVault definida como GeoRedundant.

    Gorjeta

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

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

Ver os cofres numa subscrição

Use Get-AzRecoveryServicesVault para exibir a lista de todos os cofres na 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 sã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

Atualizar o Agente MARS

As versões do Agente dos Serviços de Recuperação do Microsoft Azure (MARS) abaixo de 2.0.9083.0 têm uma dependência do serviço de Controle de Acesso do Azure. O Agente MARS também é conhecido como Agente de Backup do Azure.

Em 2018, a Microsoft substituiu 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 de 2.0.9083.0 sofrerão falhas de backup. Para evitar ou resolver falhas de backup, atualize seu agente MARS para a versão mais recente. Para identificar servidores que exigem uma atualização do Agente MARS, siga as etapas em Atualizar o agente dos Serviços de Recuperação do Microsoft Azure (MARS).

O Agente MARS é usado para fazer backup de arquivos e pastas e dados de estado do sistema no Azure. O System Center DPM 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 e presente no Windows Server. Você pode obter a versão mais recente 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 um local facilmente acessível 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 seguinte comando em um console do PowerShell com privilégios elevados:

MARSAgentInstaller.exe /q

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

Para ver a lista de programas instalados, vá para Programas e Recursos do Painel de Controle>>.

Agent installed

Opções de instalação

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

MARSAgentInstaller.exe /?

As opções disponíveis incluem:

Opção Details Predefinido
/q Instalação silenciosa -
/p:"localização" Caminho para a pasta de instalação do agente de Backup do Azure. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"localização" Caminho para a pasta de cache do agente de Backup do Azure. C:\Arquivos de Programas\Microsoft Azure Recovery Services Agent\Scratch
/m Aderir ao Microsoft Update -
/nu Não verifique se há atualizações após a conclusão da instalação -
/d Desinstala o Agente de Serviços de Recuperação do Microsoft Azure -
/ph Endereço do host proxy -
/po Número da porta do host proxy -
/pu Nome de usuário do host proxy -
/pw Senha do proxy -

Registrando o Windows Server ou a máquina cliente Windows em um cofre dos Serviços de Recuperação

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

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

Registre-se usando o módulo Az do PowerShell

Nota

Um bug com a geração do certificado do vault 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 do vault.

No módulo Az mais recente do PowerShell, devido às limitações da plataforma subjacente, 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

Na máquina cliente Windows Server ou Windows, execute o cmdlet Start-OBRegistration para registrar a máquina no cofre. Este e outros cmdlets usados para backup são do módulo MSONLINE, que o MARS AgentInstaller adicionou como parte do processo de instalação.

O instalador do Agent não atualiza a variável $Env:PSModulePath. Isso significa que o carregamento automático do módulo falha. Para resolver isso, 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 Online Backup, 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 uma entrada para o cmdlet.

Configurações de rede

Quando a conectividade da máquina Windows com a Internet é através de um servidor proxy, as configurações de proxy também podem ser fornecidas ao agente. Neste exemplo, não há servidor proxy, portanto, estamos limpando explicitamente qualquer informação relacionada ao proxy.

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

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

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.

Você deve gerar um pino 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.

Nota

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

Em seguida, use isso como no generatedPIN comando:

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

Importante

Mantenha as informações da frase secreta seguras depois de definidas. Não é possível restaurar dados do Azure sem esta frase secreta.

Fazer uma cópia de segurança de ficheiros e pastas

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

  • Um agendamento de backup que especifica quando os backups precisam ser feitos e sincronizados com o serviço.
  • Uma agenda de retenção que especifica por quanto tempo reter os pontos de recuperação no Azure.
  • Uma especificação de inclusão/exclusão de arquivo que dita o que deve ser feito backup.

Neste documento, como estamos automatizando o backup, assumiremos que nada foi configurado. Começamos criando uma nova política de backup usando o cmdlet New-OBPolicy .

$NewPolicy = New-OBPolicy

No 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 é a agenda de backup, que é criada usando o cmdlet New-OBSchedule . O agendamento de backup define quando os backups precisam ser feitos. Ao criar uma agenda, você precisa especificar dois parâmetros de entrada:

  • Dias da semana em que o backup deve ser executado. Você pode executar o trabalho de backup em apenas um dia, ou todos os dias da semana, ou qualquer combinação entre eles.
  • Horários do dia em que o backup deve ser executado. Você pode definir até três momentos diferentes do dia em que o backup será acionado.

Por exemplo, você pode configurar uma política de backup que seja executada às 16h todos os sábados e domingos.

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

O agendamento de backup precisa ser associado a uma política, e isso pode ser feito 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 a partir de trabalhos de backup são mantidos. Ao criar uma nova política de retenção usando o cmdlet New-OBRetentionPolicy, você pode especificar o número de dias em que os pontos de recuperação de backup serão retidos com o Backup do Azure. O exemplo abaixo 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 para backup

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

  • Especificar os ficheiros e pastas a incluir
  • Especificar os ficheiros e pastas a excluir
  • Especifique o backup recursivo de dados em uma pasta (ou) se apenas os arquivos de nível superior na pasta especificada devem ser copiados.

Este último é obtido usando o sinalizador -NonRecursive no comando New-OBFileSpec.

No exemplo abaixo, faremos backup dos volumes C: e D: e excluiremos os binários do sistema operacional na pasta Windows e quaisquer pastas temporárias. Para fazer isso, criaremos duas especificações de arquivo usando o cmdlet New-OBFileSpec - uma para inclusão e outra para exclusão. Depois que as especificações do arquivo forem criadas, elas serã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

Aplicação da política

Agora, o objeto de política está completo e tem um agendamento de backup associado, uma política de retenção e uma lista de inclusão/exclusão de arquivos. Essa política agora pode ser confirmada para o Backup do Azure usar. Antes de aplicar a política recém-criada, verifique se não há políticas de backup existentes associadas ao servidor usando o cmdlet Remove-OBPolicy . A remoção da política solicitará a confirmação. Para ignorar a confirmação, use o sinalizador com o -Confirm:$false cmdlet.

Nota

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 é feita usando o cmdlet Set-OBPolicy . Isso também solicitará confirmação. Para ignorar a confirmação, use o sinalizador com o -Confirm:$false 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 mais detalhamento 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

Executando um backup sob demanda

Uma vez definida uma política de backup, os backups ocorrerão de acordo com o agendamento. Também é possível acionar um backup sob demanda 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 Windows Server no agente MARS

Esta seção aborda o comando do PowerShell para configurar o Estado do Sistema no agente 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

Configurando o agendamento e a 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 do Backup do Azure

Esta seção irá guiá-lo pelas etapas para automatizar a recuperação de dados do Backup do Azure. Isso envolve as seguintes etapas:

  1. Escolha o volume de origem
  2. Escolha um ponto de backup para restaurar
  3. Especificar um item a ser restaurado
  4. Acionar o processo de restauração

Escolhendo o volume de origem

Para restaurar um item do Backup do Azure, primeiro você precisa identificar a origem do item. Como estamos executando os comandos no contexto de um Windows Server ou de um cliente Windows, a máquina já está identificada. O próximo passo para identificar a fonte é identificar o volume que a contém. Uma lista de volumes ou fontes cujo backup está sendo feito a partir dessa máquina pode ser recuperada executando o cmdlet Get-OBRecoverableSource . Este comando retorna uma matriz de todas as fontes de backup deste servidor/cliente.

$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 a partir do qual restaurar

Você recupera uma lista de pontos de backup executando o cmdlet Get-OBRecoverableItem com parâmetros apropriados. Em nosso exemplo, escolheremos o ponto de backup mais recente 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 nono elemento é o ponto mais antigo. Para escolher o ponto mais recente, usaremos $Rps[0]o .

Especificando um item a ser restaurado

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 seguinte 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

Acionando o processo de restauração

Para acionar 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. Vamos também supor que queremos ignorar 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 acione o processo de restauração usando o comando Start-OBRecovery na saída selecionada $Item do Get-OBRecoverableItem cmdlet:

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.

Restauro Entre Regiões

A CRR (Cross Region Restore) permite restaurar dados de backup do MARS de uma região secundária, que é uma região emparelhada do Azure. Isso permite que você realize exercícios para auditoria e conformidade e recupere dados durante a indisponibilidade da região principal no Azure no caso de um desastre.

Restauração do servidor original

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 alternativa do servidor

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 credenciais 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 agente de Backup do Azure

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

.\MARSAgentInstaller.exe /d /q

A desinstalação dos binários do agente da máquina tem algumas consequências a considerar:

  • Ele remove o filtro de arquivos da máquina e o controle das alterações é interrompido.
  • Todas as informações de política são removidas da máquina, mas as informações de política continuam a ser armazenadas no serviço.
  • Todas as agendas de backup são removidas e nenhum outro backup é feito.

No entanto, os dados armazenados no Azure permanecem e são retidos de acordo com a política de retenção configurada por você. Os pontos mais antigos são automaticamente envelhecidos.

Gestão remota

Todo o gerenciamento em torno do agente, das políticas e das fontes de dados do Backup do Azure pode ser feito remotamente por meio do PowerShell. A máquina que será gerenciada remotamente precisa estar 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 Running.

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

O PowerShell deve ser configurado para comunicação 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

A máquina agora pode ser gerenciada remotamente - a partir da instalação do agente. Por exemplo, o script a seguir copia o agente para a máquina remota 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óximos passos

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