Перейти к основному содержанию

Команда sudo в Windows

Windows Terminal cmd

В Windows 11 в сборке 24H2 появилась команда sudo, принцип работы которой похож на одноимённую команду в Linux. Этот проект не является форком sudo проекта Unix/Linux, равно как и портом этого sudo проекта. Вместо этого Sudo для Windows — это специфичная для Windows реализация концепции.

Sudo для Windows — это новый способ выполнения пользователями команд с повышенными привилегиями (от имени администратора) непосредственно из незавершенного сеанса консоли в Windows.

https://github.com/microsoft/sudo

По умолчанию команда отключена.

sudo

Включить ее можно в настройках Settings → System → For developers. Параметр Enable Sudo.

sudo

Включить sudo можно также через реестр:

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Sudo" /v "Enabled" /t REG_DWORD /d 1 /f

Проверим.

sudo

Демонстрация работы

Попробуем перезапустить службу печати:

net stop spooler
sudo

Прав не хвалило. Выполнить команду с повышенными привилегиями:

sudo net stop spooler

 

sudo

Появляется окно запроса контроля учетных записей UAC на повышение привилегий. Подтверждаем: Да. Теперь команда будет выполнена с правами администратора.

sudo

Команда запускается в отдельном окне с правами администратора.

sudo

Выполнено.

Можно было выполнить однострочник:

sudo net stop spooler && sudo net start spooler
sudo

Подтверждать придётся два раза.

В отличии от runas, команда sudo не запрашивает пароль администратора в командной строке. 

Конфигурация

Еще один способ включить sudo — через конфигурирование под администратором:

sudo config --enable <configuration_option>

sudo

Возможные опции:

  • disable
  • enable
  • forceNewWindow
  • disableInput
  • normal
  • default

По умолчанию sudo работает с опцией forceNewWindow — в режиме принудительного создания нового окна. Странно, с учётом того, что рекомендуемая опция normal — во встроенном режиме без нового окна. Режим disableInput — в режиме отключенного ввода.

Переключим режим на normal:

sudo config --enable normal

Если мы не под админом, то:

sudo sudo config --enable normal

Перезапускаем диспетчер печати:

sudo net stop spooler && sudo net start spooler
sudo

Так гораздо удобнее, но этот режим считается менее безопасным.

Можно запустить команду внутри текущего окна независимости от текущего режима sudo через параметр inline.

sudo --inline net stop spooler

В помощь:

sudo -h

Теги

 

Похожие материалы

Создать флешку с файловой системой FAT16

У нас простая задача. В Windows 10 нужно создать USB флешку с файловой системой FAT16. Эта файловая система устарела, но иногда требуется. В GUI отформатировать флешку в FAT16 уже нельзя.

Теги