Blog

Das Kopieren von Daten von einem Server zum anderen gehört zu den häufigsten Beschäftigungen eines Administrators. Windows 2008 besitzt den Kommandozeilenbefehl Robocopy, der das Leben in vielen Fällen leichter macht und bei weitem über die Möglichkeiten von Xcopy hinausgeht.
Die Vielzahl der Optionen wirkt allerdings auf den ersten Blick etwas verwirrend, so dass einige Einarbeitungszeit erforderlich ist, um Robocopy effektiv zu nutzen. Will man einen Share oder einen Verzeichnisbaum schnell an eine andere Stelle kopieren, gibt es eine Syntax, die eine exakte Kopie mit allen Zugriffsberechtigungen und Attributen liefert.

bild4

Der Befehl

Robocopy <Quelle> <Ziel> /R:1 /W:1 /Mir /Copyall /Zb /Efsraw /Dcopy:t

führt in der Regel das Gewünschte aus. Dabei ist zu beachten, dass, anders als der Namensbestandteil “Copy” vermuten lässt, existierende Dateien im Zielverzeichnis gelöscht werden, denn die Option /MIR bewirkt, dass ein echtes Mirroring durchgeführt wird.

Mit der Option /Copyall werden alle Zugriffsberechtigungen unverändert in das Zielverzeichnis übertragen. Anders als bei der Option /Sec werden auch die Dateieigentümer und die Audit-Einstellungen übertragen. /Dcopy:t bewirkt, dass Robocopy das Datum der Unterverzeichnisse von der Quelle übernimmt. Durch die Verwendung von /Zb kann ein Administrator auch Dateien kopieren, auf die er normalerweise keinen Zugriff hat, sofern er das für Administratoren voreingestellte Recht für Backups besitzt.

Falls das Zielverzeichnis ebenfalls auf einem Windows-2008-Server liegt, bewirkt /Efsraw, dass verschlüsselte Dateien im NTFS-Filesystem in ihrer verschlüsselten Form übertragen werden, ohne dass der Administrator den Schlüssel besitzen muss. Während des Kopiervorgangs kann er keine Kenntnis vom Inhalt der Datei nehmen.

/R:1 bewirkt, dass nur einmal versucht wird, eine Datei erneut zu kopieren, wenn der Vorgang fehlschlägt, meist weil die Datei durch einen anderen Benutzer gesperrt ist. /W:1 bedeutet, dass eine Sekunde gewartet wird, bevor ein erneuter Kopierversuch startet.

Die letzten beiden Optionen mögen auf den ersten Blick falsch gewählt wirken, sind aber genau richtig, wenn ein Administrator zu normalen Arbeitszeiten einen Share kopiert. Dateien, die in Benutzung sind, werden damit einfach ausgelassen.

Somit entsteht die Möglichkeit, den Share später offline zu setzen und einen erneutes Robocopy auszuführen. Da Robocopy nur geänderte Dateien kopiert, kann die Offline-Zeit auf diese Art meist sehr kurz gehalten werden. Zwischenzeitlich im Quellverzeichnis gelöschte Dateien werden auch im Zielverzeichnis gelöscht.

Detaillierte Informationen zu allen Robocopy-Parametern finden sich auf Microsoft Technet

Der USB Stick muss mindestens 512 MB groß sein um das WinPE Image installieren zu können. WinPE benötigt ungefähr einen Platz von 250 MB wobei darüber hinaus die zusätzlichen Dateien berücksichtigen werden müssen, die noch mit eingeschlossen werden.
Zunächst benötigt man wieder das Windows Automated Installation Kit (WAIK), um die benötigten Tools zu installieren.

Windows Automated Installation Kit (AIK)

Nach der Installation von WAIK wird die erforderliche Verzeichnisstruktur für ein benötigtes Windows PE-Abbild erstellt:
Wir öffnen die Windows PE-Tools Eingabeaufforderung als Administrator

bild1

Wechseln in das Verzeichnis: „%ProgramFiles%\Windows AIK Tools\PETools“
führen nun die copype.cmd <x86 oder x64> Speicherort

Beispiel: copype.cmd x86 C:\temp\USB-Stick

bild2

In das neu erstellte Verzeichnis C:\temp\USB-Stick werden mit dem Ausführen des Skripts die notwendigen Dateien der Architektur kopiert.

bild3

Nach Hinzufügen optionaler Anwendungen wird nun der USB-Stick vorbereitet. Hierzu kann man das Tool „diskpart“ verwenden.
Wir öffnen eine Eingabeaufforderung und Formatieren den USB-Stick:

diskpart
– select disk 1
– clean
– create partition primary
– active
– assign
– format fs=fat32 quick
exit

Im letzten Schritt wird der gesamte Inhalt des lokalen Verzeichnisses auf den USB Stick kopiert.

Beispiel: xcopy C:\temp\usb-stick\iso\*.* /s /e /f E:\

Viele Grüße
Helmut