Параметры командной строки DISM (CAB или MSU) для обслуживания пакетов операционной системы

Используйте DISM с CAB-файлами Windows или файлами автономного установщика Центра обновлений Windows (MSU) для установки или удаления обновлений, пакетов обновления, языковых пакетов, а также для включения и отключения компонентов Windows. Это можно сделать автономно или в работающей установке Windows. Функциональные возможности являются дополнительными компонентами для базовой операционной системы.

Синтаксис

DISM.exe {/Image:<path_to_image_directory> | /Online} [dism_global_options] {servicing_option} [<servicing_argument>]

Для автономного образа доступны следующие параметры обслуживания пакетов операционной системы:

DISM.exe /Image:<path_to_image_directory> [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

Для работающей операционной системы доступны следующие параметры обслуживания пакетов операционной системы:

DISM.exe /Online [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

Параметры обслуживания пакетов операционной системы

В этом разделе подробно объясняется использование каждого из параметров обслуживания пакетов операционной системы. Регистр при использовании этих параметров значения не имеет.

/Get-Help /?

При использовании сразу после параметра командной строки, предназначенного для обслуживания пакетов, выводит сведения о параметре и аргументах.

При указании образа возможно отображение дополнительных сведений.

Примеры:

Dism /Image:C:\test\offline /Add-Package /?

Dism /Online /Get-Packages /?

/Get-Packages [/Format:{Table | List}]

Выводит основные сведения обо всех пакетах в образе. Используйте аргумент /Format:Table или /Format:List для отображения результата в виде таблицы или списка.

Примеры:

Dism /Image:C:\test\offline /Get-Packages

Dism /Image:C:\test\offline /Get-Packages /Format:Table

Dism /Online /Get-Packages

/Get-PackageInfo {/PackageName:< имя_в_образе> | /PackagePath:< путь_к_CAB-файлу>}

Отображает подробные сведения о пакете, предоставленном в виде CAB-файла. Можно указать только CAB-файлы. Эту команду не получится использовать для получения сведений о пакетах, представленных MSU-файлами. /PackagePath может указывать на CAB-файл или на папку.

Вы можете использовать параметр /Get-Packages для поиска имени пакета в образе или можете указать путь к CAB-файлу. Путь к CAB-файлу должен указывать на первоначальный источник пакета, а не на место установки файла в автономном образе.

Примеры:

Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab

Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Add-Package /PackagePath:< путь_к_CAB-файлу> [/IgnoreCheck] [ /PreventPending]

Устанавливает указанный CAB- или MSU-пакет в образ. С помощью одной команды можно добавить несколько пакетов. Будет проверена возможность применения каждого пакета. Если пакет неприменим к указанному образу, будет выведено сообщение об ошибке. Используйте аргумент /IgnoreCheck, если команда должна обрабатываться без проверки применимости каждого пакета.

Используйте параметр /PreventPending, чтобы пропустить установку пакета, если у пакета или образа Windows есть ожидающие выполнения действия. (Представлено в Windows 8 и Windows PE 4.0.)

/PackagePath может указывать на следующие объекты:

  • отдельный CAB- или MSU-файл;

  • папку, содержащую один развернутый CAB-файл;

  • папку, содержащую один MSU-файл;

  • папку, содержащую несколько CAB-файлов или MSU-файлов.

Примечание  

Если /PackagePath указывает на папку, содержащую CAB- или MSU-файлы в корне папки, любые вложенные папки также будут проверены на наличие CAB- и MSU-файлов.

 

Примеры:

Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu

Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck

Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\test\packages\package.cab /PreventPending

/Remove-Package {/PackageName:< имя_в_образе> | /PackagePath:< путь_к_CAB-файлу>}

Удаляет пакет указанного CAB-файла из образа. Можно указать только CAB-файлы. Эту команду не получится использовать для удаления MSU-файлов.

Примечание  

Эта команда позволяет удалить пакет из автономного образа без уменьшения размера образа.

 

Параметр /PackagePath позволяет указать первоначальный источник пакета, задать путь к CAB-файлу или указать пакет по имени, используемому при его перечислении в образе. Используйте параметр /Get-Packages для поиска имени пакета в образе.

Примеры.

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab

/Get-Features {/PackageName:< имя_в_образе> | /PackagePath:< путь_к_CAB-файлу>} [/Format:{Table | List}]

Выводит основные сведения обо всех функциональных возможностях (компонентах операционной системы, содержащих дополнительные возможности базового пакета Windows) в пакете. Вы можете использовать параметр /Get-Features для поиска имени пакета в образе или можете указать путь к первоначальному источнику пакета. Если для пакета не заданы имя или путь, будут перечислены все компоненты, содержащиеся в образе. /PackagePath может указывать на CAB-файл или на папку.

При обслуживании не Windows 8, а другого образа имена компонентов должны вводиться с учетом регистра.

Используйте аргумент /Format:Table или /Format:List для отображения результата в виде таблицы или списка.

Примеры:

Dism /Image:C:\test\offline /Get-Features

Dism /Image:C:\test\offline /Get-Features /Format:List

Dism /Image:C:\test\offline /Get-Features /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

Dism /Image:C:\test\offline /Get-Features /PackagePath:C:\packages\package1.cab

/Get-FeatureInfo /FeatureName:<имя_в_образе>[{/PackageName:< имя_в_образе> | /PackagePath:< путь_к_CAB-файлу>}]

Выводит подробные сведения о компоненте. Следует использовать /FeatureName. При обслуживании не Windows 10 или Windows 8.x, а другого образа имена компонентов должны вводиться с учетом регистра. Вы можете использовать параметр /Get-Features для поиска имени компонента в образе.

/PackageName и /PackagePath — необязательные параметры и могут использоваться для поиска конкретного компонента в пакете.

Примеры:

Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts

Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts /PackagePath:C:\packages\package.cab

/Enable-Feature /FeatureName:<имя_в_образе>[/PackageName:<имя_в_образе>] [/Source: <источник>] [/LimitAccess][/All]

Включает или обновляет указанный компонент в образе. Необходимо использовать параметр /FeatureName. При обслуживании не Windows 8, а другого образа имена компонентов должны вводиться с учетом регистра. Используйте параметр /Get-Features для поиска имени компонента в образе.

Вы можете указать параметр /FeatureName несколько раз в одной командной строке для компонентов, которые совместно используют одинаковый родительский пакет.

Вам не нужно указывать имя пакета с помощью параметра /PackageName, если это пакет Windows Foundation. В противном случае используйте /PackageName, чтобы указать родительский пакет компонента.

Вы можете восстановить и включить компонент, который ранее был удален из образа. Используйте аргумент /Source, чтобы указать расположение файлов, необходимых для восстановления компонента. Источником файлов может быть папка Windows в подключенном образе, например c:\test\mount\Windows. В качестве источника файлов можно использовать папку Windows SxS, например: z:\sources\SxS.

Если указано несколько аргументов /Source, сбор файлов выполняется из первого расположения, в котором они были найдены, а оставшиеся расположения игнорируются. Если вы не указываете параметр /Source для удаленного компонента, используется расположение по умолчанию в реестре или, для образов в сети, используется Центр обновления Windows (WU).

Используйте /LimitAccess, чтобы запретить DISM подключение к Центру обновления Windows для получения сетевых образов.

Используйте параметр /All, чтобы включить все родительские компоненты указанного компонента.

Аргументы /Source, /LimitAccess и /All можно использовать в образах Windows 10, Windows 8.x и образах Windows PE версии старше 4.0.

Примеры:

Dism /Online /Enable-Feature /FeatureName:Hearts /All

Dism /Online /Enable-Feature /FeatureName:Calc /Source:c:\test\mount\Windows /LimitAccess

Dism /Image:C:\test\offline /Enable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Disable-Feature /FeatureName:< имя_в_образе> [/PackageName:< имя_в_образе>] [/Remove]

Отключает указанный компонент в образе. Необходимо использовать параметр /FeatureName. При обслуживании не Windows 8, а другого образа имена компонентов должны вводиться с учетом регистра. Используйте параметр /Get-Features для поиска имени компонента в образе.

Вы можете указать параметр /FeatureName несколько раз в одной командной строке для компонентов в одном родительском пакете.

Вам не нужно указывать имя пакета с помощью параметра /PackageName, если это пакет Windows Foundation. В противном случае используйте /PackageName, чтобы указать родительский пакет компонента.

Используйте параметр /Remove, чтобы удалить компонент, не удаляя манифест компонента из образа. Этот параметр можно использовать только в образах Windows 10, Windows 8.x и Windows PE версии старше 4.0. Компонент будет указан как "Удаленный" при использовании параметра /Get-FeatureInfo для отображения сведений о компоненте. Его можно восстановить и активировать, используя /Enable-Feature с параметром /Source.

Примеры:

Dism /Online /Disable-Feature /FeatureName:Hearts

Dism /Image:C:\test\offline /Disable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Cleanup-Image {/RevertPendingActions | /SPSuperseded [/HideSP] | /StartComponentCleanup [/ResetBase] | /AnalyzeComponentStore | /CheckHealth | /ScanHealth | /RestoreHealth [/Source: <путь_к_файлу>] [/LimitAccess]}

Выполняет операции очистки или восстановления образа.

При сбое загрузки вы можете использовать параметр /RevertPendingActions, чтобы попытаться восстановить систему. Эта операция отменяет все ожидающие действия предыдущих операций обслуживания, так как эти действия могут быть причиной сбоя при загрузке. Параметр /RevertPendingActions не поддерживается для работающей операционной системы и для образа Windows PE или Windows RE.

Важно   Параметр /RevertPendingActions следует использовать только в сценарии восстановления системы в образе Windows, который не загрузился.
 

Используйте параметр /SPSuperseded для удаления всех файлов резервных копий, созданных при установке пакета обновления. Используйте /HideSP, чтобы пакет обновления не был указан в панели управления Installed Updates.

Важно   После завершения операции /SPSuperseded будет невозможно удалить пакет обновления.
 

Используйте параметр /StartComponentCleanup для удаления замененных компонентов и уменьшения размера хранилища компонентов. Используйте параметр /ResetBase, чтобы восстановить исходное состояние базы замененных компонентов и тем самым еще уменьшить размер хранилища компонентов.

Предупреждение   Невозможно удалить установленные обновления Windows после выполнения /StartComponentCleanup с параметром /ResetBase.
 

Используйте /AnalyzeComponentStore для создания отчета о хранилище компонентов. Подробнее об отчете и использовании сведений в нем см. в разделе Определение фактического размера папки WinSxS.

Используйте параметр /CheckHealth, чтобы проверить, был ли образ помечен как поврежденный незавершенным в результате ошибки процессом и можно ли исправить повреждение.

Используйте /ScanHealth для проверки образа на наличие повреждений в хранилище компонентов. Эта операция может занять несколько минут.

Используйте /RestoreHealth для проверки образа на повреждение хранилища компонентов и автоматического выполнения операций восстановления. Эта операция может занять несколько минут.

Используйте /Source с параметром /RestoreHealth, чтобы указать расположение заведомо неповрежденные версии файлов, которые можно использовать для восстановления, например путь к каталогу Windows подключенного образа.

Если указано несколько аргументов /Source, сбор файлов выполняется из первого расположения, в котором они были найдены, а оставшиеся расположения игнорируются. Если вы не указываете параметр /Source для удаленного компонента, используется расположение по умолчанию в реестре или, для образов в сети, используется Центр обновления Windows (WU).

Используйте /LimitAccess, чтобы запретить DISM подключение к Центру обновления Windows для восстановления сетевых образов.

/AnalyzeComponentStore и /ResetBase можно использовать в образах Windows 10, Windows 8.1 и Windows PE версии старше 5.0.

Совет  

Чтобы определить, когда параметр /ResetBase запускался в последний раз, проверьте запись реестра LastResetBase_UTC по следующему пути:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing

 

/StartComponentCleanup можно использовать в образах Windows 10, Windows 8.x и образах Windows PE версии старше 4.0.

/CheckHealth, /ScanHealth, /RestoreHealth, /Source и /LimitAccess можно использовать в образах Windows 10, Windows 8.x и образах Windows PE версии старше 4.0.

/HideSP и /SPSuperseded невозможно использовать при обслуживании более ранних версий Windows, чем Windows 7 с пакетом обновления 1 (SP1).

Примеры:

Dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions

Dism /Image:C:\test\offline /Cleanup-Image /SPSuperseded /HideSP

Dism /Online /Cleanup-Image /ScanHealth

Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess

Подробнее см. в разделе Восстановление образа Windows.

Ограничения

  • При установке пакета в автономный образ из-за ожидающих сетевых действий пакет будет иметь состояние «ожидается установка». Другими словами, пакет будет установлен после того, как образ будет загружен, а ожидающие сетевые действия выполнены. Если запрашиваются последующие действия, они не могут быть обработаны до завершения предыдущего ожидающего сетевого действия. Вы можете использовать параметр /PreventPending при добавлении пакета с /AddPackage, чтобы пропустить установку пакета при наличии ожидающих сетевых действий.
  • Для установки некоторых пакетов требуется предварительно установить другие пакеты. Не следует считать, что при установке все зависимости будут удовлетворяться автоматически. При наличии требований к зависимостям для установки необходимых пакетов следует использовать файл ответов. С помощью передачи файла ответов в DISM можно установить несколько пакетов в нужном порядке. Это рекомендуемый способ установки нескольких пакетов. Дополнительные сведения см. в разделе Добавление и удаление пакетов в автономном режиме с помощью DISM.
  • Пакеты устанавливаются в том порядке, в котором они перечислены в командной строке.
  • При использовании DISM для вывода списков дополнительных компонентов в образе среды предустановки Windows дополнительные компоненты всегда будут перечисляться как ожидающие, даже если операция обслуживания была успешно выполнена. Это предусмотрено алгоритмом программы и не требует от пользователя никаких дополнительных действий.

Связанные разделы

Что такое DISM?
Параметры командной строки для управления образами DISM
Параметры командной строки системы обслуживания образов развертывания и управления ими (DISM)

 

 

Показ: