Как использовать DISM Tool для управления Windows Features

Инструмент командной строки DISM (Deployment Image Servicing and Management) и связанный с ним модуль Powershell являются мощными инструментами для манипулирования файлами образа Windows с расширением .wim, файлами виртуальных жестких дисков .vhd, а также для управления функциями и драйверами Windows.

Еще более мощным является возможность обслуживания offline изображений. В прошлом было много утилит, которые использовались, но DISM предназначен для замены PEimg, Intlcfg, ImageX и Package Manager.

 

Использование DISM

Для начала откройте командную строку и просто введите dism. Первоначальный вывод — это версия и доступные опции, которых много.

 

command line

В данной статье мы сфокусируемся на том, как использовать DISM для добавления или удаления Windows Features. Давайте рассмотрим, какие функциональные возможности существуют для этого.

 

Функциональность DISM

Существует четыре основных функции, которые используются функциями управления. Ниже мы рассмотрим каждую из них и выясним, как именно они используются.

  • Get-Features
  • Get-FeatureInfo
  • Enable-Feature
  • Disable-Feature

 

Get-Features

Чтобы понять, какие функции доступны, и текущее состояние, мы используем параметр / Get-Features. Важно отметить, что мы используем / Online для всех команд здесь, поскольку мы работаем в текущей операционной системе, а не в автономном образе.

dism /Online /Get-Features

command line

Вывод всех функций и их текущее состояние отобразятся на экране, когда эта команда будет запущена. Их много, и представление списка по умолчанию может быть нечитабельным. К счастью, есть удобная опция форматирования, которая облегчает анализ выводимых данных.

dism /Online /Get-Features /Format:Table

command line

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

 

Get-FeatureInfo

Чтобы узнать больше о какой-то конкретной функции, нам нужно использовать опцию Get-FeatureInfo. Эта команда также требует дополнительного параметра FeatureName, содержащий имя объекта, который нужно запросить. В этом случае мы ищем функцию BITS (Background Intelligent Transfer Service).

dism /online /Get-FeatureInfo /FeatureName:BITS

command line

Есть несколько полезных результатов. В частности, Restart Required и Version properties. Полезно знать, как установка функции повлияет на систему и правильная ли у вас версия. Далее включается функция в системе, для этого мы используем опцию Enable-Feature.

 

Enable-Feature

Если функция, которую вы хотите включить, имеет источники, уже включенные в операционную систему, и является автономной функцией, такой как BITS, то команда очень проста.

dism /Online /Enable-Feature /FeatureName:BITS

command line

Есть несколько других команд, которые очень полезны.

  • Source – /Source:X:\\WindowsSources\\SxS Если источники недоступны для запрашиваемой функции, вы можете указать путь. Это характерно для таких функций, как.NET5.
  • LimitAccess – /LimitAccess Если вы хотите, чтобы DISM не запрашивал источники Microsoft Update.
  • All — / AllWithout, / All, будет установлена ​​только запрашиваемая функция, использование All позволит также установить все родительские функции. Это иногда может помочь с управлением зависимостями.

Если решено, что использование BITS не является необходимым, нам нужно удалить эту функцию из операционной системы.

 

Disable-Feature

Disable-Feature нужна чтобы просто удалить функцию, она по сути такая же, как Enable-Feature, но наоборот.

dism /Online /Disable-Feature /FeatureName:BITS

command lineСуществует одна дополнительная опция, которая может быть использована /Remove. Она удалит функцию, но не манифест функций. Обычно это используется для освобождения места на образе. По запросу на установку необходимо указать удаленный источник для установки этой функции.

 

Модуль DISM Powershell

Используя PowerShell, вы можете получить доступ ко многим из тех же функций DISM, но в отличии от DISM — в объектно-ориентированной среде. Карта функций, как показано ниже.

  • /Get-Features → Get-WindowsOptionalFeature
  • /Get-FeatureInfo → Get-WindowsOptionalFeature -FeatureName
  • /Enable-Feature → Enable-WindowsOptionalFeature
  • /Disable-Feature → Disable-WindowsOptionalFeature

Возможно, вам придется импортировать модуль DISM, модуль импорта DISM

 

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

 

Get-WindowsOptionalFeature

Одно отличие состоит в том, что нет параметра Format. Это потому, что вы можете форматировать возвращаемые объекты любым количеством способов с помощью PowerShell. Способ получить аналогичное табличное представление заключается в следующем.

Get-WindowsOptionalFeature -Online | Format-Table -AutoSize

PowerShell

Далее мы хотим узнать больше о существующей функции.

 

Get-WindowsOptionalFeature -FeatureName

Вы заметите, что используемый командлет такой же, как и раньше, но вместо него используется параметр. Из-за того, как PowerShell обычно структурирован, это предпочтительный метод. Для этого мы передадим функцию, о которой мы хотим узнать больше.

 

Get-WindowsOptionalFeature -Online -FeatureName BITS

Windows PowerShell

 

Как вы можете видеть, та же информация, которая была возвращена DISM, содержится в объекте, возвращаемом  PowerShell. Теперь, когда мы добавили нашу функцию, давайте включим эту ее.

 

Enable-WindowsOptionalFeature

Есть несколько способов использовать эту команду. Наиболее аналогичным средством командной строки DISM является следующее.

Enable-WindowsOptionalFeature -Online -FeatureName BITS

Windows PowerShell

 

Если у вас есть ряд функций или вы знаете, какую хотите, вы можете использовать конвейер для их передачи. Ниже приведены два примера того, как это сделать.

# Pass an array of features to be enabled

 

@(«BITS») | ForEach-Object { Enable-WindowsOptionalFeature -Online -FeatureName $_ }

 

 

# Retrieve the feature first and then Enable the feature

 

Get-WindowsOptionalFeature -Online -FeatureName BITS | Enable-WindowsOptionalFeature -Online

 

Наконец, нам нужно отключить BITS, так как они больше не нужны.

 

Disable-WindowsOptionalFeature

Как и командлету enable, нам просто нужно передать имя функции для отключения.

Disable-WindowsOptionalFeature -Online -FeatureName BITS

Windows PowerShell

Заключение

Используете ли вы DISM из командной строки или PowerShell, для управления функциями Windows доступно множество функций. DISM можно использовать не только в работающей системе, но и при наличии автономных образов, а также для управления ими!

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.