Windows-Server-Backup mit Powershell

Windows-Server-Backup mit Powershell

Ich möchte die Sicherungen nach Abschluss testen, indem ich bestätige, dass ich eine Sentinel-Datei wiederherstellen kann.

Wir alle wissen, dass eine häufige Sicherung und eine spätere Speicherung in einer anderen Umgebung zusätzliche Sicherheit bietet. Zu diesem Zweck speichert unser Sicherungsspeicherserver mit dem Namen Vaultmehrere zusätzliche Kopien unserer täglichen Sicherungen.

Beispielcode testen:

$Backup  = '\\localhost\d$\Vault\One'
$ex      =""
try{
    # I have no clue how to get the servers from Get-WBBackupSet, so, resort to parsing the error
    # Get-WBBackupSet error response when multiple backups are stored:
    #Backups of multiple computers are in the backup storage location. The computers for which backups are present are:
    #bdc iis myblue quickbooks sqlserver <redacted> .
    #Please specify the computer that you want to manage backups for.

    $servers=@{}
    Get-WBBackupSet -BackupTarget $BackupTarget
  } catch {
    $m=($_ -split "`r`n")[0]
    $ix=$m.IndexOf(":")
    $l=$m.Substring($ix+1)
    $ix=$l.IndexOf(" . ")
    $Servers=$($l.Substring(0,$ix).split(" "))|? {$_ -ne ''} }

    $servers | %{
      $BackupSet = Get-WBBackupSet -BackupTarget $BackupTarget -MachineName $_
      Write-host "  $("$_".PadRight(12))$($($BackupSet.BackupTime).ToString("yyyy-MM-dd hh:mm tt ddd"))"
      $BackupSet.Volume | ? { $_.MountPath -ne '' } | % {
        $V=$_
        Write-Host $($v.VolumeLabel.PadRight(12)) $($v.MountPath.PadRight(6)) " `
          "$(($_.FreeSpace/1GB).tostring("n2").PadLeft(8))Gb  $(($_.TotalSpace/1GB).ToString("n2").PadLeft(8))Gb "

        Get-WBBackupVolumeBrowsePath   -VolumeInBackup $_ -BackupSet $BackupSet
      }
  }

Get-WBBackupVolumeBrowsePathIch kann eine bekannte Sentinel-Datei, die auf jedem Datenträger gespeichert ist, nicht wiederherstellen:

"\\localhost\d$\Vault\One"
  admin        2020-03-13 07:00 PM Fri
                  C:         21.38GB     59.46GB

Get-WBBackupVolumeBrowsePath : an attempt to retrieve the properties for the backup set
                               failed because the backup set is not in the catalog.

at "C:\Repos\PowerShell\BackupStatus.ps1":... char:13
+             Get-WBBackupVolumeBrowsePath   -VolumeInBackup $_ -Backup ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-WBBackupVolumeBrowsePath], Exception
    + FullyQualifiedErrorId : System.Exception,Microsoft.Windows.ServerBackup.Commands.GetWBBackupVolumeBrowsePath

Wo oder wie kann ich auf einen Katalog verweisen? Mit WBbackupkann ich eine einzelne Datei öffnen und abrufen Vault, aber ich muss die Backups von etwa 25 Servern überprüfen!!!

Antwort1

Get-BackupSetvon selbst werden alle Backup-Sets in Ihrem Systemkatalog zurückgegeben. Sie sollten in der Lage sein, jedes davon zu verwenden, aber Get-WBBackupVolumeBrowsePathes scheinterfordernEin Sicherungssatz muss sich in Ihrem Systemkatalog befinden (und nicht in einem anderen Pfad), damit Sie ihn interaktiv mounten können, was im Hintergrund geschieht.

Sie können eine Datei direkt und ohne nachzudenken wiederherstellen WBBackupVolumeBrowsePathund die Wiederherstellung auf Fehler überprüfen:

Start-WBFileRecovery -BackupSet $BackupSet -FilePathToRecover "C:\Dir1" -Recursive -FileRecoveryOption CreateCopyIfExists -Force

verwandte Informationen