Recentemente mi è capitato di dover migrare il contenuto di un file server dovendo mantenere i privilegi di sicurezza sul file system e i privilegi di condivisione e la seguente procedura è stata testata con Windows Server 2008 R2 e versioni successive.
Prerequisiti
- Essere il proprietario delle cartelle/files oppure avere privilegi di controllo completo sul file system
- Su Windows 2003 bisogna provvedere ad installare Robocopy
Procedura
- Copiare il contenuto del file server utilizzando il comando da linea di comando robocopy source destination /xo /fft /mir /copyall /log+:c:\robocopylog.txt /r:10 /w:5 .
- robocopy (lancio del programma)
- source (cartella che deve essere copiata)
- destination (specificare il percorso senza la cartella padre, ad esempio per copiare il contenuto della cartella share del disco c: sul disco e: indicare come segue robocopy c:\share\ e:\ , il sistema provvederà in automatico a creare nel disco “e:\” la cartella “share”)
- /xo serve per non copiare e non sovrascrivere files identici con lo stesso nome, dimensione , data creazione e data di modifica già presenti nel percorso di destinazione
- /fft usato in contemporanea con l’opzione /xo serve per avere 2 secondi di margine nella orario/data di creazione e modifica, molto utile con filesystem di tipo FAT.
- /mir esegue copia identica della sorgente. Cancella qualunque files aggiunto e ripristina i files della sorgente se modificati nella destinazione quando il comando viene lanciato più volte, detto con altre parole ripristina tutta lo scenario originale della sorgente.
- /copyall copia privilegi di sicurezza ed attributi di files e cartelle.
- /log+:path crea file log e appende nel file i log successivi.
- /r:10 riprova 10 volte in caso di errore a copiare un file
- /w:5 aspetta 5 secondi fra un tentativo e l’altro in caso di errore
- Rilanciare il comando se sono presenti errori
- Aprire il registro di Windows con il comando regedit lanciato da esegui
- Aprire la seguente percorso HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
- Esportare le chiavi di registro corrispondenti alle condivisioni che si vogliono migrare
- Aprire la seguente percorso HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares\Security
- Esportare le chiavi di registro corrispondenti alle condivisioni che state esportate precedentemente
- Loggarsi sul nuovo server
- Importare tutte le chiavi di registro precedentemente esportate.
- Aprire la seguente percorso HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
- Controllare che tutte le chiavi importate siano presenti e verificare la correttezza del percorso delle singole condivisioni sul nuovo server, eventualmente cliccare con il tasto destro le chiavi interessate e eseguire le modifiche necessarie.
- Riavviare il server e verificare che le condivisioni siano attive.