Включаем 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 г.: стилистически обновил текст.