DISM Befehlsübersicht: Images anpassen, Windows reparieren, Optionale Features und Datei-Zuordnungen verwalten


    Tags: , ,

    Image-Management mit DISMDie meisten IT-Admins kennen Deployment Image Services and Management (DISM) vom Mounten und Anpassen von Windows-Images. DISM ist jedoch ein viel­seitiges Utility, das einige weniger bekannte Funk­tionen bietet. Dazu zählen die Wartung von Apps und Treibern, die Änderung der OS-Edition oder das Zurück­setzen 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 korres­pondierenden PowerShell-Cmdlets verfügen über die gleichen Funktionen.

    Anzeigen der Online-Hilfe für DISM, die jedoch nicht alle Optionen enthält

    Sie sollten bedenken, dass DISM nur Images für solche Versionen des Betriebs­systems 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 Referenz­abbild 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

    Verfügbare Windows-Editionen für das aktuelle Windows-System anzeigen

    Um Windows auf eine höhere Edition hochzustufen, müssen Sie den Schalter /AcceptEula verwenden und einen Produkt­schlü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

    Systemintegrität mit DISM prüfen

    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 Betriebs­system­paketen 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

    RSAT für WSUS mit DISM installieren

    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 Datei­zuordnungen von einem Quell-Computer zu exportieren, gehen Sie so vor:

    Dism.exe /Online /Export-DefaultAppAssociations:C:\AppAssoc.xml

    Dateizuordnungen in eine XML-Datei exportieren

    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 Gruppen­richt­linie.

    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 Betriebs­system­pakete verwalten.

    Darüber hinaus können sie das Eingabeprofil, die Zeitzone und das Tastatur-Layout ändern und die Windows-Edition wechseln, Dateizu­ordnungen 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

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Brandon Lee

    Brandon Lee ist seit mehr als 18 Jahren in der IT-Branche tätig und konzen­triert sich auf Networking und Virtua­lisie­rung. Er ver­öffent­licht auf ver­schie­denen Blogs und ver­fasst tech­nische Doku­men­ta­tionen, haupt­sächlich auf Virtualizationhowto.com.
    // Kontakt: Web, E-Mail, LinkedIn //

    Verwandte Beiträge

    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.