Wir haben nun alle Vorbereitungen getroffen, um unsere Installation zu automatisieren:
1. Einen DHCP- und TFTPD-Server
2. Eine Windows PE-Startumgebung
3. Eine unbeaufsichtigte Windows 7-Installation
Jetzt müssen alle Teile zusammengeführt werden. Nach dem Booten von Windows PE soll die Windows-Installation automatisch gestartet werden. Wir könnten nun Windows PE so anpassen, dass aus der Startdatei direkt das Windows-Setup aufgerufen wird. In diesem Fall müssten jedoch alle späteren Änderungen wieder in Windows PE, also in der winpe.wim, vorgenommen werden.
Um zu vermeiden, ständig das Image mounten und unmounten zu müssen, erstellen wir uns das eigentliche Script auf einer Netzfreigabe und starten eben dieses Script von Windows PE aus.
Zunächst das Startscript:
Für die Vorbereitung der unattended Installation hatten wir in Schritt 4 bereits eine Netzfreigabe Installfiles erstellt und dort die Installations-DVD in einen Unterordner kopiert. Erstellt nun in 'Installfiles' einen neuen Unterordner cmd. Darin erstellt eine Datei w7install.cmd mit folgendem Inhalt:
@echo off
:: Variablen definieren
for /F %%i in ('chdir') do set _mypath=%%i
set _installpath=..\W7PRO
cls
echo ##################################################################
echo # Installation Windows 7 Professional
echo #
echo # Automatische Installation
echo #
echo # ALLE Daten auf der Festplatte werden GELOESCHT!!!
echo #
echo #
echo # www.exilschwaelmer.de
echo ##################################################################
echo.
echo.
echo.
set /P _reply=Tippen Sie JA (in GROSSBUCHSTABEN) wenn Sie wirklich fortfahren wollen:
if %_reply%==JA goto :install
echo Dann eben nicht ;-(
echo Erneuter Aufruf der Installationsroutine mit '%0'
goto :eof
:install
echo.
echo Ok, dann geht's los
cd %_installpath%
setup.exe /unattend:Autounattend.xml
Nun passen wir Windows PE an, damit dieses Script automatisch gestartet wird:
Es muss natürlich zunächst sichergestellt werden, dass Ihr PE-seitig Zugriff auf das Netzlaufwerk habt. Dazu legt Ihr einen speziellen Installationsuser auf dem Windows-Server an, in diesem Beispiel:
Name: instuser
Kennwort: install
Jetzt öffnet erneut die Konsole von WAIK und mountet das WinPE-Image, diesmal im Schreibmodus:
imagex /mountrw D:\winpe\winpe.wim 1 D:\winpe\mount
Uns interessiert nun das Script D:\winpe\mount\Windows\system32\startnet.cmd
Dieses Script besteht im Moment aus einem einzigen Befehl: wpeinit
Damit wird das Netzwerk gestartet. Erweitern wir nun das Script um die folgenden Befehle:
wpeinit
echo Netzlaufwerk verbinden...
echo.
net use Z: \\SERVERNAME\Installfiles /user:DOMAIN\instuser install
echo.
echo Jetzt wird das Installationsscript aufgerufen...
cd /D z:\cmd
w7install.cmd
Die Einträge SERVERNAME und DOMAIN müssen natürlich an Eure Gegebenheiten angepasst werden.
Speichert die Datei ab und schliesst alle Explorerfenster, die auf das Verzeichnis D:\winpe weisen, da sonst das geänderte winpe-Image nicht korrekt abgespeichert werden kann!
Gebt nun in der WAIK-Konsole den Befehl zum speichern und unmounten ein:
imagex /unmount /commit D:\winpe\mount
Kopiert anschließend die winpe.wim von D:\winpe nach D:\PXE\Boot. Fertig!
Startet nun EurenTestrechner via PXE. Ihr solltet nach kurzer Zeit von diesem Bild begrüßt werden:
Bestätigt die Abfrage mit 'JA', dann geht es los:
So, das wars. Viel Spaß beim Nachkochen.
Einen Nachteil hat die Sache (bis jetzt) allerdings schon: Da der Rechnername fest in der XML-Datei steht, kann damit kein zweiter Rechner installiert werden, weil sonst die Namen gleich sind. Beim Join Domain-Teil wird es dann zu Fehlern kommen, ohne Domäne muß auf jeden Fall händisch der Rechnername geändert werden.
Man könnte natürlich auch in der XML-Datei gar keinen Rechnernamen angeben, dann generiert Windows einen zufälligen Namen. Im 'meiner' Domäne will ich aber schon festlegen, wie meine Rechner heissen.
Weiterhin ist der Rechner ja immer noch "nackt", es ist keine Software installiert.
Wenn wir die Automation konsequent weiter betreiben, dann darf hier noch nicht Schluss sein.
Angenommen, eine Firma plant eine Hardware-Regeneration. Gleichzeitig soll auf Windows 7 migriert werden. Die Umstellung soll so kostengünstig wie möglich durchgeführt werden, d.h. so wenig Arbeitsausfall wie möglich. Außerdem soll nicht die ganze IT-Abteilung tagelang nur mit Rechner- und Softwareinstallation gebunden werden. Ziel ist folgendes Szenario:
Ein LKW kommt mit einer Ladung neuer Rechner. Die Rechner werden durch Hilfspersonal ausgeladen, in die Büros gebracht und angeschlossen. Die Rechner werden angeschaltet und installieren sich vollautomatisch, alle in der Firma benötigte Software wird installiert und jeder Rechner hat einen Namen, der den Konventionen der Firma entspricht.
Wenn bei Euch bis hierher alles funktioniert hat und Ihr neugierig geworden seid, was noch alles möglich ist, dann lest einfach weiter.