Команда Sudo в Windows 11
Среди прочих нововведений Windows 11 24H2 — появление команды Sudo для запуска команд и программ с повышенными правами. Команда хорошо знакома тем, кто пользуется Linux, но для Windows реализация появилась впервые.
В этой кратком обзоре о том, как включить команду Sudo в Windows 11, вариантах конфигурации и особенностях её работы.
Включение команды SUDO
Команда sudo (Substitute User and do — «подменить пользователя и выполнить» или Superuser do — «выполнить от имени суперпользователя») в Windows 11 позволяет запускать другие команды и программы в командной строке или BAT-файлах, запущенных от имени обычного пользователя, от имени администратора. При желании можно использовать её в ярлыках или иными способами.
При выполнении команды будет появляться запрос контроля учётных записей (UAC), при условии, что соответствующие запросы включены в системе, после чего соответствующая команда будет выполнена уже от имени администратора несмотря на то, что командная строка или файл BAT были запущены от имени обычного пользователя.
Для включения команды Sudo в Windows 11 последней версии потребуется выполнить следующие шаги:
- Откройте Параметры, перейдите в раздел «Для разработчиков».
- В разделе «Включить sudo» включите переключатель и подтвердите включение команды.
Также возможно включение команды Sudo в реестре:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Sudo] "Enabled"=dword:00000001
Параметры конфигурации
При настройках по умолчанию при выполнении команды sudo открывается новое окно для выполнения запущенной с помощью неё программы или команды, но вы можете настроить это поведение:
- В «Параметры» — «Для разработчиков» нажмите по стрелке справа от опции «Включить sudo» и выберите один из вариантов: «В новом окне», «С отключенным вводом», «Встроенный». Во втором и третьем вариантах выполнение команды от имени Администратора будет происходить в том же окне.
- Путём установки варианта конфигурации командой
sudo config --enable опция
где опциям «В новом окне», «С отключенным вводом», «Встроенный» соответствуют значения forceNewWindow, disableInput, normal
При использовании второго способа команда Sudo будет включена, если перед этим была отключенной, а для её отключения можно применить команду
sudo config --enable disable
Для принудительного запуска внутри текущего окна, независимо от текущей конфигурации команды sudo, достаточно использовать параметр —inline, например:
sudo --inline cmd.exe sudo --inline run rmdir /s ПУТЬ_К_ПАПКЕ

На скриншоте выше командная строка изначально была запущена от имени обычного пользователя, после чего «переведена» в режим «от имени Администратора» с помощью команды Sudo.
Полный список доступных параметров можно получить с помощью команд
sudo -h sudo --help

Дополнительная информация по команде Sudo для Windows доступна:
- На официальном сайте Майкрософт
- На странице проекта в GitHub — Sudo для Windows является проектом с открытым исходным кодом.
Виталий Владимирович
У меня такой вот вопрос: а если запустить cmd.exe от имени администратора — это будет не одно и то же, что команда sudo?
Ответить
Dmitry
Это будет почти то же самое, что запустить cmd.exe с помощью sudo в режиме «В новом окне».
Но, например: с помощью sudo можно запускать не только cmd.exe, но и другие команды и программы, причем заранее на запуская процесс от администратора, можно получать данные от выполняемой с помощью sudo команды в командной строке, которая запущена не от имени администратора.
То есть для простого пользователя, который просто использует по порядку несколько команд, конечно, разницы большой нет. Но в принципе она наличествует.
Ответить
Bill
Как запускать с помощью sudo команды PowerShell? В ответ «Command not found».
Ответить
Dmitry
Здравствуйте.
sudo powershell команда, например:
Плюс на гитхабе проекта (ссылка в конце статьи) ведётся работа над скриптом sudo.ps1, если вам нужно именно из PowerShell выполнять (но не экспериментировал с ним).
Ответить