Включаем Hyper-V через PowerShell

Исходный текст был опубликован в формате Markdown на Gist в декабре 2019 года.

Включение функций Windows 10 через графический интерфейс – неудобно, особенно для автоматического развёртывания. Мне требовалось установить Docker Desktop на Windows, для чего необходим Hyper-V. Решить эту задачу помог cmdlet для включения функций Windows.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

После перезагрузки системы Hyper-V будет включен.

Некоторые программы могут быть несовместимы с включенным Hyper-V, например, старые версии VirtualBox, не поддерживающие его. Для отключения Hyper-V можно использовать cmdlet, обратный предыдущему.

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

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

Эти команды позволяют включать и отключать любые функции Windows, доступные в графическом интерфейсе, а не только Microsoft-Hyper-V. Однако, возникает проблема: имена функций в командной строке не совпадают с их отображением в GUI. Приходится тратить время на поиск нужного -FeatureName. С этой задачей поможет cmdlet для поиска функций.

Get-WindowsOptionalFeature -Online

Таким образом, используя cmdlet PowerShell для включения и отключения функций Windows, можно автоматизировать настройку системы, в том числе установку Hyper-V. Несмотря на некоторые сложности с поиском правильных имён функций, инструменты PowerShell предоставляют гибкий и эффективный способ управления системой без использования графического интерфейса.

Журнал изменений

26 января 2024 г.: перевел и перенес заметку с Gist, обновил ссылки на документацию.

28 марта 2025 г.: стилистически обновил текст.

Если Вы хотите обсудить содержание заметки, задать вопросы или предложить изменения, то со мной можно связаться в Telegram