Команда Sudo в Windows 11

Команда 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 последней версии потребуется выполнить следующие шаги:

  1. Откройте Параметры, перейдите в раздел «Для разработчиков». Включить команду Sudo в Windows
  2. В разделе «Включить sudo» включите переключатель и подтвердите включение команды. Выбрать конфигурацию 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.

Полный список доступных параметров можно получить с помощью команд

sudo -h
sudo --help
Справка по команде sudo

Дополнительная информация по команде Sudo для Windows доступна:

Комментарии (4) к Команда Sudo в Windows 11

  • Виталий Владимирович

    У меня такой вот вопрос: а если запустить cmd.exe от имени администратора — это будет не одно и то же, что команда sudo?

    Ответить

    • Dmitry

      Это будет почти то же самое, что запустить cmd.exe с помощью sudo в режиме «В новом окне».
      Но, например: с помощью sudo можно запускать не только cmd.exe, но и другие команды и программы, причем заранее на запуская процесс от администратора, можно получать данные от выполняемой с помощью sudo команды в командной строке, которая запущена не от имени администратора.
      То есть для простого пользователя, который просто использует по порядку несколько команд, конечно, разницы большой нет. Но в принципе она наличествует.

      Ответить

  • Bill

    Как запускать с помощью sudo команды PowerShell? В ответ «Command not found».

    Ответить

    • Dmitry

      Здравствуйте.
      sudo powershell команда, например:

      sudo powershell "(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey"

      Плюс на гитхабе проекта (ссылка в конце статьи) ведётся работа над скриптом sudo.ps1, если вам нужно именно из PowerShell выполнять (но не экспериментировал с ним).

      Ответить

Оставить комментарий

Интересное
Новое
Список инструкций Windows 11 Windows 10 Подписаться