DISM

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:

try
{

    Get-WindowsImage -ImagePath E:\images\c.wim
}
catch
{
    $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.

DISM

Add-AppxProvisionedPackage

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

Add-WindowsDriver

Adds a driver to an offline Windows image.

Add-WindowsPackage

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

Clear-WindowsCorruptMountPoint

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

Disable-WindowsOptionalFeature

Disables a feature in a Windows image.

Dismount-WindowsImage

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

Enable-WindowsOptionalFeature

Enables a feature in a Windows image.

Get-AppxProvisionedPackage

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

Get-WindowsDriver

Displays information about drivers in a Windows image.

Get-WindowsEdition

Gets edition information about a Windows image.

Get-WindowsImage

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

Get-WindowsOptionalFeature

Gets information about optional features in a Windows image.

Get-WindowsPackage

Gets information about packages in a Windows image.

Mount-WindowsImage

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

Remove-AppxProvisionedPackage

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

Remove-WindowsDriver

Removes a driver from an offline Windows image.

Remove-WindowsPackage

Removes a package from a Windows image.

Repair-WindowsImage

Repairs a Windows image in a WIM or VHD file.

Save-WindowsImage

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

Set-WindowsEdition

Changes a Windows image to a higher edition.

Set-WindowsProductKey

Sets the product key for the Windows image.

Use-WindowsUnattend

Applies an unattended answer file to a Windows image.