Windows In-Place Upgrade - Updates aus einem Guss
Mit Windows 10 hat Microsoft eine neue Update-Strategie ausgerufen. Es sieht so aus, dass es nicht mehr alle drei bis fünf Jahre ein neues Betriebssystem gibt, sondern kontinuierlich neue Funktionen in Windows eingebaut werden – unter kontinuierlich versteht Microsoft zweimal im Jahr. Diese In-Place Upgrade genannte Installation ersetzt die bestehende Windows-10-Version und bringt für den Admin jede Menge Arbeit mit sich.
Vorab zunächst eine Begriffsklärung, da Microsoft Produkt- und Servicenamen nicht selten ändert: Ein In-Place Upgrade bezeichnet das Einspielen eines sogenannten Feature Updates. Früher hießen diese Feature Updates Current Branch beziehungsweise Current Branch for Business, heute ist der Name Semi-Annual Channel gebräuchlich. In-Place Upgrades gibt es für die verschiedensten Produkte. Sie waren in Enterprise-Umgebungen bislang meist nicht die bevorzugte Wahl für einen Migrationsansatz.
Bei einem In-Place Upgrade handelt es sich im Prinzip um die Installation einer neuen Windows-Version, wobei die bestehenden Anwendungen und Einstellungen erhalten bleiben. Im Unternehmensumfeld wurden früher bei einer neuen Windows-Version die Systeme auch neu installiert und konfiguriert. Dies bedeutete zwar einen erheblichen Aufwand, ermöglichte aber, sozusagen nebenbei, eventuelle Altlasten mit der Neuinstallation zu entsorgen.
Seit Windows 10 ist der Standard, um von einer Version auf die nächste zu kommen, das In-Place Upgrade. In-Place Upgrades laufen mittlerweile meist stabil ab – was angesichts des Sechsmonatsturnus seitens des Herstellers aber erwartet werden kann. Die ersten Erfahrungen in der Praxis haben gezeigt, dass Sie beim Upgrade in größeren Umgebungen folgende Punkte beachten sollten:
- Microsoft empfiehlt, dass die Clients direkten Zugriff auf das Internet beziehungsweise die Updateserver für Windows im Internet haben sollten.
- Hardwarenahe Komponenten von Drittherstellern bereiten oft die größten Kopfschmerzen, etwa Produkte zur Festplattenverschlüsselung oder Virenscanner. Da diese sehr eng mit dem Betriebssystem verknüpft sind, bereiten besonders Optimierungen an den Sicherheitsfeatures von Windows Drittherstellern Probleme und verhindern einen reibungslosen Upgrade-Prozess.
Direkter Zugriff auf Updateserver
Können Ihre Clients im Unternehmen während des In-Place Upgrades direkt mit den Updateservern von Microsoft sprechen, so können sie sich problemlos die neuesten Update-Informationen laden. Dies sind etwa Kompatibilitätsinformationen oder aktualisierte Treiber. In einer voll gemanagten Umgebung, wo Clients keinen direkten Zugriff auf die Updateserver haben, sind eventuell ein paar Handgriffe für ein reibungsloses Update zu erledigen.
Diese speziellen Erfordernisse stehen in der Regel als Knowledge-Base-Artikel zum Download zu Verfügung, müssen aber erst identifiziert und dann in das OS integriert werden, auf das die Aktualisierung erfolgen soll. Zusätzlich holt sich Windows 10 von den Updateservern die sogenannten Feature Packs, das sind Sprachpakete für zum Beispiel Text-to-Speech oder Handschriftenerkennung. Auch diese Pakete sind im Unternehmen in ein Deployment zu integrieren.
Stolperfalle Dritthersteller
Hier haben Administratoren meist die wenigsten Möglichkeiten für aktive Lösungsansätze. Vielmehr sind sie abhängig von den Third-Party-Herstellern. Natürlich lohnt sich ein Blick auf die Release Notes der Hersteller, denn Windows-10-Support ist nicht gleich Windows-10-Support und es kommt immer auf die Version an. Unsere Empfehlung lautet, zumindest mittelfristig auf Microsoft-interne Produkte für Virenscanner und Festplattenverschlüsselung zurückzugreifen. Dies bedeutet am wenigsten Probleme mit der jeweils neuen Windows-10-Version, da die erwähnten Elemente Teil des Betriebssystems sind.
Ein weiterer wichtiger Aspekt ist die Sprache des Betriebssystems. Denn das Upgrade lässt sich nur mit einem OS in einer identischen Sprache durchführen, wollen Sie alle Anwendungen und Einstellungen erhalten. Trifft ein englisches Betriebssystem beim Upgrade auf einen Rechner, dessen Systemsprache Deutsch ist, kann das Upgrade nicht durchgeführt werden. Der empfohlene Weg ist deshalb, die Systemsprache immer auf Englisch zu stellen und für die Anwender dann entsprechende Sprachpakete zu installieren.
Unterstützung durch den SCCM
Microsofts hauseigenes Deployment-Tool ist der System Center Configuration Manager (SCCM), mit dem Sie natürlich auch über die Option des In-Place Upgrades verfügen. Dabei bietet der Configuration Manager zwei Möglichkeiten, die Aktualisierungen auszurollen.
Da gibt es zum einen das Servicing-Modell. Es funktioniert im Prinzip wie Windows-Updates, die Upgrades ausführen. Der Administrator definiert mehrere Ringe, die entsprechende Verzögerungswerte bekommen. Zum Beispiel erhält Ring 1 den Semi-Annual Channel sofort, Ring 2 nach 30 Tagen, Ring 3 den Long Term Servicing Channel (früher Current Branch for Business) et cetera. Dann weisem Sie den Ringen (Collections) die einzelnen Rechner zu. Das In-Place Upgrade wird dann im Rahmen des Windows Updates ausgeführt.
Der Ansatz dieser Methode ist zwar schön gedacht, in der Praxis aber recht untauglich, da sich das In-Place Upgrade dann nicht weiter steuern lässt. Sie können zum Beispiel keine Language Packs, keine Treiber oder sonstigen Elemente beisteuern. Dies entspricht in der Regel nicht den Ansprüchen deutscher Unternehmen an derartigen Upgrade-Mechanismen. Das Servicing-Modell kann aber dabei helfen, eine grafische Übersicht über den Versionsstand aller Windows-10-Clients zu erhalten.
Die Alternative ist die Task Sequence, in der Sie alle Schritte für das In-Place Upgrade definieren können. Durch eine Task Sequence lässt sich die Upgrade-Prozedur an die eigenen Anforderungen anpassen und auch Logfiles stellen kein Problem dar. Genau wie beim Servicing-Modell sollten Sie mehrere Deployment Ringe anlegen und Windows 10 schrittweise ausrollen. In der Praxis haben sich die Ringe beziehungsweise Collections etabliert wie in der Tabelle "Ringe innerhalb der Task-Sequence-Upgrade-Prozedur" dargestellt. Parallel zu Ring 6 startet dann schon wieder Ring 1 mit der nächsten Windows-10-Version. Es herrscht also permanent Bewegung in der Umgebung und das Windows-10-Projekt ist nie abgeschlossen, sondern ein andauernder Prozess.
Ringe innerhalb der Task-Sequence-Upgrade-Prozedur |
||
Ring |
Anwender |
Ab wann |
Ring 1 |
IT-Mitarbeiter |
Ein Monat nach Release der neuen Windows-Version, um die Infrastruktur vorzubereiten. |
Ring 2 |
Anwendungsverantwortliche |
Zwei Monate nach dem Release |
Ring 3 |
10 Prozent der Mitarbeiter |
Vier Monate nach dem Release |
Ring 4 |
20 Prozent der Mitarbeiter |
Fünf Monate nach dem Release |
Ring 5 |
50 Prozent der Mitarbeiter |
Sechs Monate nach dem Release |
Ring 6 |
100 Prozent der Mitarbeiter |
Sieben Monate nach dem Release |
Sinnvolle Task Sequence anlegen
Wie kann so eine Task Sequence aussehen, die einen stabilen Upgrade Prozess erlaubt? In SCCM erstellen Sie eine entsprechend vorbereitete Task Sequence, die Sie aber über die Funktion "Upgrade an Operating System from an Upgrade Package" noch erweitern sollten. Geben Sie hier die Standardparameter an und erstellen Sie eine Task Sequence für das In-Place Upgrade, wird zunächst eine Überprüfung des Clients auf RAM, CPU und optional Festplattenplatz durchgeführt, dann das In-Place Upgrade angestoßen und abschließend mögliche Rollback-Aktionen ausgeführt. Folgende Themen sollten Sie in der Task Sequence anpassen:
- Meldung für die Endanwender
- BitLocker
- Language Pack und Features on Demand
- Logging
- Treiber
- Anpassungen
Als Erstes sollten Sie eine "User Notification" definieren, um Anwender bestmöglich zu informieren. Wenn Bitlocker im Einsatz ist, müssen Sie es vor dem Upgrade deaktivieren. Dies führt zu einer temporären Sicherheitslücke, da ein unverschlüsseltes Windows angreifbarer ist. Mit dieser Sicherheitslücke müssen Sie leider leben.
Die Anpassung von Language Packs und Features on Demand betrifft insbesondere Kunden, die mehrere Sprachen einsetzen und den Clients direkten Zugriff auf Windows Update verbieten. Nach einem In-Place Upgrade sind die Sprachpakete nicht mehr vorhanden. Die Features on Demand sind Sprachpakete etwa für Text-to-Speech oder Tablet-Funktionen. Hat der Client Internetzugriff, holt er sich die Daten von Microsoft, andernfalls müssen Sie selbst die Pakete installieren. Für den Anwender ist es natürlich angenehmer, wenn die Sprachpakete gleich mit installiert werden. Zum Installieren nutzen Sie zum Beispiel das folgende PowerShell-Skript, das im gleichen Verzeichnis liegen muss wie das Sprachpaket:
$ScriptFullName = & {$MyInvocation.ScriptName}
$LangPacksPath = [string]$(Split-Path $Local:ScriptFullName)
Add-WindowsPackage -online -PackagePath $LangPacksPath -NoRestart -ea SilentlyContinue | Out-NULL
Was das Logging betrifft, ist es natürlich immer hilfreich zu wissen, was und warum etwas schiefgelaufen ist. Hier eine Liste mit Logfiles, die Sie mit den entsprechenden Befehlen kopieren sollten – dies sollte als erste Aktion des Rollbacks erfolgen:
cmd /c xcopy /Y /C C:\Windows\Temp\ WindowsSetupCompatScan.Log \\Server\Share\Win10_Inplace_Upgrade\%computername%\
cmd /c xcopy /C /Y C:\$WINDOWS.~BT\ Sources\Panther\*.log \Server\Share \Win10_Inplace_Upgrade\%computername%\
cmd /c xcopy /C /Y C:\Windows\ CCM\LOGS\SMSTSLOG\*.log \\Server\ Share \Win10_Inplace_Upgrade\%computername%\
cmd /c xcopy /C /Y C:\$WINDOWS. ~BT\Sources\Panther\*.xml \\Server\Share \Win10_Inplace_Upgrade\%computername%\
Eventuell fehlende oder neue Treiber importieren Sie mit den bekannten SCCM-Mechanismen. Letztendlich ist die Task Sequence natürlich auch nützlich, um allgemeine Anpassungen durchzuführen. Diese sind in der Regel das Entfernen von AppX, das Modifizieren der Taskleiste oder das Hinzufügen von Bildern für den Desktop-Hintergrund.
Dies alles zeigt, dass ein Standard-Servicing in SCCM nicht wirklich ausreichend ist, da sich genau diese Anpassungen nicht im Rahmen des Upgrades ausführen lassen.
Fazit
Das Durchführen von Betriebssystem-Upgrades stellt seit Windows 10 eine regelmäßige Aufgabe dar und passiert nicht nur alle drei bis fünf Jahre, sondern ungefähr alle sechs Monate. Insofern ist ein stabiler Prozess sehr wichtig, um Probleme zu vermeiden beziehungsweise diese schnell zu identifizieren. Viele Unternehmen haben derartige konstante Prozesse allerdings noch nicht etabliert. Die SCCM-Task-Sequence fungiert neben schnelleren Testzyklen als ein wichtiger Bestandteil dieses Bereitstellungsprozesses.
(ln) Author: Matthias Wessner
Aus dem IT-Administrator Magazin Ausgabe 1/2018: Softwareverteilung & Patchmanagement Seite 66-68