Ab einer gewissen Deployment-Größe gilt, dass jede manuelle Konfigurationshandlung eine Fehlerquelle und unnötiger Aufwand ist. Mit dem Windows ADK steht eine universelle Verifikations- und Verwaltungssuite für Deployments zur Verfügung. Das Toolkit liefert Werkzeuge zur Analyse der Systemperformance und dem einfacheren Ausbringen von Windows-Images.
Bevor wir direkt mit dem ADK loslegen, eine kurze Info zu unserer Arbeitsumgebung: Wir nutzen für diesen Workshop eine Workstation mit Windows 11 23H2. Wichtig zu wissen ist aber vor allem, dass die ADK-Werkzeuge eine erhebliche Rechenleistung voraussetzen. Diese hat Microsoft zuletzt im September 2023 aktualisiert. Die neuen Features sind nicht zentraler Gegenstand unseres Workshops, für ADK-erfahrene Admins weisen wir jedoch an geeigneter Stelle auf diese hin.
Und noch ein Tipp: Microsoft nutzt das Windows ADK seit einiger Zeit als Sammelstelle für verschiedenste nützliche Werkzeuge und Entwicklungen. Problematisch ist, dass die zugehörige Dokumentation quer über das MSDN verteilt und die offizielle Dokumentation unvollständig ist. Hier hilft die Link-Sammlung [1] weiter, die den Weg zu den jeweiligen Komponenten gehörenden Dokumenten und Tutorien aufzeigen.
Installation des Windows ADK
Microsofts Deployment-SDK geht eine sehr enge Beziehung zur Basisversion des Betriebssystems ein, die auf dem jeweiligen Host läuft. Daraus folgt, dass ein komplettes Abarbeiten von Windows Update vor der Auslieferung des ADKs empfehlenswert ist, denn veraltete Komponenten führen immer wieder zu seltsamem Verhalten der diversen ADK-Werkzeuge. Das eigentliche Deployment wird durch den Wildwuchs an verschiedenen Versionen [2] erschwert. Auf der ADK-Downloadseite müssen Sie die passende Optionen wählen. Im Allgemeinen empfiehlt Microsoft, das ADK zu verwenden, das zur aktuellsten in Ihrer Umgebung vorgehaltenen Windows-Version passt. In einer heterogenen Infrastruktur sollte logischerweise das ADK zum Einsatz kommen, dass zur verwendeten Windows-Variante passt.
Bevor wir direkt mit dem ADK loslegen, eine kurze Info zu unserer Arbeitsumgebung: Wir nutzen für diesen Workshop eine Workstation mit Windows 11 23H2. Wichtig zu wissen ist aber vor allem, dass die ADK-Werkzeuge eine erhebliche Rechenleistung voraussetzen. Diese hat Microsoft zuletzt im September 2023 aktualisiert. Die neuen Features sind nicht zentraler Gegenstand unseres Workshops, für ADK-erfahrene Admins weisen wir jedoch an geeigneter Stelle auf diese hin.
Und noch ein Tipp: Microsoft nutzt das Windows ADK seit einiger Zeit als Sammelstelle für verschiedenste nützliche Werkzeuge und Entwicklungen. Problematisch ist, dass die zugehörige Dokumentation quer über das MSDN verteilt und die offizielle Dokumentation unvollständig ist. Hier hilft die Link-Sammlung [1] weiter, die den Weg zu den jeweiligen Komponenten gehörenden Dokumenten und Tutorien aufzeigen.
Installation des Windows ADK
Microsofts Deployment-SDK geht eine sehr enge Beziehung zur Basisversion des Betriebssystems ein, die auf dem jeweiligen Host läuft. Daraus folgt, dass ein komplettes Abarbeiten von Windows Update vor der Auslieferung des ADKs empfehlenswert ist, denn veraltete Komponenten führen immer wieder zu seltsamem Verhalten der diversen ADK-Werkzeuge. Das eigentliche Deployment wird durch den Wildwuchs an verschiedenen Versionen [2] erschwert. Auf der ADK-Downloadseite müssen Sie die passende Optionen wählen. Im Allgemeinen empfiehlt Microsoft, das ADK zu verwenden, das zur aktuellsten in Ihrer Umgebung vorgehaltenen Windows-Version passt. In einer heterogenen Infrastruktur sollte logischerweise das ADK zum Einsatz kommen, dass zur verwendeten Windows-Variante passt.
Wir setzen die folgenden Schritte des Workshops mit der Version "ADK for Windows 11, Version 22H2" um. Lohn des Anklickens des Download-Buttons ist die Bereitstellung der Datei "adksetup.exe", die einen Installationsassistenten anwirft. Dieser erlaubt die Auswahl des gewünschten Installationsmodus: Neben dem Aufspielen auf den lokalen Host ist es auch eine Option, Installationsmedien für die Auslieferung des ADKs auf nicht mit dem Internet verbundenen Zielsystemen zu erzeugen.
Interessant ist außerdem, dass der vorgeschlagene Installationspfad nach wie vor die Version 10 referenziert, was vermutlich eine Nachlässigkeit seitens Microsoft ist. Es ist allerdings nicht empfehlenswert, diesen Pfad zu korrigieren, denn er hat sich als Quasistandard herauskristallisiert und wird in verschiedenen Beispielen und Dokumentationen erwartet. Im Rahmen der weiteren Abarbeitung des Assistenten ist dann unter anderem das Zustimmen zur Datenübertragung erforderlich.
Wichtig zu wissen ist, dass Microsoft das Windows Assessment and Deployment Kit vollständig modularisiert. Werkzeuge zur Verifikation der Anwendungskompatibilität, zur Verwaltung von Windows und Office und die Windows-Bewertungskonsole zur Ermittlung von Performancemetriken sind von Haus aus nicht inkludiert. Das gilt zudem für den "Media eXperience Analyzer", der Rückschlüsse auf das Systemverhalten unter Multimedia-Belastung erlaubt. Für diesen Workshop nutzen wir eine vollständige Installation, die mit einem Speicherbedarf mit rund 5 GByte gut handhabbar ist. Nach dem erfolgreichen Herunterladen der Komponenten und dem Durchlaufen des Installationsassistenten bietet dieser das Starten eines Erste-Schritte-Tutorials an. Diese Option öffnet allerdings nur eine MSDN-Seite, die einige zusätzliche Informationen anbietet.
Performance analysieren
Eine der wichtigsten Neuerungen des Windows ADK ist eine Aktualisierung des Windows Performance Analyzer: Diese nutzt nun erstens das .NET-Framework in Version 6.0, was zur Ausführung des Programms auch auf ARM-Hardware befähigt. Zweitens bekam der Analyzer ein komplett neues Userinterface, das wir für alle Beispiele dieses Workshops zum Einsatz bringen. Wobei Microsoft mit WRPControl allerdings auch eine Programmierschnittstelle zur Verfügung stellt, die komplexere Automatisierung der Performancetests ermöglicht. Unter [3] findet sich eine Dokumentation, die allerdings nur für mit der Windows-Entwicklung gut vertrauten Systemadministratoren geeignet ist.
Die eigentliche Performance-Datenerfassung erfolgt zweigeteilt. Der Windows Performance Recorder ist für das eigentliche Einsammeln der Telemetrieinformationen verantwortlich, während die Komponente Windows Performance Analyzer die Visualisierung übernimmt. Der Visualisierer ist dabei nicht nur auf die von WPR erzeugten Daten beschränkt, sondern nimmt auch Drittanbieter-Dateien entgegen, sofern diese das von WPR erwartete ETL-Datenformat emittieren.
Zum Start der grafischen Recorder-Komponente (es gibt von WPR auch eine Kommandozeilenversion, die wir hier aber nicht verwenden) folgt im Startmenü die Eingabe von Windows Performance Recorder. Daraufhin öffnet sich ein Fenster, wie in Bild 1 zu sehen. Interessant ist dabei die unten links eingeblendete Combobox, die drei Testrubriken anbietet: "First Level Triage" sammelt allgemeine Informationen, während die Rubrik "Resource Analytics" die Bewertung der Auslastung verschiedene Ressourcen des Testsystems erlaubt. Unter "Scenario Analysis" finden sich Optionen, die häufige Ärgernisse für die Benutzererfahrung klassifizieren – ein Beispiel dafür ist das Stocken von wiedergegebenen Multimediainhalten.
Ein Klick auf den Startknopf, löst die Aufnahme von Statusinformationen aus. Als Beispiel einer zu testenden Workload dient uns hier der Aufruf von Visual Studio 2022 und das Laden einer vergleichsweise komplexen, auf .NET Aspire basierten Anwendung. Nach deren "Laden und Schließen" in Visual Studio beenden wir die Aufnahme. Der Assistent fragt daraufhin, wo die Performancedaten gespeichert werden sollen und bietet das Anlegen einer ETL-Datei mit dem Namensschema "DESKTOP-MLCJKNK.<ZEITSTEMPEL>" an. Markieren Sie an dieser Stelle die Compress-Option, aktivieren Sie die Datenkom- pression und sparen Speicherplatz. Nach getaner Arbeit fehlt ein Klick auf "Save", um eine für die grafische Analysekomponente auswertbare ETL-Datei zu erhalten.
Zu beachten ist, dass die Verarbeitung der gesammelten Ressourcen ein arbeitsintensiver Prozess ist, selbst das schnelle Starten von Visual Studio und der folgende Ladevorgang führte bei uns zu einer 250 MByte großen Datei. Bei aktivierter Komprimierung benötigte unsere Achtkern-Workstation fast eine Minute, um die Daten bereitzustellen. Scheitert das Erfassen der Testdaten mit einem Hinweis auf belegte Ressourcen, hilft normalerweise ein Neustart. Reicht dies nicht aus, empfiehlt sich ein Blick auf [4].
Im nächsten Schritt ist das Starten des Windows Performance Analyzers notwendig: Dies erledigen Sie entweder durch Anklicken der "Open in WPA"-Option in der Aufnahmekomponente oder über das Startmenü des Host-Betriebssystems. Nach getaner Arbeit erscheint das Startmenü, das die Auswertung der geladenen ETL-Datei ermöglicht. Am Wichtigsten ist in diesem Fenster der links eingeblendete Graph Explorer, der die gesammelten Informationen in Kategorien zusammenfasst. Analog zu einer gewöhnlichen TreeView-Anzeige lassen sich die Kategorien expandieren und ein Doppelklick auf eine der Kategorien lädt sie im in der Bildschirmmitte angezeigten Bearbeitungsfenster.
Beachten Sie dabei, dass der Windows Performance Analyzer bei zahlreichen, gleichzeitig geöffneten Performancemetriken ins Stottern kommt. Schließen Sie also im Moment nicht benötigte Kategorien durch Anklicken des "X". Außerdem gilt die ganz unten eingeblendete Zeitleiste für alle dargestellten Telemetrie-Datenquellen gleichermaßen. Es ist also möglich, Festwertspeicher-Verbrauch und den CPU-Verbrauch zeitlich miteinander zu korrelieren, sofern Sie sich beide anzeigen lassen.
Automatisierung von Tests
Die bisher durchgeführten Schritte generieren die Belastung des Systems durch den manuellen Start einer integrierten Entwicklungsumgebung. Schon ob des Vorhandenseins von diversen Caches und Zwischenspeichern in Visual Studio handelt es sich dabei um eine nur sehr schwierig zu reproduzierende Operation, die zur Qualifikation verschiedener Systemklassen nicht geeignet ist. Vernünftiger ist es, die zu testende Operation in Form eines hauseigenen Benchmarks zur Verfügung zu stellen.
Mit der Windows Assessment Platform steht eine dafür dedizierte Komponente zur Verfügung. Wie im Rest des Workshops setzen wir auch hier ausschließlich auf die grafische Benutzeroberfläche. Unter [5] und [6] finden sich detaillierte Besprechungen der Kommandozeilen-Variante und der diversen zur Verfügung gestellten Optionen für fortgeschrittene Einsatzszenarien.
Zum Start der GUI öffnen wir das Startmenü der Host-Workstation und suchen nach dem String "Windows Assessment Console". Auf Deutsch eingestellte Hosts macht Microsofts Übersetzung unter Umständen an dieser Stelle einen Strich durch die Rechnung. Liefert die Suche nach dem englischen Begriff keine Ergebnisse, führt stattdessen "Windows-Bewertungskonsole" zum Erfolg.
Die nächste zu umschiffende Klippe ist, dass WAC bei der Installation auf einem Laptop vor allem für die Auswertung der Batterie-Lebensdauer des Systems optimierte Tests anbietet. Zur Umgehung dieses Problems bietet sich die Auswahl der Option "Run individual Assessment" an, die über eine Gruppe von Checkboxen verschiedene fortgeschrittene Performancetests zur Verfügung stellt. Für einen nächsten Test eignet sich die Option "File Handling", die zwecks Vermeidung von Nebeneffekten bei der Testausführung Administratorrechte voraus- setzt. Wichtig ist außerdem, die "Warnung" zu beachten.
Manche Tests setzen Anpassungen an der Konfiguration voraus, so kann etwa auf Dual-Boot-Maschinen der Bootloader zu Problemen führen. Außerdem gilt, dass die von der Windows Assessment Console zur Verfügung gestellten Test im Allgemeinen für leere Workstations vorgesehen sind und so kann es vorkommen, dass der Papierkorb im Rahmen der Abarbeitung des Benchmarks geleert wird. Darüber hinaus sollten Sie – wie bei jedem Benchmark – die Workstation während der Abarbeitung der befohlenen Tests so wenig wie möglich belästigen. Ist dieser durchgelaufen, erhalten Sie einen Ergebnisbericht. In unserem Beispiel eine Performanceanalyse für das Dateisystem wie in Bild 4 zu sehen.
Angemerkt sei, dass die vollständige Installation der Windows Assessment Console auf entfernten Zielsystemen nicht notwendig ist. Microsoft erlaubt Ihnen das Verpacken der durchzuführenden Testlogik auf einen USB-Stick, der im Zielsystem angesteckt, nach Ausführung der Datei "RunJob.cmd" automatisch Performancedaten sammelt. Hierzu müssen Sie einen Job im "Home-Tag" doppelt anklicken, um die zugehörige Einstellungsseite zu öffnen. Die "Package"-Option öffnet dann einen Assistenten, der das Auswählen eines Paketvorrats ermöglicht. Hier ist es empfehlenswert, den soeben erwähnten USB-Stick auszuwählen. Auf diesem Weg erhalten Sie ein schlüsselfertiges Paket, dass das Zielsystem dem jeweiligen Assessment unterzieht.
Für das Laden der am Remotesystem angefallenen Informationen kehren Sie auf der Workstation in die Windows Assessment Console zurück und klicken auf das oben rechts eingeblendeten Options-Menü. Dort laden Sie über die Option "Import Results" die Ergebnisse zur weitergehenden Analyse.
Provisioning-Pakete für Remotesysteme
Microsoft liefert im Assessment and Deployment Toolkit auch Funktionen, die das Ausliefern von Konfigurationseinstellungen und/oder für die Erledigung der Geschäftsaufgaben notwendigen Softwarepaketen automatisieren. Daher wollen wir jetzt den Windows Configuration Designer ansehen. Wichtig ist, dass Microsoft in diesem Werkzeug insgesamt drei unterschiedliche Betriebsmodi vorsieht. Diese unterscheiden sich nicht nur im Namen, sondern auch in der Art des zu errichtenden Zielsystem und in den angebotenen Optionen. Beim eigentlichen Provisioning empfiehlt sich die Orientierung am von Microsoft vorgegebenen Workflow: Im ersten Schritt sollten Sie den Assistenten so weit wie möglich abarbeiten. Die fortgeschrittenen Optionen des Werkzeugs erlauben dann die Justierung des Images zur optimalen Erfüllung der vorgesehenen Aufgabe.
Beim Einstieg legt Microsoft Ihnen jedoch einen kleinen Stein in den Weg: Obwohl die Komponente in der MSDN-Definition als Teil des ADK geführt wird, erfolgt die eigentliche Auslieferung über den Microsoft Store. Öffnen Sie [7] im Edge-Browser, um die vom üblichen Applikationsdeployment bekannte Workflow-Toolchain zu aktivieren. Darauf öffnet sich der in Bild 5 gezeigte Dialog, der im ersten Schritt die Art des zu provisionierenden Geräts abfragt. Wir wollen uns in den folgenden Schritten für die Option "Provision Desktop Devices" entscheiden. Kurios ist an dieser Stelle, dass es nach wie vor auch einen Provisioning-Link für die Konfiguration der seit langer Zeit nicht mehr unterstützten Windows Phones gibt. Diesen sollten Sie dementsprechend ignorieren.
Die Einrichtung beginnt dann mit dem Erzeugen einer Projektdatei, die – später abermals geöffnet – alle im jeweiligen Provisioning-Profil hinterlegten Einstellungen zusammenfasst. Im nächsten Schritt folgt ein aus sechs Schritten aufgebauter Assistent. Im ersten Schritt fragt das System dabei nach einem Namensschema, das zur Benennung der neu ins Leben gerufenen Instanzen dient. Dabei erzeugt Microsoft einige "Metavariablen", die entweder die Geräte-Seriennummer oder aber per Zufallsgenerator erzeugtes "Gibberish" in den Gerätenamen einbinden. Sinn dieser Vorgehensweise ist, dass die Netzwerkverwaltung und sonstige Provisioningsysteme nicht mit einer ganzen Flotte gleichnamiger neuer Geräteinstanzen überflutet werden.
Der zweite, optionale Punkt kümmert sich um die Einrichtung von WLAN-Credentials. Zu beachten ist, dass Microsoft bislang nur offene oder aber mit "WPA2 Personal" gesicherte Drahtlosnetzwerke unterstützt. Danach kümmern Sie sich um die Einrichtung eines Administratorzugangs auf den neu ins Leben gerufenen Instanzen. Der einfachste Weg ist das Vergeben von Benutzername und Passwort für das Erzeugen eines lokalen Administratorkontos.
Im vierten Schritt nimmt der Windows Configuration Designer eine oder mehrere Applikationen auf, die das Profil im Rahmen des Deployments auf dem Zielsystem zur Ausführung bringt. Als Verpackungsformat erwartet das Tool dabei eine gewöhnliche ausführbare Datei. Selbiges gilt auch für das Hinzufügen von Zertifikaten. Der sechste und letzte Punkt erlaubt dann das Exportieren des Pakets, was zur Erzeugung einer PPKG-Datei führt.
Die eigentliche Anwendung dieses PPKG-Pakets ist dann davon abhängig, wie weit das Zielsystem bereits im Bereich seiner Provisionierung fortgeschritten ist. Ist das System noch im Rahmen des initialen Setups, reicht das Einstecken eines USB-Laufwerks. In manchen Fällen müssen Sie danach die Windows-Taste noch fünf mal drücken, um die Auslösung zu befehligen. Auf fertigen Systemen lässt sich das PPKG-File entweder über die Systemeinstellungen oder einen Linksklick im Windows Explorer anwenden.
Die eigentliche Installation erfolgt dann im Allgemeinen so, wie Sie es von einer gewöhnlichen Windows-Applikation kennen. Wir können an dieser Stelle nicht alle Methoden der Anwendung von PPKG-Dateien besprechen. Microsoft stellt unter [8] einen nützlichen Guide zur Verfügung, der die verschiedenen Spielarten und Details durchdekliniert.
Fortgeschrittene Einstellungen für PPKG-Dateien
Die bislang besprochene grundlegende Konfiguration des Systems ist immer dann vernünftig, wenn Sie neu ins Leben gerufene Systeme im Rahmen eines Greenfield-Deployments mit Einstellungen ausstatten müssen. Ab einer gewissen Komplexität kann es empfehlenswert sein, die Dateien in einem Brownfield-Szenario zur Auslieferung von Konfigurationen, Applikationen oder ähnlichem einzusetzen. Hierzu ist es allerdings erforderlich, den zuvor erwähnten fortgeschrittenen Editor zur Bearbeitung heranzuziehen. Hierzu klicken Sie die Option "Switch to Advanced Editor". Zu beachten ist, dass dies die Verwendung des "Schritt für Schritt-Assistenten" für diese Projekt-Konfigurationsdatei dauerhaft verhindert.
Anschließend öffnet sich ein Konfigurationsbildschirm, in dem Sie rechts die in der Datei angelegten Eigenschaften finden, während die linke Rubrik die Auswahl verschiedener Optionen erlaubt. Der Remove-Knopf entfernt die vom Assistenten angelegten Optionen – es ist durchaus erlaubt, die Projektdatei an dieser Stelle in den leeren Zustand zurückzusetzen.
Eigenwillig gestaltet sich das Hinzufügen neuer Elemente. Sowohl im linken, als auch im rechten Treview führt ein Doppelklick dazu, dass sich die leere Mitte des Bildschirms mit den zum jeweiligen Element gehörenden Einstellungen bevölkert. Die Bearbeitung dieser Einstellungen erfolgt dort dann so, wie Sie es von Visual Studio oder anderen RAD-Werkzeugen erwarten.
Das Auswählen einer Option in "TreeView Available Customizations" führt in vielen Fällen außerdem dazu, dass im unteren Teil des mittleren Panes MSDN-Informationen aufscheinen. Bei Nutzung des Windows Configuration Designer ist es also auf jeden Fall empfehlenswert, eine Internetverbindung zur Verfügung zu haben. Um Optionen hinzuzufügen, wählen Sie im ersten Schritt die gewünschte Rubrik im linken Fenster aus. Anschließend erscheint ein Konfigurationsdialog, der hier nur eine einzelne Combobox umfasst. Legen Sie eine Option fest, erscheint die angelegte Rubrik im rechten Treeview.
Windows PE
Als letztes Feature wollen wir auf Windows PE eingehen. Bis inklusive Windows 10 in Version 1809 war das Windows Pre-installation Environment direkt Teil des Windows-ADK. In späteren Versionen steht die zusätzliche Datei "akdwinpesetup.exe" zur Verfügung, die eine weitere Variante des vom gewöhnlichen Windows-ADK bekannten Installationsassistenten startet. Die eigentliche Auslieferung erfolgt dann nach dem bekannten Schema – zu beachten ist lediglich, dass eine vollständige Installation weitere 4 GByte an Speicher verbraucht.
Windows PE selbst ist ein funktionsreduziertes Windows, das für diverse Administrations- und Verwaltungsaufgaben sinnvoll sein kann. Wichtig ist bei seiner Nutzung die Beachtung der unter [9] im Detail dokumentierten Einschränkungen. Dazu zählt unter anderem, dass das System alle 72 Stunden automatisch neu startet und im Rahmen dieses Reboots alle zur Laufzeit gemachten Änderungen verwirft. Dieses Problem lässt sich durch Anpassung des Windows-PE-Images umgehen [10].
Fazit
Mit dem Windows ADK stellt Microsoft Administratoren einen reichen Werkzeugkasten zur Verfügung, der die Verwaltung von Windows-basierten Systemen effizienter gestaltet. Neben Methoden zur Quantifizierung der Performance von Systemen und der Erfassung von entsprechenden Problemen stellt Microsoft auch Werkzeuge zur Verfügung, die die Administration von Windows-Systemen automatisieren.