Windows 10 / 11 – Angepasstes Image mit DISM erstellen

Für Privatanwender sind die Standard-Windows-ISOs in 99% der Fälle völlig ausreichend, da der Heimrechner nicht alle Tage oder Wochen neu installiert wird und keine spezifischen Anpassungen vonnöten sind.

Bei Unternehmen sieht das schon wieder ganz anders aus. Hier kann es durchaus vorkommen, dass regelmäßig PC aufgesetzt und bereitgestellt werden müssen. Eine Standard-Windows-ISO ist hierbei eher mit Mehrarbeit verbunden und kann damit nicht eingesetzt werden.

Für diese Zwecke gibt es das Tool DISM (Deployment Image Servicing and Management). Mit Hilfe dieses Tools können Windows Images beliebig angepasst werden. So ist es u. a. möglich vorinstallierte Apps zu entfernen, Windows-Features zu aktivieren oder zu deaktivieren, Windows-Updates hinzuzufügen und vieles mehr. Ziel ist es ein „Golden Image“ zu erstellen, welches als Basisvorlage für alle weiteren Bereitstellungen dient und den Arbeitsaufwand verringert.

In diesem Beitrag werden die Installation und Konfiguration der Bereitstellungstools, sowie die Funktionsweise und einige Möglichkeiten erläutert.

Hinweis: Alles auf eigene Gefahr!

Lösung

Zuerst wird eine Windows 10 oder Windows 11 ISO benötigt.

Hinweis: Windows Server wäre ebenfalls möglich. Der Fokus hier liegt aber auf Clients.

Anschließend das Windows Assessment and Deployment Kit (Windows ADK) herunterladen und installieren.

Den Lizenzvertrag annehmen.

Die Feature-Auswahl auf Standard belassen und Installieren klicken.

Hinweis: Es müssen nicht alle Tools installiert werden! Die Bereitstellungstools würden hier auch ausreichen.

Nach Abschluss der Installation den Setup mit Schließen beenden.

Im nächsten Schritt empfehle ich drei Ordner anzulegen:

  • WIM: Hier wird die Install.WIM aus der Windows ISO hineinkopiert
    • Die Install.WIM ist in der Windows ISO im Ordner Sources zu finden.
  • ISO: Hier wird die komplette Windows-ISO entpackt.
  • Mount: Hier wird die WIM gemountet („Arbeitsumgebung“).

Die Ordner WIM und ISO befüllen.

Eine PowerShell-Sitzung als Administrator starten.

Bevor es losgehen kann, muss der Index der zu verwendeten Windows-Version herausgefunden werden.

Für Unterhemen wäre das Windows Pro oder Windows Enterprise. In diesem Beispiel dient die Enterprise-Version als Basis.

Herausgefunden werden kann dies mit folgendem PowerShell-Befehl:

dism.exe /get-imageinfo /imagefile:PfadZurInstallWIM

Der Output sieht ungefähr wie im unteren Bild aus. Da in diesem Bespiel mit Windows Enterprise gearbeitet werden soll, muss Index 3 „gemerkt“ werden.

Jetzt ist es an der Zeit die Install.WIM zu mounten, um damit arbeiten zu können. Vereinfacht gesagt, wird hier der Arbeitsbereich eingerichtet.

Dazu wieder in die PowerShell wechseln und mit folgendem Befehl die Install.WIM aus dem WIM-Ordner mit Index 3 in den Ordner Mount anhängen.

Hinweis: Der Befehl ist an dieses Beispiel angepasst. Die Pfade und der Index müssen dementsprechend geändert werden.

sdism /mount-wim /wimfile:C:\temp\WIM\install.wim /mountdir:C:\temp\Mount /index:3

Der Vorgang kann einen kurzen Moment dauern.

Damit ist die Arbeitsumgebung vorbereitet und die Arbeit kann beginnen.

Windows wird bekanntermaßen mit allerlei Apps ausgeliefert, welche in Unternehmensumgebungen eher keine Verwendung finden und daher entfernt werden sollten.

Um einen Überblick der vorhandenen Apps zu erhalten, wieder in die PowerShell gehen und wie folgt ausführen:

dism.exe /image:C:\temp\Mount /Get-ProvisionedAppxPackages > C:\temp\software.txt

Hinweis: Der Befehl schreibt den Output in eine Textdatei namens Software.txt und legt diese im definierten Pfad C:\temp\software.txt ab. Für mich ist das übersichtlicher, als den kompletten Output in einem PowerShell-Fenster zu haben. Natürlich kann man es auch weglassen. Dafür muss alles nach Get-ProvisionedAppxPackages entfernt werden.

Der Output sieht ungefähr so aus:

Aus dieser Liste nun den PackageName jeder App heraussuchen die entfernt werden soll.

Hinweis: Leider kann nicht jede App entfernt werden. Dazu gehören Microsoft Edge, Cortana und ein paar andere Apps. Des Weiteren gibt es Apps die zwar entfernt werden könnten, aber nicht unbedingt sollten. Als Beispiel sei hier der Microsoft Store erwähnt. Dieser sollte lieber per GPO deaktiviert werden, da er ggf. später einmal benötigt werden könnte.

Eine Beispielliste an zu entfernenden Apps:

Um diese Apps zu entfernen, muss in PowerShell gewechselt werden und folgender Befehl mit dem entsprechenden PackageName abgesetzt werden:

(Als Beispiel mit der oberen App-Liste)

dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Microsoft3DViewer_6.1908.2042.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_18.1903.1152.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftSolitaireCollection_4.4.8204.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MixedReality.Portal_2000.19081.1301.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2019.305.632.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_14.53.77.0_neutral_~_kzf8qxf38zg5c
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Wallet_2.4.18324.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsAlarms_2019.807.41.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsMaps_2019.716.2316.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Xbox.TCUI_1.23.28002.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxApp_48.49.31001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGameOverlay_1.46.11001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGamingOverlay_2.34.28001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxIdentityProvider_12.50.6001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxSpeechToTextOverlay_1.17.29001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.YourPhone_2019.430.2026.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe

Auch hier kann es eine Weile dauern, bis der Vorgang abgeschlossen ist.

Optional können auch Windows Features aktiviert oder deaktiviert werden.

In diesem Beispiel deaktiviere ich das unsichere SMB1-Protokoll.

dism.exe /image:C:\temp\Mount /disable-feature /featurename:smb1protocol

Ebenso ist es möglich dem Image Windows-Updates hinzuzufügen.

Dafür müssen die entsprechenden Updates vom Microsoft Update Katalog heruntergeladen, der individuelle Pfad im PowerShell-Befehl angegeben und dieser anschließend ausgeführt werden:

Dism /Add-Package /Image:C:\temp\Mount /PackagePath=C:\temp\windows10.0-kb4456655-x64_fca3f0c885da48efc6f9699b0c1eaf424e779434.msu

Zum Schluss müssen die gemachten Änderungen noch übernommen werden. Auch hierzu gibt es einen PowerShell-Befehl:

Hinweis: Möchte man die Schritte rückgängig machen, so einfach den Befehl mit /discard statt /commit ausführen.

dism.exe /unmount-wim /mountdir:C:\temp\Mount /commit

Nach Abschluss kann das PowerShell-Fenster geschlossen werden.

Im letzten Schritt muss die ursprüngliche Install.WIM im ISO-Ordner mit der bearbeiteten Install.WIM aus dem WIM-Ordner überschrieben werden.

Anschließend sind die Daten im ISO-Ordner bereit auf einem Windows-installationsdatenträger bereitgestellt zu werden.

Weitere Informationen sind direkt bei Microsoft zu finden.