Команда 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 доступна:

Комментарии (6) к Команда 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? Linux, насколько я знаю, каждая команда в терминале или cmd, начинается с sudo, дальше запрашивается пароль (достаточно логина). А вообщем то Вы то здесь причём, Виндовс сделала значит так ей было нужно

    Ответить

    • Dmitry

      Здравствуйте.
      Не совсем понял насчёт «вы то здесь причём». Не причём (и не заявляю обратного), лишь описываю возможность.

      Ответить

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

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