​Nesse pequeno artigo vamos mostrar como efetuar a remoção de um servidor já registrado com o Hyper-V Azure Site Recovery. Essa situação pode ser encontrada em uma reconfiguração do seu Host físico para um novo Site Hyper-V dentro do Azure. Vamos ver na prática como funciona esse processo e sua resolução.

Ao instalação o agente de comunicação com o Microsoft Azure, tudo parece estar indo bem, como mostramos na imagem abaixo:



Mas logo recebemos a informação que esse servidor físico já está registrado em nossa conta do Microsoft Azure. Ao clicar em concluir para efetuar um novo registro, o agente recebe um "Crash" e não conseguimos selecionar no chave "Vault" para um novo registro.



Para resolver esse problema, devemos rodar o seguinte comando via PowerShell para remover todos os registros existente. 

MUITO IMPORTANTE: ANTES DE RODAR ESSE COMANDO, ESTEJA CIENTE QUE ISSO IRÁ REMOVER TODO REGISTRO DO SERVIDOR ATUAL COM O MICROSOFT AZURE. ESTEJA SEGURO QUE REALMENTE NÃO EXISTE NENHUMA VM REPLICADA, POIS O SERVIDOR FÍSICOS SERÁ 100% REMOVIDO.

Com a confirmação que realmente deseja remover o servidor atual e efetuar novamente o seu registro, rode o comando abaixo:

pushd .

  try

  {

   $windowsIdentity=[System.Security.Principal.WindowsIdentity]::GetCurrent()

   $principal=new-object System.Security.Principal.WindowsPrincipal($windowsIdentity)

   $administrators=[System.Security.Principal.WindowsBuiltInRole]::Administrator

   $isAdmin=$principal.IsInRole($administrators)

   if (!$isAdmin)

   {

    "Please run the script as an administrator in elevated mode."

    $choice = Read-Host

    return;

   }

 

   $error.Clear()

   "This script will remove the old Azure Site Recovery Provider related properties. Do you want to continue (Y/N) ?"

   $choice = Read-Host

 

   if (!($choice -eq 'Y' -or $choice -eq 'y'))

   {

   "Stopping cleanup."

   return;

   }

 

   $serviceName = "dra"

   $service = Get-Service -Name $serviceName

   if ($service.Status -eq "Running")

   {

    "Stopping the Azure Site Recovery service..."

    net stop $serviceName

   }

 

   $asrHivePath = "HKLM:\SOFTWARE\Microsoft\Azure Site Recovery"

   $registrationPath = $asrHivePath + '\Registration'

   $proxySettingsPath = $asrHivePath + '\ProxySettings'

   $draIdvalue = 'DraID'

   $idMgmtCloudContainerId='IdMgmtCloudContainerId'

 

 

   if (Test-Path $asrHivePath)

   {

    if (Test-Path $registrationPath)

    {

     "Removing registration related registry keys."

     Remove-Item -Recurse -Path $registrationPath

    }

 

    if (Test-Path $proxySettingsPath)

    {

     "Removing proxy settings"

     Remove-Item -Recurse -Path $proxySettingsPath

    }

 

    $regNode = Get-ItemProperty -Path $asrHivePath

    if($regNode.DraID -ne $null)

    {

     "Removing DraId"

     Remove-ItemProperty -Path $asrHivePath -Name $draIdValue

    }

    if($regNode.IdMgmtCloudContainerId -ne $null)

    {

     "Removing IdMgmtCloudContainerId"

     Remove-ItemProperty -Path $asrHivePath -Name $idMgmtCloudContainerId

    }

    "Registry keys removed."

   }

 

   # First retrieve all the certificates to be deleted

   $ASRcerts = Get-ChildItem -Path cert:\localmachine\my | where-object {$_.friendlyname.startswith('ASR_SRSAUTH_CERT_KEY_CONTAINER') -or $_.friendlyname.startswith('ASR_HYPER_V_HOST_CERT_KEY_CONTAINER')}

   # Open a cert store object

   $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine")

   $store.Open('ReadWrite')

   # Delete the certs

   "Removing all related certificates"

   foreach ($cert in $ASRcerts)

   {

    $store.Remove($cert)

   }

  }catch

  {

   [system.exception]

   Write-Host "Error occurred" -ForegroundColor "Red"

   $error[0]

   Write-Host "FAILED" -ForegroundColor "Red"

  }

  popd



Como segunda alternativa, você poderá remover a chave de registro no seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure Site Recovery\Registration


Pronto! O seu servidor estará limpo e pronto para receber sua chave Vault para um novo registro.



Esperamos que essa pequena dica ajude a todos os administradores e profissionais que utilizam os produtos de nuvem Microsoft.