The Deployment Image Servicing and Management (DISM) platform is used to mount and service Windows images before deployment. A subset of DISM commands can be used on online Windows images. You can use DISM tools to mount, and get information about, Windows image (.wim) files or virtual hard disks (.vhd or .vhdx). You can also use it to install, uninstall, configure, and update Windows features, packages, and drivers in a Windows image or to change the edition of a Windows image.

This topic introduces the DISM cmdlets available in the DISM PowerShell module. This module is available in Windows 8.1 and Windows Server 2012 R2. On other supported operating systems, you can install the DISM module from the Windows Assessment and Deployment Kit (Windows ADK). For more information about how to use the DISM PowerShell module installed with the ADK, see How to Use DISM in Windows PowerShell.

For Windows 8.1 and Windows Server 2012 R2, Windows PowerShell 4.0 is included in the installation. For other supported versions of Windows and Windows Server, (including Windows 8, Windows 7 SP1, Windows Server 2012, and Windows Server 2008 R2 SP1), you must install the latest Windows Management Framework.

The DISM platform also includes a command-line tool, DISM.exe, and the DISM API. The command-line tool is available in the Windows Assessment and Deployment Kit (Windows ADK) and includes additional functionality that supports servicing commands for international settings.

You can check for errors when running DISM cmdlets by checking if the $?. If set to True the last operation succeeded. If False the last operation failed. The $LASTEXITCODE contains the exit code of the last Win32 executable run. For example, to check that the Get-WindowsImage cmdlet fails to get information about the Windows image contained in the file, E:\images\c.wim, type the following:


    Get-WindowsImage -ImagePath E:\images\c.wim
    $message = "TRAPPED: {0}: '{1}'" -f ($_.Exception.GetType().FullName), ($_.Exception.Message)
    Write-host $message

For more information about error handling, see the about_Try_Catch_Finally.



Adds an app package (.appx) that will install for each new user to a Windows image.


Adds a driver to an offline Windows image.


Adds a single .cab or .msu file to a Windows image.


Deletes all of the resources associated with a mounted image that has been corrupted.


Disables a feature in a Windows image.


Dismounts a Windows image from the directory it is mapped to.


Enables a feature in a Windows image.


Gets information about app packages (.appx) in an image that will be installed for each new user.


Displays information about drivers in a Windows image.


Gets edition information about a Windows image.


Gets information about a Windows image in a WIM or VHD file.


Gets information about optional features in a Windows image.


Gets information about packages in a Windows image.


Mounts a Windows image in a WIM or VHD file to a directory on the local computer.


Removes an app package (.appx) from a Windows image.


Removes a driver from an offline Windows image.


Removes a package from a Windows image.


Repairs a Windows image in a WIM or VHD file.


Applies changes made to a mounted image to its WIM or VHD file.


Changes a Windows image to a higher edition.


Sets the product key for the Windows image.


Applies an unattended answer file to a Windows image.