Distribuera och hantera säkerhetskopiering till Azure för Windows Server/Windows-klient med hjälp av PowerShell

Den här artikeln visar hur du använder PowerShell för att konfigurera Azure Backup på Windows Server eller en Windows-klient och hantera säkerhetskopiering och återställning.

Installera Azure PowerShell

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Kom igång genom att installera den senaste PowerShell-versionen.

Skapa ett Recovery Services-valv

Följande steg leder dig genom att skapa ett Recovery Services-valv. Ett Recovery Services-valv skiljer sig från ett Backup-valv.

  1. Om du använder Azure Backup för första gången måste du använda cmdleten Register-AzResourceProvider för att registrera Azure Recovery Service-providern med din prenumeration.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Recovery Services-valvet är en Azure Resource Manager-resurs, så du måste placera det i en resursgrupp. Du kan använda en befintlig resursgrupp eller skapa en ny. När du skapar en ny resursgrupp anger du namnet och platsen för resursgruppen.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Använd cmdleten New-AzRecoveryServicesVault för att skapa det nya valvet. Se till att ange samma plats för valvet som användes för resursgruppen.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Ange vilken typ av lagringsredundans som ska användas. Du kan använda lokalt redundant lagring (LRS), geo-redundant lagring (GRS) eller zonredundant lagring (ZRS). I följande exempel visas alternativet -BackupStorageRedundancy för testVault inställt på GeoRedundant.

    Dricks

    Många Azure Backup-cmdletar kräver Recovery Services-valvobjekt som indata. Därför är det praktiskt att lagra Backup Recovery Services-valvobjektet i en variabel.

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

Visa valven i en prenumeration

Använd Get-AzRecoveryServicesVault för att visa listan över alla valv i den aktuella prenumerationen. Du kan använda det här kommandot för att kontrollera att ett nytt valv har skapats eller för att se vilka valv som är tillgängliga i prenumerationen.

Kör kommandot Get-AzRecoveryServicesVault och alla valv i prenumerationen visas.

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

Uppgradera MARS-agenten

Versioner av MARS-agenten (Microsoft Azure Recovery Services) under 2.0.9083.0 har ett beroende av Azure Access Control-tjänsten. MARS-agenten kallas även Azure Backup-agenten.

Under 2018 inaktuelle Microsoft Azure Access Control-tjänsten. Från och med den 19 mars 2018 uppstår säkerhetskopieringsfel i alla versioner av MARS-agenten under 2.0.9083.0. Om du vill undvika eller lösa säkerhetskopieringsfel uppgraderar du MARS-agenten till den senaste versionen. Följ stegen i Uppgradera MARS-agenten (Microsoft Azure Recovery Services) för att identifiera servrar som kräver en MARS-agentuppgradering.

MARS-agenten används för att säkerhetskopiera filer och mappar och systemtillståndsdata till Azure. System Center DPM och Azure Backup Server använder MARS-agenten för att säkerhetskopiera data till Azure.

Installera Azure Backup-agenten

Innan du installerar Azure Backup-agenten måste installationsprogrammet laddas ned och finnas på Windows Server. Du kan hämta den senaste versionen av installationsprogrammet från Microsoft Download Center eller från sidan Instrumentpanel för Recovery Services-valvet. Spara installationsprogrammet på en lättillgänglig plats som C:\Downloads\*.

Du kan också använda PowerShell för att hämta nedladdningen:

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

Installera agenten genom att köra följande kommando i en upphöjd PowerShell-konsol:

MARSAgentInstaller.exe /q

Detta installerar agenten med alla standardalternativ. Installationen tar några minuter i bakgrunden. Om du inte anger alternativet /nu öppnas Windows Update-fönstret i slutet av installationen för att söka efter uppdateringar. När agenten har installerats visas den i listan över installerade program.

Om du vill se listan över installerade program går du till Kontrollpanelen> Programprogram>och funktioner.

Agent installed

Installationsalternativ

Om du vill se alla tillgängliga alternativ via kommandoraden använder du följande kommando:

MARSAgentInstaller.exe /?

Bland de tillgängliga alternativen finns:

Option Details Standardvärde
/q Tyst installation -
/p:"location" Sökväg till installationsmappen för Azure Backup-agenten. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"location" Sökväg till cachemappen för Azure Backup-agenten. C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m Anmäl dig till Microsoft Update -
/nu Sök inte efter uppdateringar när installationen är klar -
/d Avinstallerar Microsoft Azure Recovery Services-agenten -
/Ph Proxyvärdadress -
/Po Portnummer för proxyvärd -
/Pu Proxyvärdanvändarnamn -
/Pw Proxylösenord -

Registrera Windows Server- eller Windows-klientdatorn till ett Recovery Services-valv

När du har skapat Recovery Services-valvet laddar du ned den senaste agenten och autentiseringsuppgifterna för valvet och lagrar det på en lämplig plats som C:\Downloads.

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

Registrera dig med PowerShell Az-modulen

Kommentar

En bugg med generering av valvcertifikat har åtgärdats i Az 3.5.0-versionen. Använd versionen Az 3.5.0 eller senare för att ladda ned ett valvcertifikat.

I den senaste Az-modulen i PowerShell kräver nedladdning av valvets autentiseringsuppgifter ett självsignerat certifikat på grund av underliggande plattformsbegränsningar. I följande exempel visas hur du anger ett självsignerat certifikat och laddar ned autentiseringsuppgifterna för valvet.

$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

På Windows Server- eller Windows-klientdatorn kör du cmdleten Start-OBRegistration för att registrera datorn med valvet. Detta, och andra cmdletar som används för säkerhetskopiering, kommer från MSONLINE-modulen, som MARS AgentInstaller lade till som en del av installationsprocessen.

Installationsprogrammet för agenten uppdaterar inte variabeln $Env:PSModulePath. Det innebär att modulens automatiska inläsning misslyckas. Du kan lösa detta genom att göra följande:

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

Du kan också läsa in modulen manuellt i skriptet på följande sätt:

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

När du har läst in cmdletarna onlinesäkerhetskopiering registrerar du autentiseringsuppgifterna för valvet:

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

Viktigt!

Använd inte relativa sökvägar för att ange filen med valvautentiseringsuppgifter. Du måste ange en absolut sökväg som indata till cmdleten.

Nätverksinställningar

När Anslutningen för Windows-datorn till Internet sker via en proxyserver kan proxyinställningarna också anges till agenten. I det här exemplet finns det ingen proxyserver, så vi rensar uttryckligen all proxyrelaterad information.

Bandbreddsanvändningen kan också styras med alternativen work hour bandwidth för och non-work hour bandwidth för en viss uppsättning dagar i veckan.

Inställningen av proxy- och bandbreddsinformationen görs med hjälp av cmdleten Set-OBMachineSetting :

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

Krypteringsinställningar

Säkerhetskopieringsdata som skickas till Azure Backup krypteras för att skydda datasekretessen. Krypteringslösenfrasen är "lösenordet" för att dekryptera data vid tidpunkten för återställningen.

Du måste generera en säkerhetsstift genom att välja Generera under Inställningar> Egenskaper>säkerhets-PIN iavsnittet Recovery Services-valv i Azure-portalen.

Kommentar

Säkerhets-PIN-koden kan bara genereras via Azure-portalen.

Använd sedan detta som generatedPIN i kommandot:

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

Viktigt!

Håll lösenfrasens information säker och säker när den har angetts. Du kan inte återställa data från Azure utan den här lösenfrasen.

Säkerhetskopiera filer och mappar

Alla säkerhetskopior från Windows-servrar och -klienter till Azure Backup styrs av en princip. Principen innehåller tre delar:

  • Ett schema för säkerhetskopiering som anger när säkerhetskopior behöver göras och synkroniseras med tjänsten.
  • Ett kvarhållningsschema som anger hur länge återställningspunkterna ska behållas i Azure.
  • En filinkluderings-/exkluderingsspecifikation som avgör vad som ska säkerhetskopieras.

Eftersom vi automatiserar säkerhetskopieringen i det här dokumentet förutsätter vi att ingenting har konfigurerats. Vi börjar med att skapa en ny säkerhetskopieringsprincip med hjälp av cmdleten New-OBPolicy .

$NewPolicy = New-OBPolicy

För närvarande är principen tom och andra cmdletar behövs för att definiera vilka objekt som ska inkluderas eller undantas, när säkerhetskopior ska köras och var säkerhetskopiorna ska lagras.

Konfigurera säkerhetskopieringsschemat

Den första av de tre delarna i en princip är säkerhetskopieringsschemat, som skapas med cmdleten New-OBSchedule . Schemat för säkerhetskopiering definierar när säkerhetskopior behöver göras. När du skapar ett schema måste du ange två indataparametrar:

  • Dagar i veckan som säkerhetskopieringen ska köras. Du kan köra säkerhetskopieringsjobbet på bara en dag, varje dag i veckan eller någon kombination däremellan.
  • Tider på dagen då säkerhetskopieringen ska köras. Du kan definiera upp till tre olika tider på dagen när säkerhetskopieringen utlöses.

Du kan till exempel konfigurera en säkerhetskopieringsprincip som körs kl. 16.00 varje lördag och söndag.

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

Schemat för säkerhetskopiering måste associeras med en princip, och detta kan uppnås med hjälp av cmdleten 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

Konfigurera en kvarhållningsprincip

Kvarhållningsprincipen definierar hur länge återställningspunkter som skapats från säkerhetskopieringsjobb behålls. När du skapar en ny kvarhållningsprincip med cmdleten New-OBRetentionPolicy kan du ange hur många dagar säkerhetskopieringsåterställningspunkterna ska behållas med Azure Backup. Exemplet nedan anger en kvarhållningsprincip på sju dagar.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

Kvarhållningsprincipen måste associeras med huvudprincipen med hjälp av cmdleten 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

Inkludera och exkluderas filer som ska säkerhetskopieras

Ett OBFileSpec objekt definierar vilka filer som ska inkluderas och exkluderas i en säkerhetskopia. Det här är en uppsättning regler som omfattar skyddade filer och mappar på en dator. Du kan ha så många filinkluderings- eller exkluderingsregler som krävs och associera dem med en princip. När du skapar ett nytt OBFileSpec-objekt kan du:

  • Ange vilka filer och mappar som ska inkluderas
  • Ange vilka filer och mappar som ska undantas
  • Ange rekursiv säkerhetskopiering av data i en mapp (eller) om endast de översta filerna i den angivna mappen ska säkerhetskopieras.

Det senare uppnås med flaggan -NonRecursive i kommandot New-OBFileSpec.

I exemplet nedan säkerhetskopierar vi volym C: och D: och exkluderar OS-binärfilerna i Windows-mappen och eventuella tillfälliga mappar. För att göra det skapar vi två filspecifikationer med cmdleten New-OBFileSpec – en för inkludering och en för uteslutning. När filspecifikationerna har skapats associeras de med principen med hjälp av cmdleten 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

Tillämpa principen

Nu är principobjektet klart och har ett associerat schema för säkerhetskopiering, kvarhållningsprincip och en inkluderings-/exkluderingslista med filer. Den här principen kan nu användas för Azure Backup. Innan du tillämpar den nyligen skapade principen kontrollerar du att det inte finns några befintliga säkerhetskopieringsprinciper som är associerade med servern med hjälp av cmdleten Remove-OBPolicy . Om du tar bort principen uppmanas du att bekräfta. Om du vill hoppa över bekräftelsen använder du -Confirm:$false flaggan med cmdleten.

Kommentar

När du kör cmdleten om den uppmanas att ange en PIN-kod för säkerhet läser du avsnittet Metod 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"):

Incheckning av principobjektet görs med hjälp av cmdleten Set-OBPolicy . Detta kommer också att be om bekräftelse. Om du vill hoppa över bekräftelsen använder du -Confirm:$false flaggan med cmdleten.

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

Du kan visa information om den befintliga säkerhetskopieringsprincipen med hjälp av cmdleten Get-OBPolicy . Du kan öka detaljnivån ytterligare med cmdleten Get-OBSchedule för säkerhetskopieringsschemat och cmdleten Get-OBRetentionPolicy för kvarhållningsprinciperna

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

Utföra en säkerhetskopiering på begäran

När en säkerhetskopieringsprincip har angetts sker säkerhetskopiorna enligt schemat. Det går också att utlösa en säkerhetskopiering på begäran med hjälp av cmdleten 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.

Säkerhetskopiera Windows Server System State i MARS-agenten

Det här avsnittet beskriver PowerShell-kommandot för att konfigurera systemtillstånd i MARS-agenten

Schemalägg

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

Kvarhållning

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

Konfigurera schema och kvarhållning

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

Verifiera principen

Get-OBSystemStatePolicy

Återställa data från Azure Backup

Det här avsnittet vägleder dig genom stegen för att automatisera återställningen av data från Azure Backup. Det innebär följande steg:

  1. Välj källvolymen
  2. Välj en säkerhetskopieringsplats att återställa
  3. Ange ett objekt som ska återställas
  4. Utlös återställningsprocessen

Välja källvolymen

Om du vill återställa ett objekt från Azure Backup måste du först identifiera objektets källa. Eftersom vi kör kommandona i kontexten för en Windows Server- eller Windows-klient är datorn redan identifierad. Nästa steg i att identifiera källan är att identifiera volymen som innehåller den. En lista över volymer eller källor som säkerhetskopieras från den här datorn kan hämtas genom att köra cmdleten Get-OBRecoverableSource . Det här kommandot returnerar en matris med alla källor som säkerhetskopieras från den här servern/klienten.

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

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

Välja en säkerhetskopieringsplats som du vill återställa från

Du hämtar en lista över säkerhetskopieringspunkter genom att köra cmdleten Get-OBRecoverableItem med lämpliga parametrar. I vårt exempel väljer vi den senaste säkerhetskopieringspunkten för källvolymen C: och använder den för att återställa en specifik fil.

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

Objektet $Rps är en matris med säkerhetskopieringspunkter. Det första elementet är den senaste punkten och Nth-elementet är den äldsta punkten. För att välja den senaste punkten använder $Rps[0]vi .

Ange ett objekt som ska återställas

Om du vill återställa en specifik fil anger du filnamnet i förhållande till rotvolymen. Om du till exempel vill hämta C:\Test\Cat.job kör du följande kommando.

$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

Utlöser återställningsprocessen

För att utlösa återställningsprocessen måste vi först ange återställningsalternativen. Detta kan göras med hjälp av cmdleten New-OBRecoveryOption . I det här exemplet antar vi att vi vill återställa filerna till C:\temp. Vi antar också att vi vill hoppa över filer som redan finns i målmappen C:\temp. Om du vill skapa ett sådant återställningsalternativ använder du följande kommando:

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

Utlös nu återställningsprocessen med hjälp av kommandot Start-OBRecovery på den valda $Item från cmdletens Get-OBRecoverableItem utdata:

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.

Återställning mellan regioner

Med återställning mellan regioner (CRR) kan du återställa MARS-säkerhetskopieringsdata från en sekundär region, som är en Länkad Azure-region. På så sätt kan du utföra detaljgranskningar för granskning och efterlevnad och återställa data under otillgängligheten för den primära regionen i Azure i händelse av en katastrof.

Ursprunglig serveråterställning

Om du utför återställning för den ursprungliga servern från den sekundära regionen (återställning mellan regioner) använder du flaggan UseSecondaryRegion när du OBRecoverableSource hämtar objektet.

$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

Alternativ serveråterställning

Om du utför återställning för en alternativ server från den sekundära regionen (återställning mellan regioner) laddar du ned autentiseringsfilen för det sekundära regionvalvet från Azure-portalen och skickar autentiseringsuppgiften för det sekundära regionvalvet för återställning.

$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 

Avinstallera Azure Backup-agenten

Du kan avinstallera Azure Backup-agenten med hjälp av följande kommando:

.\MARSAgentInstaller.exe /d /q

Att avinstallera agentens binärfiler från datorn har vissa konsekvenser att tänka på:

  • Det tar bort filfiltret från datorn och spårningen av ändringar stoppas.
  • All principinformation tas bort från datorn, men principinformationen fortsätter att lagras i tjänsten.
  • Alla säkerhetskopieringsscheman tas bort och inga ytterligare säkerhetskopieringar görs.

De data som lagras i Azure finns dock kvar och behålls enligt konfigurationen av kvarhållningsprincipen av dig. Äldre punkter blir automatiskt föråldrade.

Fjärrhantering

All hantering kring Azure Backup-agenten, principer och datakällor kan fjärrhanteras via PowerShell. Den dator som ska hanteras via fjärranslutning måste förberedas korrekt.

Som standard konfigureras WinRM-tjänsten för manuell start. Starttypen måste vara inställd på Automatisk och tjänsten ska startas. För att verifiera att WinRM-tjänsten körs ska värdet för egenskapen Status vara Körs.

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

PowerShell bör konfigureras för fjärrkommunikation.

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

Datorn kan nu fjärrhanteras – från och med installationen av agenten. Följande skript kopierar till exempel agenten till fjärrdatorn och installerar den.

$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

Nästa steg

Mer information om Azure Backup för Windows Server/Klient: