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 Windows Management Framework 4.0. You can download and install Windows Management Framework 4.0 from the Microsoft Download Center.

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-WindowsCapability

Installs a Windows capability package on the specified operating system image.

Add-WindowsDriver

Adds a driver to an offline Windows image.

Add-WindowsImage

Adds an additional image to an existing image (.wim) file.

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.

Expand-WindowsCustomDataImage

Expands a custom data image.

Expand-WindowsImage

Applies an image to a specified location.

Export-WindowsDriver

Exports all third-party drivers from a Windows image to a destination folder.

Export-WindowsImage

Exports a copy of the specified image to another image file.

Get-AppxProvisionedPackage

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

Get-WIMBootEntry

Displays the Windows image file boot (WIMBoot) configuration entries for a specified disk volume.

Get-WindowsCapability

Gets Windows capabilities for an image or a running operating system.

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-WindowsImageContent

Displays a list of the files and folders in a specified image.

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.

New-WindowsCustomImage

Captures an image of customized or serviced Windows components on a Windows Image File Boot (WIMBoot) configured device.

New-WindowsImage

Captures an image of a drive to a new WIM file.

Optimize-WindowsImage

Configures a Windows image with specified optimizations.

Remove-AppxProvisionedPackage

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

Remove-WindowsCapability

Uninstalls a Windows capability package from an image.

Remove-WindowsDriver

Removes a driver from an offline Windows image.

Remove-WindowsImage

Deletes the specified volume image from a WIM file that has multiple volume images.

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-AppXProvisionedDataFile

Adds custom data into the specified app (.appx) package that has been provisioned in a Windows image.

Set-WindowsEdition

Changes a Windows image to a higher edition.

Set-WindowsProductKey

Sets the product key for the Windows image.

Split-WindowsImage

Splits an existing .wim file into multiple read-only split .wim files.

Update-WIMBootEntry

Updates the Windows image file boot (WIMBoot) configuration entry, associated with either the specified data source ID, the renamed image file path or the moved image file path.

Use-WindowsUnattend

Applies an unattended answer file to a Windows image.