Setup wie von Geisterhand
Artikel erschienen in Swiss IT Magazine 2001/04
Obwohl Microsoft für den Windows-2000-Rollout Werkzeuge bereit stellt, heisst dies noch nicht, dass das Prozedere damit auch vereinfacht wird. Denn je stärker der Installationsprozess automatisiert werden soll, desto mehr Planungs-, Implementierungs- und Testaufwand entsteht für den Setup-Prozess. Bevor mit der Setup-Automatisierung begonnen wird, muss zudem ganz grundsätzlich die Frage geklärt werden, wann eine solche Automatisierung Sinn macht.
Grundsätzlich gilt, dass eine Automatisierung nur für einen wiederkehrenden Prozess sinnvoll ist. Wenn lediglich eine kleine Zahl von Clients installiert werden muss, wird man mit der manuellen Installation besser fahren. Die Grenze ist hier schwer zu definieren. In Netzwerken mit weniger als 100 Clients dürfte es aber wenig Sinn machen, komplexe Setup-Prozeduren aufzusetzen. Allenfalls könnten Neuinstallationen durch das Klonen von Standardsystemen in Frage kommen. Selbst das ist aber fraglich, da die Zahl neuer Systeme in vergleichsweise kleinen Netzwerken meist auch nicht sonderlich hoch ist. Das bedeutet, dass nur wenige Systeme mit jeweils gleicher Hardwarekonfiguration eingerichtet werden, weil sich diese fast ständig verändern. Und sobald sich die Konfiguration verändert, werden auch wieder Anpassungen an der Installationsprozedur nötig. Die Automatisierung des Setup ist also eindeutig für mittlere und grössere Netzwerke sowie für Dienstleister, die fertig konfigurierte Systeme ausliefern, gedacht. Die Erfahrung zeigt, dass für einen automatisierten Deployment-Prozess bei der ersten Einrichtung ein Aufwand von nicht unter 20 Manntagen zu erwarten ist. Dieser sinkt für Anpassungen bei der Hard- oder Softwarekonfiguration dann zwar stark - aber in 20 Tagen kann man viele Systeme manuell installieren.
Die Unterschiede in Hard- und Softwarekonfiguration sind ebenfalls ein Punkt, der durchdacht werden muss. Wenn Systeme mit unterschiedlicher Softwarekonfiguration eingerichtet werden sollen, erfordert das auch Anpassungen in der Installationsprozedur. Gleiches gilt für unterschiedliche Hardwareausstattungen. Dieser Aspekt spielt vor allem beim Upgrade bestehender Systeme eine wichtige Rolle. Beim Schritt zu Windows 2000 wird das Problem allerdings dadurch deutlich verringert, dass die automatische Hardware-Erkennung des Betriebssystems mit hoher Zuverlässigkeit arbeitet. Dennoch müssen unterschiedliche Konfigurationen getestet werden, bevor automatisierte Deployment-Prozesse durchgeführt werden.
Interessant bei Windows 2000 sind die Möglichkeiten des Änderungs- und Konfigurationsmanagements insbesondere unter Verwendung von Gruppenrichtlinien. Darüber kann beispielsweise eine differenzierte Konfiguration von Sicherheitseinstellungen, Registry-Parametern aber auch die Softwareverteilung erfolgen. Diese Funktionen sollten bei der Planung unbedingt einbezogen werden. Die Steuerung der Einrichtung von Applikationen durch die Anwendungen von MST-Dateien (Microsoft Transformations) auf MSI-Installationsprogramme (Microsoft Installer) kann den Setup-Prozess deutlich vereinfachen.
Windows 2000 unterstützt insgesamt fünf integrierte Verfahren für ein automatisiertes Deployment - sei es im Rahmen von Neuinstallationen oder von Upgrade-Prozessen. Die Funktionen müssen allerdings teilweise nachträglich installiert werden. Einige Werkzeuge finden sich im Verzeichnis support\tools der Windows-2000-CD-ROM. Neben den mitgelieferten Werkzeugen gibt es auch noch eine Reihe von Tools von Drittanbietern wie beispielsweise Novell ZENworks for Desktops 3 oder der Systems Management Server von Microsoft.
Allerdings lassen sich einzig mit Hilfe von Antwortdateien, die über den Setup-Manager (setupmgr.exe) erstellt werden können, auch System-Updates durchführen. Alle anderen Werkzeuge können ausschliesslich für die Neuinstallation von Systemen eingesetzt werden. Dazu zählen einerseits syspart.exe als Werkzeug für die Anpassung der Installation für Systeme mit unterschiedlicher Hardware. Diese Funktion wird über Parameter von winnt32.exe, dem Installationsprogramm von Windows 2000, gesteuert. Allerdings ist syspart.exe nicht wirklich leistungsfähig. Der gängige Ansatz für die Neuinstallation einheitlicher Systeme ist ohnehin das Duplizieren von Festplatten. Die Basis dafür bildet sysprep.exe. Mit diesem Werkzeug lässt sich ein Quellsystem so vorbereiten, dass die neu installierten Systeme nach dem Start einerseits eine eindeutige SID (Security Identifier) erhalten und andererseits erforderliche Anpassungen wie die Festlegung von Computernamen durchgeführt werden können. Die Steuerung der weiteren Schritte kann hier auch über den Setup-Manager bewerkstelligt werden.
Weitere Varianten sind die Verwendung von Boot-CDs in Verbindung mit Antwortdateien, die mit dem Setup-Manager erstellt werden, und die Remote-Installationsdienste von Windows 2000. Diese werden in einem gesonderten Workshop in der nächsten InfoWeek-Ausgabe behandelt.
Das zentrale Werkzeug für die Automatisierung von Upgrade- und Neuinstallationsprozessen ist der Setup-Manager. Dieser muss zunächst durch Ausführung von setup.exe im Verzeichnis support\tools der Windows-2000-Server-CD-ROM eingerichtet werden. Er kann anschliessend über den Befehl setupmgr.exe gestartet werden. Mit Hilfe dieses Werkzeugs können Antwortdateien erstellt werden, die dann wiederum über den Parameter /u:Antwortdateiname bei winnt32.exe aufgerufen werden können. Da es sich bei den Antwortdateien um Textdateien handelt, können diese mit jedem beliebigen Texteditor erstellt oder modifiziert werden. Im Whitepaper Deploying Windows 2000 Professional, das auf der Microsoft-Site zur Verfügung steht, finden sich dazu weitere Informationen.
Mit dem Setup-Manager lassen sich Setup-Dateien für drei verschiedene Einsatzsituationen erstellen. Genutzt werden können sie für die unbeaufsichtigte Installation, die über winnt32.exe gestartet wird, für sysprep.exe und damit das Klonen von Systemen und für die Remote-Installationsdienste von Windows 2000.
Nachdem die Plattform, auf der die Installation erfolgen soll, ausgewählt wurde, gilt es im nächsten Schritt, das Mass der Benutzerinteraktion während der Installation festzulegen.
Es gibt hier eine Reihe von Optionen. Gängige Ansätze sind die vollständige Automatisierung, bei welcher die Benutzer keinerlei Informationen mehr eingeben müssen, und eine teilweise Automatisierung über die Option Hide Pages, bei der nur die Seiten angezeigt werden, auf denen nicht alle Informationen angegeben wurden. Das kann beispielsweise Sinn machen, um die relativ aufwendige Vorgabe von Werten beispielsweise für den Computernamen zu vermeiden und statt dessen den Benutzer diese Werte beim Installationsprozess eintragen zu lassen.
Einer der wichtigsten Schritte bei der weiteren Erstellung der Antwortdatei ist dann die Festlegung der Computernamen. Diese können aus einer Textdatei importiert werden.
In den dann folgenden Dialogfeldern ist es weiter möglich, Festlegungen für die verschiedenen Dialogfelder zu treffen, die im Rahmen des Installationsvorgangs abgefragt werden. Die Funktionen umfassen auch viele optionale Einstellungen bis hin zur Installation von Netzwerkdruckern. Dieser Vorgang wird über die Option RunOnce ausgeführt. Dabei wird ein Parameter in der Registry gesetzt, über den eine einmalige Ausführung von Befehlen erfolgen kann.
Der nebenstehende Kasten zeigt das Beispiel einer Antwortdatei mit minimalen Einstellungen, die mit Hilfe des Setup-Managers erzeugt wurde. Hier wird bereits die einfache Struktur dieser Dateien sichtbar. Es gibt eine Reihe von Sektionen, in denen Festlegungen getroffen werden können.
UDF-Dateien sind Textdateien, in denen spezifische Anpassungen für die Installation von Client-Systemen beschrieben sind. UDF steht für Uniqueness Database Files. Damit ist es möglich, Einstellungen, die von System zu System variieren, festzulegen. Ein Beispiel dafür ist der Computername. In diesen Files gibt es zunächst eine Sektion mit den eindeutigen IDs, die als [UniqueID] bezeichnet wird. Für jede dieser IDs wird angegeben, in welchen Bereichen es spezifische Anpassungen der Installation gibt. Hier spielen insbesondere UserData mit den benutzerbezogenen Informationen wie dem Benutzer- oder Computernamen, GuiUnattended mit den Einstellungen, die ansonsten im grafischen Teil des Installationsprozesses eingegeben werden müssen, wie beispielsweise die Zeitzone sowie Network mit Konfigurationseinstellungen für das Netzwerk (beispielsweise dem Domänennamen) eine wichtige Rolle.
Für jede der IDs findet sich dann ein eigener Abschnitt, in dem die spezifischen Parameter wie beispielsweise der Computername oder vollständige Name des Benutzers angegeben werden können.
Der Verweis auf die Antwortdatei erfolgt dann über den Parameter /udf von winnt32.exe. Dort kann neben dem Namen der UDF-Datei auch die UniqueID angegeben werden, die aus der Datei ausgelesen werden soll.
Windows 2000 bietet mit den beschriebenen Möglichkeiten ein umfassendes Portfolio für die Automatisierung des Installationsprozesses, das für viele Fälle ausreicht. In grösseren Netzwerken kann es aber durchaus Sinn machen, zusätzliche Werkzeuge zu verwenden, um beispielsweise den Installationsprozess mit einer Integration mit Helpdesk-Funktionen zu steuern oder gezielt festzulegen, welche Installationsvariante für welche aktuelle Hard- und Softwarekonfiguration bei Upgrades genutzt wird. Die Funktionen, die sich standardmässig im System finden, sind aber ein guter Startpunkt.