Windows Server 2025 / Ripristinare file da Windows Server Backup

Per recuperare un file con Windows Server Backup, scelga la versione e l'elemento corretti e ripristini prima in una cartella separata. Confronti contenuto, hash e autorizzazioni prima di sostituire il file in uso: una sovrascrittura immediata potrebbe eliminare modifiche valide successive al backup.

Distinguere la versione salvata dal file attuale

Questa prova prosegue l'esercitazione di creazione e verifica del backup su FS1. Su E: deve esistere una versione di D:\BackupLab\sample.txt con il testo letterale backup version A e l'hash registrato prima del backup. Controlli computer, origine e destinazione reali se l'ambiente è diverso. Non usi file di produzione o backup di cui non abbia verificato contenuto e data.

  1. Su E: controlli data e identificatore del backup di FS1 che contiene A. Con più computer o versioni, identifichi il set corretto.
  2. Verifichi che sample.txt esistesse allora e fosse incluso. Una copia successiva alla modifica o eliminazione potrebbe non soddisfare questo obiettivo.
  3. Registri contenuto e hash attuali prima di modificare il file. Conservi anche l'hash A annotato prima del backup: sono riferimenti distinti.
  4. Scelga per ogni esecuzione una cartella nuova e vuota sotto D:\RestoreLab. Non riutilizzi risultati precedenti né D:\RestoreCheck43 della verifica iniziale.

Solo dopo aver identificato e registrato il backup A, modifichi questo file di laboratorio in B. Set-Content sovrascrive il file indicato: controlli il percorso e conservi prima eventuali dati utili. Esegua le righe una alla volta in PowerShell con privilegi elevati su FS1 e si fermi in presenza di errori. Prima del confronto, non crei un nuovo backup che sostituisca l'unica copia di A:

'backup version B' | Set-Content -LiteralPath 'D:\BackupLab\sample.txt' -Encoding UTF8
Get-Content -LiteralPath 'D:\BackupLab\sample.txt'
wbadmin get versions -backupTarget:E:

Scegliere una destinazione separata nella procedura guidata

  1. In Windows Server Backup, da Backup locale avvii il ripristino.
  2. Scelga il backup locale di questo server se il catalogo lo identifica correttamente; altrimenti selezioni un'altra posizione e il volume E: con il backup.
  3. Scelga data e ora della versione che conserva A. Non selezioni automaticamente la più recente se contiene già la modifica o eliminazione.
  4. Scelga File e cartelle, trovi D:\BackupLab e selezioni sample.txt. Verifichi l'origine prevista.
  5. Scelga un'altra posizione e la cartella nuova di questa esecuzione sotto D:\RestoreLab. Confronti il percorso completo prima di continuare.
  6. Controlli il trattamento dei file già presenti e il ripristino delle liste di controllo di accesso (Access Control Lists, ACL). Usi la destinazione vuota, eviti sovrascritture e mantenga il ripristino delle autorizzazioni per verificarle dopo. Confermi versione, elemento e destinazione, avvii e attenda il risultato finale controllando gli errori.

Le opzioni dipendono dall'origine del backup e dal tipo di elemento. Si tratta di ripristinare un file, non di sovrascrivere un volume o ripristinare un controller di dominio. Una lista di controllo di accesso (ACL) contiene le voci di autorizzazione. Ripristinarle non significa rendere la destinazione accessibile indiscriminatamente.

Usare l’identificatore reale nell’alternativa a comandi

Usi questa alternativa soltanto se non sta già ripristinando con la procedura guidata. La esegua in PowerShell con privilegi elevati su FS1 e copi esattamente l'identificatore restituito dalla propria query delle versioni, non una data inventata o il solo orario dell'interfaccia. La documentazione di wbadmin start recovery richiede il computer di origine con -machine quando si specifica -backupTarget. Qui è FS1; se il backup appartiene a un altro computer, adatti il nome in entrambi i comandi che lo contengono. Esegua per righe e controlli get items prima di start recovery:

$backupVersion = Read-Host 'Version identifier shown by wbadmin get versions'
$restoreDirectory = Join-Path 'D:\RestoreLab' ((Get-Date -Format 'yyyyMMdd-HHmmss') + '-' + ([guid]::NewGuid().ToString('N').Substring(0,6)))
New-Item -ItemType Directory -Path $restoreDirectory -Force | Out-Null
wbadmin get items "-version:$backupVersion" -backupTarget:E: -machine:FS1
wbadmin start recovery "-version:$backupVersion" -itemType:File -items:D:\BackupLab\sample.txt "-recoveryTarget:$restoreDirectory" -backupTarget:E: -machine:FS1 -overwrite:CreateCopy
$restoreDirectory

La query degli elementi del backup deve corrispondere a computer, versione e file previsti. Se fallisce o non trova sample.txt, si fermi: un errore del programma esterno wbadmin non arresta necessariamente le righe PowerShell successive. Verifichi che la cartella generata sia davvero nuova e vuota. Data e identificatore riducono le collisioni, ma -Force non convalida il percorso. CreateCopy evita la sovrascrittura di file esistenti tramite una regola di copia e mantiene le richieste di conferma. Controlli origine e destinazione mostrate; non aggiunga -quiet e non usi questa opzione per giustificare un percorso errato.

Confrontare contenuto, hash e autorizzazioni

Cerchi il file nella cartella di uscita effettiva: il ripristino può ricreare sottocartelle. Mantenga aperta questa console per usare $restoreDirectory. Se ha usato la procedura guidata, assegni alla variabile la nuova destinazione realmente scelta, non D:\BackupLab o una struttura di produzione. I primi due comandi esaminano solo la cartella di ripristino; l'ultimo legge l'originale per verificare che sia ancora B:

Get-ChildItem -LiteralPath $restoreDirectory -File -Recurse
Get-ChildItem -LiteralPath $restoreDirectory -File -Recurse | Get-FileHash -Algorithm SHA256
Get-Content -LiteralPath 'D:\BackupLab\sample.txt'

Il file recuperato deve contenere backup version A, mentre l'originale deve ancora mostrare backup version B. Confronti l'hash SHA-256 del risultato con quello di A registrato prima del backup, non con B. SHA-256 è un'impronta crittografica dei byte: tutti i 64 caratteri esadecimali devono coincidere. Con più file, associ percorso e hash invece di leggere soltanto la prima riga. Un hash uguale non verifica le autorizzazioni. Esamini proprietario e ACL con Get-Acl o Proprietà → Sicurezza → Avanzate. Le ACL ripristinate possono differire dall'ereditarietà della destinazione: provi l'accesso dell'account autorizzato e verifichi che altri non ottengano accessi indesiderati.

Sostituire il file in uso solo dopo la verifica

Prima di sostituire un file in servizio, conservi la versione attuale e documenti come ripristinarla in caso di problema. Controlli file aperti, blocchi, lavoro degli utenti e coerenza dell'applicazione; concordi l'intervento quando necessario. Il ripristino in un'altra cartella non sostituisce automaticamente l'originale. Non copi A sopra B solo per dimostrare il successo: deve prima valutare quali modifiche valide successive andrebbero perse.

Se manca il backup, controlli disponibilità della destinazione, nome del computer di origine, catalogo e identificatore di versione. La guida alle query delle versioni descrive la selezione di archivio e computer tramite -machine. Si assicuri che chiavi di crittografia e credenziali siano disponibili quando occorre recuperare, senza copiarle nei registri o nelle schermate. Non formatti il disco e non ricostruisca il catalogo come primo tentativo senza aver individuato la causa.

Conservi versione, file, hash di A e del risultato, autorizzazioni verificate e durata. Elimini poi soltanto la nuova cartella di ripristino di questa esecuzione se non serve più, controllando il percorso prima di cancellare. Mantenga il backup su E: e il file originale B. Se vuole annullare anche la modifica del contenuto del laboratorio, conservi B prima di decidere di riutilizzare A, senza eliminare il set di backup.