Суперпользователь Windows: как получить максимум свободы для работы с системой? Статья, которая обязана появиться на таком сайте, как этот. Сейчас мы создадим (точнее, вернём) для системы ещё одного пользователя, которого:
- не будут беспокоить надоедливые сообщения системы о том, что нужны права на внесение изменений, что действия программ могут повредить компьютер, что Не стоит доверять программам из непроверенных источников… и т.п. и т.д.
- не будут волновать проблемы с отсутствием прав и привилегий на работу и сохранение изменений в системе (ваши права будут расширены); так, работа с командной консолью будет иметь почти неограниченный характер. Но лишь до определённых границ: работать с системными службами и файлами, с ними связанными, это привилегия системного аккаунта.
- не будут ограничивать системные настройки, не позволяющие диагностировать целый ряд проблем из-за отсутствия доступа к системным директориям
- не будет ограничиваться ни одна учётная запись — гуляйте по компьютеру, где хотите.
Когда это может понадобиться или что за суперпользователь?
Итак, когда мы были маленькими, операционная система от Microsoft, начиная с Windows NT-серии, в обязательном порядке стала снабжаться по крайней мере ОДНОЙ учётной записью администратора (Windows XP и ранее) или такой, что может приподнять права до суперпользователя (он же superuser в Windows Vista/7/8/10/11). Фишка учётной записи Администратора заключается именно в том, что этот пользователь фактически УЖЕ существует. При его создании нижеприводимыми командами вы всего лишь окончательно формируете необходимые символьные ссылки и настраиваете необходимый интерфейс. Нередки случаи, когда из-за битых настроек в собственную или другую учётку становится невозможным зайти. Когда какие-то из программ вдруг отказываются работать «на ровном месте». В этот момент в качестве среды лучше всего и подойдёт учётка Администратора — не загаженная никакими предустановленными программами и запускаемыми службами, позволяющая просматривать почти все закоулки системы и лишённая ограничений со стороны Контроля учётных записей.
ПРЕДУПРЕЖДЕНИЕ
Ну представьте себе, что к такой учётной записи получит доступ «кул»-хакер через трояна, через удалённый доступ? Или это будет вирус, который получит возможность заразить и «поработать» со всеми файлами системы, которые в нормальном режиме он и не заметит? Неверные же действия самого пользователя могут привести к последствиям пуще вирусной атаки. И никакое Средство восстановления системы вам уже помочь, вероятно, не сможет. «Демонтаж» системы — это далеко не только удаление системных файлов. Возможность контролировать и отслеживать запускаемые процесс — главная привилегия графического интерфейса пользователя в Windows. Отключая UAC и Smartscreen, вы здорово рискуете. Правило использования учётной записи Администратора (кстати, по умолчанию незапароленного) вытекают из её назначения: её нельзя удалить или заблокировать. Только переименовать или отключить. Так что активируем только по необходимости, а по окончании работ выключаем.
ИСПОЛЬЗУЙТЕ учётную запись СУПЕР-ПОЛЬЗОВАТЕЛЬ WINDOWS ТОЛЬКО НА АВАРИЙНЫЙ или ОСОБЫЙ СЛУЧАЙ РАБОТЫ.
Как переместить папку Пользователи на другой диск?
Всё так страшно?
Конечно, нет. Точнее, в принципе, нет. «Максимум» в шапке статьи — это маркетинговый ход, вы уж простите. Неограниченный набор прав и привилегий вам никто не предоставит. Аккаунт Администратора — это некий «последний шанс» на запрос повышенных прав на операции с объектом. Безопасность системы контролируют другие записи, доступ к которым у нас ограничен, и от имени которых глобально не получится. Так, только системному аккаунту позволен доступ ко всем файлам на NTFS-томах, к нему нельзя присоединиться и закрепить за ним пользовательские права. Он контролирует службы, начиная с момента установки. «Борьба» с ним является неустанной задачей различного рода тестировщиков всех мастей. Аккаунт Администратора отличается от стандартной учётки, принадлежащей к группе админов лишь тем, что окна Контроля учётных записей вы не увидите. Но этого зачастую достаточно, чтобы поставить систему в «нужное» положение. Так как есть пара моментов, которые стоит учесть.
О чём нужно помнить?
- это единственная и первая локальная учётная запись, которая появляется сразу уже в момент установки Windows. После предложения создать собственную учётку и её активации с настройкой та отключается. Администратора можно выключить, но не удалить;
- как и любая другая учётная запись, Администратор может быть локальным, так и привязанным к Microsoft. Однажды зарегистрировав ту в Microsoft, отвязать её, по идее, уже будет невозможно. Только переустановкой или с помощью точки восстановления. Однако однажды мне удалось смоделировать ситуацию с активацией аккаунта Администратора в Windows 7 и удалением остальных учётных записей. После чего Windows 7 была обновлена до Windows 10 с, опять же, единственным аккаунтом Админа, который удалось связать с аккаунтом на Microsoft с доступом к магазину приложений Windows Store (!). В обычной ситуации это невозможно сделать. Не могу ручаться за то, что дырка всё ещё существует, и что это вообще такое было, но сброс настроек безопасности при апгрейде с W7 на W10 таким способом — серьёзная брешь в системе.
Немного справки.
В Windows XP и более ранних версиях аккаунт администратора был только один. И большинство из нас пользовались лишь им. Однако с момента появления Vista в системе появился ещё один, скрытый от глаз аккаунт «сверх»администратора. Он появляется вместе с установкой системы, но по умолчанию выключен. Пингвиноводы знают его как root-пользователя. Почему он отключён? В предупреждении сказано всё.
Включаем учётную запись Суперпользователь Windows.
Я предлагаю вам несколько вариантов активации скрытой учётной записи Администратора. Несколько, потому что вариантов развития событий бывает немало. В том числе для таких случаев, когда в учётную запись зайти нельзя.
Начинаем с простого. Запускаем консоль команд от имени администратора (WIN + R — пишем cmd -> Ctrl + Shift -> щелчком по ярлыку). Наберём команду с учётом русской локализации:
net user администратор /active:yes
Можете присвоить пароль и активировать учётную запись. Я присвоил пароль 12345 и заставил Windows отображать аккаунт суперпользователя при входе в систему:
net user администратор 12345
Суперпользователь Windows. Вариант второй.
Почти всё, что описано абзацами выше, можно сделать и через консоль Локальной политики безопасности. Чтобы туда попасть, воспользуемся клавишей WIN, набираем Локальная политика безопасности, переходим в разделы Локальные политики — Параметры безопасности (или командой secpol.msc в строке поиска WIN + R как альтернатива) и ищем настроечку Учётные записи: состояние учётной записи Администратор:
Активируйте запись, дважды по ней щёлкнув и выбрав Включён. Можете проверить работоспособность аккаунта, сменив учётную запись пользователя:
Пройдите недолгую процедуру оформления и установки настроек нового пользователя и вуаля!
Суперпользователь Windows: как спрятать обратно?
Отключаем запись суперпользователя командой в консоли:
net user администратор /active:no
или в настройках Локальной политики через Отключено.
Активировать скрытого Администратора Windows 7/10 — хитрости.
А вот теперь рассмотрим частные случаи создания профиля суперпользователя. Они пригодятся вам в случае, когда активировать учётную запись Администратора описанными выше способами не получается.
Через удалённый реестр.
Для этого нам необходимо вызвать командную строку до входа в любую из учётных записей. Для этого есть целая куча вариантов:
- перезагружаем Windows через кнопку Пуск, зажав клавишу Shift
- несколько раз перезагружаем компьютер с кнопки, пока тот пытается загрузить Windows, имитируя аварийное отключение. Это один из вариантов как попасть в командную консоль до загрузки Windows. В этом случае появится средство восстановления Windows, через которое нам нужно выйти в консоль
- в консоли запускаем редактор реестра
regedit
Разворачиваем ключ реестра HKEY_LOCAL_MACHINE. Щёлкаем по меню действий Файл. Выберем Загрузить куст…
Открываем папку config по пути
D:\Windows\System32\config
Выберем файл SAM и откроем его. В диалоговом окне назовём его как REM_SAM.
И отправляемся по пути
HKEY_LOCAL_MACHINE\REM_SAM\SAM\Domains\Accounts\Users\000001F4
Справа от папки 000001F4 щёлкнем справа по параметру F и сменим бинарник в линии с 11 на 10 и согласимся с изменениями.
Закроем редактор и покинем консоль. Продолжим загрузку Windows. Чтобы отключить аккаунт Администратора, нужно повторить все действия выше и снова изменить значение на 11.
Успехов
Здравствуйте, уважаемые читатели! В процесс установки Windows 10 система предлагает создать пользовательский аккаунт, который обладает не всеми привилегиями. Многие возможности остаются недоступны. Хотите узнать, как на Виндовс 10 включить права администратора («режим Бога»)? На самом деле подобная учётная запись создается в скрытом режиме, и по умолчанию недоступна (отключена). Делается это для обеспечения безопасности, чтобы никто не мог вносить изменения в системные настройки. Предлагаю разобраться в этой теме.
Сразу же подчеркну, что выполнять разблокировку полного доступа следует лишь в исключительных случаях, когда по-другому решить проблему не получается. После осуществления необходимых действий рекомендуется отключать данный режим, чтобы предотвратить вмешательство в систему (хакеры, вирусы).
Мне известно четыре способа, как активировать полный доступ. Если знаете больше, поделитесь опытом в комментариях.
Используем командную строку
Это самый простой и быстрый метод воспользоваться возможностями учётной записи администратора.
- Выполняем команду cmd в консоли Win + R
- Вводим следующую строку и подтверждаем нажатием Enter:
net user administrator /active:yes
- Возможно появление сообщения, типа «имя не найдено». Это значит, что аккаунт админа переименован. Чтобы узнать точное название, воспользуемся командой:
net user
- Будет выведен полный список пользователей, в котором следует найти скрытого администратора.
- Теперь еще раз вводим код, указанный во втором шаге, только вместо «administrator» указываем найденное значение. Вот пример:
- Стоит отметить, что эта запись не имеет пароля. Но его лучше установить, используя команду:
net user admin * , где admin – это имя учётной записи.
- Вам будет предложено дважды указать пароль. Советую выбирать значение посложнее, и сохранить его в надежном месте.
Рассмотренный способ универсален, и позволяет получить полные админ права в любой версии «десятки», в отличие от изложенных ниже методов. Они работают только в редакциях «Про» и «Корпоративная».
- Удаляем учетную запись пользователя в Windows 10
- Как активировать windows 10
Используем Local Users and Groups
- Чтобы запустить указанную оснастку, в консоли (Win + R) вводим: msc.
- Нас интересует список Users (Пользователи), расположенный слева.
- После его выделения в правой части окна появится перечень всех пользователей системы.
- Выбираем админа и открываем его свойства (двойным щелчком или через контекстное меню).
- В настройках нужно снять галочку возле опции «Отключить аккаунт» (Account is disabled) и больше ничего не менять.
- Сохраняем настройки и перезагружаем ПК.
Используем редактирование групповой политики
Делается это с помощью утилиты gpedit, которая неоднократно рассматривалась мною в предыдущих публикациях. Очень удобный инструмент, изучению которого стоит уделить время.
- Открываем редактор через Win + R и указание команды gpedit.msc.
- Переходим к разделу «Конфигурация ПК», затем открываем вложенную директорию «Настройки Windows». Идем в «Локальные политики» и подпапку «Опции безопасности».
- В правой части окна нужно зайти в свойства «Состояния учетной записи Администратор» и переключить значение в состояние «Вкл.».
- Перезапуск системы и Happy End!
Расширение прав админа через реестр
Заходим в раздел редактирования реестра, так же как и описывал выше через Win+R и команды regedit. Ищем следующий путь:
[HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Policies\ System]
Затем проверям вот эти параметры, если такие есть смотрим их знаечение и меняем на то что будет у меня. Если такого параметра не находите, то создайте его.
«FilterAdministratorToken»=dword:00000001
«EnableLUA»=dword:00000001
«ConsentPromptBehaviorAdmin»=dword:00000000
На работе я пользуюсь именно этим методом. Остались вопросы, пишите в комментариях.
Довольно простая тема, согласитесь. Но её полезность просто зашкаливает. Особенно для случаев, когда Вы пытаетесь внести изменения в системные настройки, но Ваш уровень доступа не позволяет этого сделать.
С уважением, Виктор
All you have to do is use the runas
command to run your program as Administrator (with a caveat).
runas /user:Administrator "cmdName parameters"
In my case, this was
runas /user:Administrator "cmd.exe /C %CD%\installer.cmd %CD%"
Note that you must use Quotation marks, else the runas command will gobble up the switch option to cmd.
Also note that the administrative shell (cmd.exe) starts up in the C:\Windows\System32 folder. This isn’t what I wanted, but it was easy enough to pass in the current path to my installer, and to reference it using an absolute path.
Caveat: Enable the admin account
Using runas this way requires the administrative account to be enabled, which is not the default on Windows 7 or Vista. However, here is a great tutorial on how to enable it, in three different ways:
I myself enabled it by opening Administrative Tools, Local Security Policy, then navigating to Local Policies\Security Options and changing the value of the Accounts: Administrative Account Status policy to Enabled, which is none of the three ways shown in the link.
An even easier way to accomplish this:
C:> net user Administrator /active:yes
Обладать правами администратора требуется для того, чтобы во всем объеме использовать все необходимые возможности операционной системы Windows 10, а также, чтобы вносить различные важные изменения в нее. Данные права подразумевают доступ к расширенным функциям изменения и сохранения документов и материалов, а также использование определенных программ.
На сегодняшний день есть обширное количество способов для того, чтобы получить права администратора в операционной системе Windows 10. Давайте рассмотрим и запомним некоторые из них.
Получение прав администратора в Windows 10 через командную строку
Это один из самых простых и быстрых способов для получения учётной записи администратора. Нам потребуется ввести комбинацию клавиш «Win+R» и в поле «Выполнить» вводим комбинацию «cmd«.
Должна открыться командная строка, в которой необходимо ввести следующее:
net user administrator/active:yes
После данной команды мы нажимаем клавишу «Enter».
Если высветилось сообщение, что имя не найдено, то необходимо ввести команду:
После этого выйдет полный список всех пользователей.
Необходимо отыскать имя администратора, который скрыт.
После чего необходимо повторить введение первой команды, только вводим не «administrator», а другое, правильное значение. Такая запись будет создана без пароля, но лучшим решением будет его создать и установить. Для этого вводим команду «net user администратор», где «администратор»- это наименование учётной записи.
Метод использования групповой политики
Утилита «secpol.msc» поможет в получении прав администратора. Удобный и быстрый вариант получить права администратора. Для этого потребуется запустить редактор командой «Win+R» и ввести «secpol.msc«.
Здесь необходимо отыскать раздел «Локальные политики» и далее «Параметры безопасности«.
Далее нужно выбрать «Учетные записи: Состояние учетной записи «Администратор»«.
Открываем этот параметр и ставим метку на пункт «Включен«, жмем «Применить» и «Ок«.
После всех выполненных операций необходимо перезагрузить всю систему.
Использование утилиты «netplwiz»
Для того, чтобы использовать утилиту «netplwiz», потребуется ввести комбинацию «Win+R» и в поле для ввода текста ввести:
Выберите нужную учетку и нажмите «Свойства».
В следующем окне переходим в раздел «Членство в группах«.
Ставим метку на «Администратор«, жмем «Применить«, затем «Ok«.
Перезагружаем свой компьютер.
Таким образом, мы уяснили, что получить права администратора можно и другими методами. Главное, чтобы вы смогли держать под контролем управление системой и конфиденциальную информацию на своем компьютере.
Важно!
Если вы не видите ссылки на скачивания, то отключите Ads Block или другой блокировщик рекламы в вашем браузере.
I always work on a non-administrator account on my Windows computer. Sometimes I need to install programs which requires administrator access. As I mostly use the Windows command prompt, is there a Windows command to escalate privileges, similar to the Linux terminal command sudo
?
Paul
4,76429 silver badges41 bronze badges
asked Sep 17, 2009 at 9:24
5
The runas command.
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
Just run:
runas /noprofile /user:Administrator cmd
to start a command shell as a administrator
answered Sep 17, 2009 at 9:29
Davy LandmanDavy Landman
4,5121 gold badge20 silver badges10 bronze badges
15
Elevate — «executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.» It’s not the same as sudo
, it changes the executing user to Administrator, but its syntax is a lot more straightforward to use than runas
, and it can keep the current directory, enabling the use of relative paths.
Synopsis:
elevate [(-c | -k) [-n] [-u]] [-w] command
Options:
-c Launches a terminating command processor; equivalent to "cmd /c command".
-k Launches a persistent command processor; equivalent to "cmd /k command".
-n When using -c or -k, do not pushd the current directory before execution.
-u When using -c or -k, use Unicode; equivalent to "cmd /u".
-w Waits for termination; equivalent to "start /wait command".
Elevate’s purpose isn’t to work around or bypass UAC (User Account Control), but to work with it. As long as UAC is enabled there has to be some kind of prompt at some point in the process. If you need to get rid of prompting altogether you have to disable UAC.
The pain point Elevate alleviates is escalating a particular process from a non-privileged shell and then carrying on as normal. Without this you need to start a privileged command prompt with right-click > «Run as Administrator» before attempting the privileged command, which can’t be easily scripted.
This works well with «Elevate without prompting» in secpol.msc
. Together, they do the same as %wheel ALL=(ALL) NOPASSWD: ALL
in sudo
A known limitation is that it does not return the error code from the program it is elevating.
If your muscle memory is stuck on sudo, create an alias using Doskey:
doskey sudo=elevate -w
or batchfile in PATH:
@elevate -w %*
Elevate is 3rd party tool written by Johannes Passing. It’s an 11kb download and portable (no install needed): http://code.kliu.org/misc/elevate/
answered Apr 12, 2011 at 6:42
matt wilkiematt wilkie
5,03523 gold badges58 silver badges85 bronze badges
18
You can use the runas command which is kind of similar, or you can check out the sudo for Windows project over at SourceForge which adds a sudo command.
The difference is subtle:
Let’s say you have two users. Bob is a normal user and James is an administrator.
If you log in as Bob and use «runas james acommand» the command is run as if it was run by James, so it accesses James’ user settings and any user changes go into James My Documents & settings folders, etc. So if you are installing an application, say, it will be installed as James, not as Bob.
If on the other hand Bob does «sudo acommand» the command is still run as Bob, but with elevated permissions — just like the Linux sudo command. To prevent any user from being able to sudo you have to define a sudoers user group that contains the list of the normal users that have permission to elevate using sudo. The users still have to provide credentials before elevation.
Sometimes the difference isn’t important, sometimes it is, and I find that both commands can be useful.
answered Sep 17, 2009 at 9:28
Simon P StevensSimon P Stevens
5,1831 gold badge28 silver badges36 bronze badges
5
Vinayak
10.6k10 gold badges54 silver badges89 bronze badges
answered Sep 17, 2009 at 13:11
DDMDDM
5493 silver badges6 bronze badges
12
If you are ready to switch to alternative consoles, there is ConEmu (I’m the author). One of its features — the ability to run both elevated and non-elevated tabs in the one ConEmu window. Tabs may be started with different credentials too.
For user comfort, there is batch-file csudo.cmd (which may be easily adopted to bash). Read full description in project’s wiki. In brief, when you run some command from existing non-elevated tab, for example
csudo dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
ConEmu will starts dism
in the new elevated console/tab (with preceding UAC prompt in Vista or Login box in XP).
By default csudo
starts new console in a split (may be changes via editing of csudo.cmd
contents).
And of course you may rename it to sudo.cmd
if you like «classic» sudo
word.
answered Oct 26, 2012 at 7:52
MaximusMaximus
20.6k16 gold badges91 silver badges116 bronze badges
4
Quick method:
Three steps to add sudo.
-
Open PowerShell.
-
Copy the following script (Ctrl+C) and paste it in PowerShell (Alt+Space+E+P):
$script_path="$HOME\Documents\Scripts"; if (!(test-path $script_path)) {New-Item -ItemType directory $script_path} if (!(test-path $profile)) { new-item -path $profile -itemtype file -force }". $script_path\sudo.ps1" | Out-File $profile -append; "function sudo(){if (`$args.Length -eq 1){start-process `$args[0] -verb `"runAs`"} if (`$args.Length -gt 1){start-process `$args[0] -ArgumentList `$args[1..`$args.Length] -verb `"runAs`"}}" | Out-File $script_path\sudo.ps1; powershell
- Hit Enter.
It will permanently enable sudo
command in PowerShell.
Usage:
sudo <process-name> [param1 [param2 [param3]]]
Examples:
sudo explorer
sudo notepad
sudo powershell
sudo cmd
sudo taskmgr
sudo tasklist
sudo taskkill /IM Skype.exe /PID 8496
Long method for learning:
- Read this article.
- Read the comments.
- Take a look at Stephen’s git repository and the readme file.
Note: I mixed the script from both articles to create the aforementioned script. Rather manually pasting the script in notepad I added the Out-File
statements to save ps1
and $profile
files from the script.
Tip: If you are not a very big fan of UAC popups (like me), save the following in *.reg file and run it:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
phuclv
26.7k15 gold badges115 silver badges235 bronze badges
answered Aug 28, 2012 at 10:36
6
If you’re doing this on Windows, then in addition to the Run As command as mentioned in a couple of other answers, there are also ways to do this with the mouse.
If you hold down the Shift key as you right-click on most executable files in Windows you should notice a few more advanced options. One of these is the «Run As...
» option (I think it’s called «Run As Administrator
» from Vista onwards).
You can also download a more advanced version of RunAs from Microsoft, called ShellRunAs, this has enhancements over the built-in RunAs command, both in command line and graphical modes, including letting you save account credentials
answered Sep 17, 2009 at 11:22
GAThrawnGAThrawn
4,3362 gold badges22 silver badges42 bronze badges
3
I wrote gsudo, a sudo for windows that feels like *nix sudo
and has a few killer features:
- Run within the current console (attached) without breaking tab-key auto-complete. Or add
-n
to launch in a new window. - Handles all scenarios reliably to be used on scripts. (ExitCodes, StdIn/Out/Err Redirection/Capture)
- Supports Cmd/PowerShell/PowerShell Core
- Credentials cache: If
gsudo
is invoked several times within minutes it only shows the UAC pop-up once.
Usage
gsudo
Opens an elevated shell in the current console.
gsudo [options] {command} [arguments]
Executes the specified command with elevated permissions.
Most relevant [options]
:
-n | --new
Starts the command in a new console with elevated rights (and returns immediately).-w | --wait
Force wait for the process to end (and return the exitcode).-s | --system
Run As Local System account («NT AUTHORITY\SYSTEM»).
Installation
- Using Scoop:
scoop install gsudo
- Using Chocolatey:
choco install gsudo
- Using Winget:
winget install gsudo
- Or check the docs and latest release
answered Nov 7, 2019 at 16:12
2
Surun is free, open-source application that allows certain programs to run with administrative rights, without providing a password without changing the user registry or modify environment variables.
When I was using Windows XP this app helps me a lot. Beta works under Windows 7.
answered Nov 17, 2011 at 15:24
diimdeepdiimdeep
8122 gold badges9 silver badges15 bronze badges
2
The simplest solution in my view is to leverage powershell to do the work, which is portable and will prompt the user using the UAC.
You can just run this in any shell (cmd or powershell)
powershell Start-Process -verb runAs path-to-your.exe "-all -args -in -quotes"
answered Nov 20, 2017 at 19:58
twalltwall
2733 silver badges10 bronze badges
There is a chocolatey package for it with the convenient name sudo. You can install the package with chocolatey using this command:
choco install -y sudo
Then in whatever Windows/MS shell you have to use, you can use sudo
as expected.
answered Jun 14, 2018 at 18:44
ypidypid
3432 silver badges6 bronze badges
1
As you’ve probably discovered, runas
will let you run as another user but it cannot do elevation and it doesn’t pass current directories, environment variables or long command lines.
Hamilton C shell solves that with a genuine su
and sudo
. su
lets you run a command as another user; sudo
(actually an alias to su
) lets you run a command elevated. You can also do both, running elevated as a different user. Current directories, environment variables and long command lines are passed by way of a shared memory handshake between su
running in the caller’s context and a copy of itself running as an interlude with the new credentials that then starts the child. Full disclosure: I’m the author.
Destroy666
5,6248 gold badges16 silver badges35 bronze badges
answered Sep 6, 2012 at 15:01
Nicole HamiltonNicole Hamilton
9,9451 gold badge22 silver badges43 bronze badges
A while ago I created wsudo
, an open-source sudo
-like CLI tool for Windows to run programs or commands with elevated rights, in the context of the current directory. It’s freely available as a Chocolatey package.
I use it a lot for things like configuring build agents, admin stuff like sfc /scannow
, dism /online /cleanup-image /restorehealth
or simply for installing/updating my local Chocolatey packages (e.g., wasudo cup all -y
). Use at your own risk.
Installation
choco install wsudo
Chocolatey must be already installed.
Purpose
wsudo
is a Linux sudo
-like tool for Windows to invoke a program with elevated rights (as Administrator) from a non-admin shell command prompt and keeping its current directory.
This implementation doesn’t depend on the legacy Windows Script Host (CScript
). Instead, it uses a helper PowerShell 5.1 script that invokes "Start-Process -Wait -Verb runAs ..."
cmdlet. Your system most likely already has PowerShell 5.x installed, otherwise you’ll be offered to install it as a dependency.
Usage
wsudo
runs a program or an inline command with elevated rights in the current directory. Examples:
wsudo .\myAdminScript.bat
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts
I often invoke it from the Windows Run box (Win+R), or by typing wasudo
Enter in the Windows Explorer address bar (Alt+D). The latter opens an admin command prompt in the Explorer’s current folder.
For more details, visit the GitHub repro.
A working sudo
replacement for Cygwin’s mintty
terminal would be to place the following script in user’s PATH:
$!/bin/bash
cygstart --action=runas mintty -e `which bash` -lc \"$@\"
For me this is the only viable replacement to elevate privileges of programs like vim
or cygrunsrv
while working in a terminal on Windows.
answered Nov 26, 2014 at 9:45
This script does the job:
@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript //NoLogo %temp%\sudo.tmp.vbs
Save it as sudo.cmd
then add it to your PATH
Note: the runas
means in this context «Run as administrator» and not «Run as other user»
Taken from here and slightly edited to remove cscript.exe header from output
answered Jan 10, 2016 at 21:08
3
The following vbs script allows to launch a given command with arguments with elevation and mimics the behavior of the original unix sudo
command for a limited set of used cases (it will not cache credentials nor it allows to truly execute commands with different credentials). I put it on C:\Windows\System32
.
Set objArgs = WScript.Arguments
exe = objArgs(0)
args = ""
IF objArgs.Count >= 2 Then
args = args & objArgs(1)
End If
For it = 2 to objArgs.Count - 1
args = args & " " & objArgs(it)
Next
Set objShell = CreateObject( "WScript.Shell")
windir=objShell.ExpandEnvironmentStrings("%WINDIR%")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute exe, args, "", "runas", 1
set objShellApp = nothing
Example use on a command prompt sudo net start service
answered Feb 1, 2018 at 21:29
ceztkoceztko
1621 silver badge8 bronze badges
3
Another option is TakeCommand’s START /ELEVATED …
switch.
The noninteractive (TCC-RT) version of the suite is offered for free.
The «sudo.btm» batch file would look like
@START "" /ELEVATED %*
which would also support the form sudo /wait <someprogram> /params
answered Mar 25, 2020 at 9:49
AnrDaemonAnrDaemon
2031 silver badge5 bronze badges
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.