Tags: OS Deployment, System-Management, VHD
Die meisten IT-Admins kennen Deployment Image Services and Management (DISM) vom Mounten und Anpassen von Windows-Images. DISM ist jedoch ein vielseitiges Utility, das einige weniger bekannte Funktionen bietet. Dazu zählen die Wartung von Apps und Treibern, die Änderung der OS-Edition oder das Zurücksetzen von Windows auf eine frühere Version.
DISM ist in Windows enthalten und lässt sich vor allem für die Arbeit mit Windows-Images (WIM, Full Flash Update (FFU)) sowie für Operationen mit VHD- und VHDX-Laufwerke einsetzen. DISM.exe und die korrespondierenden PowerShell-Cmdlets verfügen über die gleichen Funktionen.
Sie sollten bedenken, dass DISM nur Images für solche Versionen des Betriebssystems warten kann, die gleich oder älter sind als die installierte Version von DISM. Außerdem ist immer eine Sitzung mit erweiterten Rechten erforderlich, und sei es nur, um die Online-Hilfe anzuzeigen.
WIM mounten und anpassen
DISM wird in erster Linie zum Erfassen und Warten von Windows-Abbildern für den anschließenden Rollout auf Geräte verwendet. Sie können DISM auch für die Bereitstellung mit Microsoft Deployment Toolkit (MDT) verwenden. Umgekehrt kann DISM auch mit MDT erfasste Images warten.
Das Mounten, Warten und Aushängen eines WIM umfasst die folgenden Befehle (in diesem Beispiel fügen wir dem Image ein Sprachpaket hinzu):
dism /Mount-Wim /MountDir:mount /wimfile:boot.wim /index:1
dism /image:mount /Add-Package /PackagePath: "e: \lp.cab"
dism /Unmount-Wim /MountDir:mount /commit
Wenn Sie die Änderungen an einem Image nicht übernehmen möchten, verwenden Sie beim Aushängen /Discard anstelle von /Commit. Sie können Änderungen an der WIM-Datei auch speichern, ohne sie auszuhängen, indem Sie folgenden Befehl ausführen:
DISM.exe /Commit-Image /MountDir:mount
Image erfassen und anwenden
Sie können ein Windows-Abbild folgendermaßen erfassen:
Dism /Capture-Image /ImageFile:install.wim /CaptureDir:D:\ /Name:Drive-D
Um es auf einen Rechner anzuwenden, geben Sie einen Befehl nach folgendem Muster ein:
Dism /apply-image /imagefile:N:\Images\my-partition.wim /index:1 /ApplyDir:W:\
Treiber hinzufügen und entfernen
Wenn Sie dasselbe Image für mehrere Rechner mit unterschiedlicher Hardware bereitstellen, dann enthält das Referenzabbild möglicherweise nicht alle Treiber, die für die diversen Komponenten benötigt werden. DISM bietet daher die Möglichkeit, Treiber zum Offline-Image hinzuzufügen. Für das folgende Beispiel hinterlegt man alle benötigten Treiber in einem Ordner und DISM fügt sie rekursiv zum Windows-Image hinzu.
Dism /image:C:\test\offline /Add-Driver /driver:C:\test\drivers /recurse
Umgekehrt lassen sich Treiber auf diese Weise entfernen:
Dism /image:C:\test\offline /Remove-Driver /driver:oem1.inf
Weniger bekannte DISM-Optionen
Über das grundlegende Warten von Images hinaus bietet DISM auch Funktionen, die nicht so gängig und für eine Vielzahl von Aufgaben nützlich sind. Unter anderem kann man damit:
- Sprache der Benutzeroberfläche (UI) festlegen
- Eingabeformate und des Tastatur-Layouts bestimmen
- Zeitzone im Windows-Image wählen
- Windows-Edition ändern
- Pakete oder Dienste aktualisieren mithilfe einer unattend.xml
- PCs auf eine frühere Windows-Installation zurücksetzen
- Frühere Windows-Versionen entfernen
- Windows-Abbilder und VHD/VHDX-Dateien reparieren
- AppX und MSU-Dateien installieren
- Optionale Features hinzufügen oder entfernen
- Dateizuordnungen verwalten
Einstellungen für Region und Sprache
Keiner der folgenden Befehle lässt sich auf ein Live-System anwenden, da der International-Provider den Schalter /online nicht unterstützt. Sie beschränken sich somit auf Offline-Images.
Anzeigesprache für Windows ändern
Angenommen, Sie haben ein Referenz-Image für das Deployment erzeugt. Wenn Sie dieses an mehreren Standorten bereitstellen möchten, können Sie die Anzeigesprache mit DISM überall anpassen, anstatt ein Referenzabbild für jedes Land von Grund auf neu zu generieren:
Dism /image:C:\test\offline /Set-SysUILang:en-US
Lokale Eingabeprofile und Tastatur-Layout anpassen
Diese Funktion ist wie das Ändern der Anzeigesprache in international agierenden Firmen willkommen. Für diese Option kann man Länder-Codes oder einen numerischen Wert angeben:
Dism /image:C:\test\offline /Set-InputLocale:fr-fr
Dism /image:C:\test\offline /Set-InputLocale:0410:00010410
Zeitzone setzen
Sie können die Zeitzone für ein Offline-Image festlegen, bevor es in unterschiedlichen Regionen bereitgestellt wird:
Dism /image:C:\test\offline /Set-TimeZone"Central Standard Time"
Windows-Edition abfragen und ändern
Angenommen, Sie möchten die verfügbaren Windows-Editionen prüfen, die für ein bestimmtes Windows-Image (online und offline) ausgewählt werden können:
Dism /Image:C:\test\offline /Get-TargetEditions
Um Windows auf eine höhere Edition hochzustufen, müssen Sie den Schalter /AcceptEula verwenden und einen Produktschlüssel eingeben:
Dism /online /Set-Edition:<edition name> /AcceptEula /ProductKey:12345-67890-12345-67890-12345
Pakete oder Dienste aktualisieren mit einer Antwortdatei
Ähnlich wie bei der Verwendung einer Antwortdatei bei der Windows-Installation können Sie eine unattended.xml nutzen, um Software-Pakete und Dienste mit DISM zu aktualisieren:
Dism /image:C:\test\offline /Apply-Unattend:C:\test\answerfiles\myunattend.xml
PC auf frühere Windows-Installation zurücksetzen
DISM bietet die Möglichkeit, zu einer älteren Windows-Version zurückzukehren. Voraussetzung dafür ist natürlich, dass diese unter \windows.old noch nicht entfernt wurde. Diesem Zweck dient dieser Befehl:
DISM /Online /Initiate-OSUninstall [/NoRestart|/Quiet]
Frühere Windows-Version entfernen
Wenn Sie die Option, zu einer früheren Version von Windows zurückzukehren nicht mehr benötigen und zudem Speicherplatz freimachen möchten, dann kann DISM das entbehrliche Betriebssystem löschen:
DISM /Online /Remove-OSUninstall
Windows-Abbilder und VHDs reparieren
Eine der praktischen Funktionen von DISM besteht darin, Online- und Offline-Images sowie VHD/VHDX-Dateien zu reparieren. Sie können diese so auf Beschädigungen scannen:
Dism /Online /Cleanup-Image /ScanHealth
Um ein Image zu reparieren, nutzen Sie diesen Befehl:
Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\mount\windows
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess
APPX und MSU verwalten
DISM ist in der Lage, Anwendungspakete (.appx oder .appxbundle) sowie Pakete für das Betriebssystem (CAB- oder MSU-Dateien) zu verwalten.
APPX abfragen, hinzufügen oder löschen
Bereitgestellte APPX-Pakete lassen sich so ermitteln:
Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages
Zum Hinzufügen dient dieser Befehl:
dism.exe /Add-ProvisionedAppxPackage {/FolderPath:<App_folder_path> [/SkipLicense\] [/CustomDataPath:<custom_file_path>] /PackagePath:<main_package_path> [/DependencyPackagePath:<dependency_package_path>] {[/LicensePath:<license_file_path>] [/SkipLicense\]} [/CustomDataPath:<custom_file_path>]} [/Region:<region>]
AppX entfernen
Diese Möglichkeit ist hilfreich, wenn man die mit Windows ausgelieferten Store Apps löschen möchte:
Dism /Image:C:\test\offline /Remove-ProvisionedAppxPackage /PackageName:<PackageName>
Packages hinzufügen und entfernen
DISM kann man auch zur Verwaltung von Betriebssystempaketen mit CAB- oder MSU-Dateien verwenden:
Dism /Image:C:\test\offline /Get-Packages
Package zu einem Windows-Image hinzufügen:
Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending]
Ein Package lässt sich so entfernen:
Dism /Image:C:\test\offline /LogPath:RPackage.log /Remove-Package {/PackageName:<Name-im-Image> | /PackagePath:<Pfad-zur-CAB>}
Optionale Features und Features on Demand verwalten
Um die optionalen Features in einem Image anzuzeigen, rufen Sie DISM so auf (online und dann offline):
Dism /online /Get-Features
Dism /Image:C:\test\offline /Get-Features
Um ein Windows-Feature hinzufügen (in unserem Beispiel TFTP), geht man so vor:
Dism /online /Enable-Feature /FeatureName:TFTP /All
Dism /Image:C:\test\offline /Enable-Feature /FeatureName:TFTP /All
Um es zu entfernen, nutzt man diesen Befehl:
Dism /online /Disable-Feature /FeatureName:TFTP
Dism /Image:C:\test\offline /Disable-Feature /FeatureName:TFTP
Microsoft nennt Funktionspakete entweder optionale Features oder Features on Demand (FoD), wobei die Unterscheidung zwischen diesen beiden nicht recht klar ist. Dieser Befehl zeigt alle verfügbaren FoD an, sowohl die installierten als auch die nicht vorhandenen:
Dism /Online /Get-Capabilities
Um beispielsweise die RSAT für WSUS zu installieren, ruft man DISM so auf:
Dism /Online /Add-Capability /CapabilityName:Rsat.WSUS.Tools~~~~0.0.1.0
Um es zu entfernen, ersetzt man den Schalter /Add-Capability durch /Remove-Capability.
Dateiverknüpfungen verwalten
Mit DISM kann man auch festlegen, welche Anwendung einen bestimmten Dateityp öffnet, sowohl für ein Online-Windows als auch für Offline-Images. Um die Dateizuordnungen von einem Quell-Computer zu exportieren, gehen Sie so vor:
Dism.exe /Online /Export-DefaultAppAssociations:C:\AppAssoc.xml
Sie können die exportierte XML-Datei dann auf einem Zielrechner oder in ein neues Image so importieren:
Dism.exe /Online /Import-DefaultAppAssociations:C:\AppAssoc.xml
Dism.exe /Image:C:\test\offline /Import-DefaultAppAssociations:C:\AppAssoc.xml
Die Exportdatei eignet sich übrigens auch für die Verteilung per Gruppenrichtlinie.
Zusammenfassung
Mit dem Dienstprogramm DISM können Admins alle möglichen Operationen mit Windows-Images und virtuellen Festplatten durchführen. Zumeist wird es für das Mounten, das Erfassen und das Anwenden von Windows-Images eingesetzt.
DISM verfügt jedoch über viele Funktionen, die weniger bekannt sind. Wie gezeigt, lassen sich damit Anwendungen, Treiber, APPX- und Betriebssystempakete verwalten.
Darüber hinaus können sie das Eingabeprofil, die Zeitzone und das Tastatur-Layout ändern und die Windows-Edition wechseln, Dateizuordnungen kontrollieren, Images und VHD/VHDX-Dateien reparieren und zu früheren Windows-Installationen zurückkehren.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Windows-Features offline in einer virtuellen Maschine installieren
- Angepasstes Image von Windows 10 erstellen mit PowerShell und Hyper-V
- Convert-WindowsImage: Windows automatisch in einer VHDX installieren
- VM oder Hardware: Nano Server 2016 installieren
- Rollen und Features mit Server Manager offline in VHDX installieren
Weitere Links
1 Kommentar
Sehr zu empfehlen in diesem Zusammenhang sind folgende Community Tools:
- WIMwitch
- DISMGUI
Ebenfalls gibt es für viele Kommandos auch PowerShell Cmdlets, die im Syntax deutlich einfacher sind als nativ in DISM.
z.B. Repair-WindowsImage.