Любой пользователь Windows может запустить в своей сессии программу от имени другого пользователя с помощью Run As. Благодаря этому вы можете выполнить скрипт (.bat, .cmd, .vbs, .ps1), запустить исполняемый .exe файл или установку приложения (.msi, .cab) с полномочиями другого пользователя.
Например, вы можете использовать RunAs для установки программ или запуска программ/скриптов/MMC оснасток с правами администратора непосредственно в сессии обычного непривилегированного пользователя. Также через RunAs вы можете запустить приложение, настроенное в профиле другого пользователя (приложение загрузится с настройки из профиля другого пользователя).
За возможность запуска программ от имени другого пользователя в Windows отвечает служба Вторичный вход в систему (Secondary Log-on). Если эта служба остановлена, тогда все описанные методы runas работать не будут. Вы можете проверить, что служба запущена с помощью следующей команды PowerShell:
Get-Service seclogon
В Windows есть несколько способов запустить программу или процесс от имени другого пользователя.
Содержание:
- Запуск программы от имени другого пользователя из Проводника Windows (File Explorer)
- Команда Runas: запуск программ от имени из командной строки
- Использование RunAs в PowerShell
- Запуск программ от имени другого пользователя без ввода пароля
- Ярлык с запуском программы от имени другого пользователя
- В проводнике Windows отсутствует пункт “Запуск от имени другого пользователя”
- Как добавить пункт “Запуск от имени” для программ в меню Пуск?
Запуск программы от имени другого пользователя из Проводника Windows (File Explorer)
Самый простой способ запустить программу из-под другого пользователя – воспользоваться графическим интерфейсом Проводника Windows (File Explorer). Просто найдите нужно приложение (или ярлык), зажмите клавишу Shift и щелкните по нему правой кнопкой мыши. Выберите пункт контекстного меню «Запуск от имени другого пользователя» (Run as different user).
Примечание. Если пункт меню «Запуск от имени другого пользователя» отсутствует, см. следующий раздел.
В появившемся окне Windows Security нужно указать имя и пароль пользователя, под чьей учетной записью нужно запустить программу и нажать кнопку ОК.
Примечание.
- Если нужно запустить программу от имени пользователя Active Directory, нужно указать его имя в формате userPrincipalName (
[email protected]
) или samAccountName (
DomainNameUserName
); - Если ваш компьютер добавлен в домен AD, то для запуска программы от имени локальной учетной записи пользователя ее имя нужно указать в формате:
.localusername
.
Важно. Вы можете запустить программу от имени другого пользователя только, если для него задан пароль. Использовать Runas для пользователя с пустым паролем не получится.
Откройте Диспетчер задач и убедитесь, что приложение запущенно под указанным пользователем.
Команда Runas: запуск программ от имени из командной строки
В Windows есть консольная утилита runas.exe, которую можно использовать для запуска приложений от имени другого пользователя из командной строки. Также команда runas позволяет сохранить пароль пользователя в Windows Credential Manager, чтобы его не приходилось набирать каждый раз.
Откройте командную строку (или окно Выполнить, нажав сочетание клавиш Win+R). Для запуска Блокнота с правами учетной записи administrator выполните команду:
runas /user:administrator “C:Windowscmd.exe”
Совет. Если имя пользователя содержит пробелы, его нужно взять в кавычки:
runas /user:”user test” notepad.exe
В отрывшемся окне появится приглашение «Введите пароль для admin», где нужно набрать пароль и нажать Enter.
Должно открыться ваше приложение. В моем случае это cmd. В заголовке окна указано Запущено от имени
CompNameusername
:
Можно, например, открыть панель управления под другим пользователем:
runas /user:admin control
Если нужно запустить программу от имени доменного пользователя, нужно использовать формат имени
[email protected]
или
DomainNameUserName
.
Например, чтобы с помощью блокнота открыть текстовый файл от имени пользователя server_admin домена CORP, используйте команду:
runas /user:corpserver_admin “C:Windowsnotepad.exe C:tmp2871997x64.txt”
Введите пароль для corpserver_admin: Попытка запуска C:Windowsnotepad.exe C:tmp2871997x64.txt от имени пользователя "corpserver_admin" ...
Если указали несуществующее имя пользователя или неверный пароль, появится ошибка:
RUNAS ERROR: Unable to run - yourcommand 1326: The user name or password is incorrect.
Или
RUNAS ERROR: Unable to acquire user password
Иногда нужно запустить программу от имени доменного пользователя с компьютера, который не добавлен в домен AD. В этом случае нужно использовать такую команду (при условии, что в сетевых настройках вашего компьютера указан DNS сервер, который может отрезолвить этот домен):
runas /netonly /user:contosoaaivanov cmd.exe
Если для запуска программы от другого пользователя не нужно загружать его профиль, используйте параметр /noprofile. При этом приложение запускается намного быстрее, но может вызвать некорректную работу программ, которые хранят данные в профиле пользователя.
Использование RunAs в PowerShell
Если вам нужно запускать программы/процессы от имени другого пользователя из PowerShell, вы можете использовать командлет Start-Process (управление процессами с помощью PowerShell). Сначала нужно запросить учетную запись и пароль пользователя:
$Cred = (Get-Credential)
Для запуска процесса от имени другого пользователя можно использовать:
Start-Process -FilePath "powershell.exe" -Credential $Cred
Либо можно запросить учетную запись и пароль интерактивно через Windows Security:
# "Run as Administrator"
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as от другого пользователя
Start-Process -FilePath "powershell.exe" -Verb RunAsUser
Если вам нужно запустить программу через runas от имени другого администратора в привилегированном режиме (по умолчанию UAC запускает программу в not-elevated пользовательском контексте), можно использовать такую команду PowerShell:
Start-Process powershell -Credential winitproadmin2 -ArgumentList '-noprofile -command &{Start-Process "cmd.exe" -verb runas}'
Или стороннюю утилиту ShelExec:
ShelExec /Verb:runas cmd.exe
Запуск программ от имени другого пользователя без ввода пароля
Вы можете сохранить пароль пользователя, который вы вводите. Для этого используется параметр /savecred.
runas /user:admin /savecred “C:Windowsnotepad.exe”
После указания пароля он сохранится в диспетчере паролей Windows.
При следующем запуске команды runas под этим же пользователем с ключом
/savecred
Windows автоматически получит сохраненный пароль из Credential Manager, и не будет запрашивать его повторно.
Чтобы вывести список всех пользователей, для которых сохранены пароли, используется команда:
RunDll32.exe keymgr.dll,KRShowKeyMgr
Однако использование параметра /savecred не безопасно, т.к. пользователь, в чьем профиле сохранен чужой пароль может использовать его для запуска любой команды под данными привилегиями, или даже сменить чужой пароль. Кроме того, сохраненные пароли из Credential Manager можно легко украсть, поэтом лучше запретить использование сохраненных паролей (а тем более нельзя сохранять пароль привилегированной административной учетной записи).
Примечание. Кроме того, ключ /savecred не работает в Home редакциях Windows.
Вы можете использовать команду RunAs для запуска mmc оснасток от имени другого пользователя. К примеру, если под другим пользователем нужно запустить оснастку Active Directory Users and Computers из набора инструментов администрирования RSAT, можно воспользоваться такой командой.
runas.exe /user:winitprokbuldogov "cmd /c start mmc %SystemRoot%system32dsa.msc"
Аналогичным образом можно запустить любую другую оснастку (главное знать ее имя).
Ярлык с запуском программы от имени другого пользователя
Вы можете создать на рабочем столе ярлык для запуска программы от имени другого пользователя. Просто создайте новый ярлык, в окне с адресом объекта которого укажите команду
runas
с нужными параметрами:
runas /user:winitprokbuldogov “C:Windowsnotepad.exe”
При запуске такого ярлыка будет запрашиваться пароль пользователя.
Если в ярлыке runas добавить параметр
/savecred
, то пароль будет запрошен только один раз. После этого пароль будет сохранен в Credential Manager и автоматически подставляться при запуске ярлыка от имени другого пользователя без запроса пароля.
Такие ярлыки довольно часто используются для запуска программ, которые требуют прав администратора для запуска. Однако есть более безопасные способы запуска программы без прав администратора, или отключения запроса UAC для определенного приложения.
В проводнике Windows отсутствует пункт “Запуск от имени другого пользователя”
Если в контекстном меню проводника Windows отсутствует пункт Запуск от имени другого пользователя (Run as different user), нужно проверить настройки двух параметров реестра Windows.
В Windows вы можете скрыть или показать в проводнике пункт меню RunAs с помощью двух параметров реестра:
- Параметр HideRunAsVerb (тип REG_DWORD) в ветке реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer (1 – скрыть пункт runas, 0 – показать)
- Параметр EnableSecureCredentialPrompting (REG_DWORD) в HKLM SoftwareMicrosoftWindowsCurrentVersionPoliciesCredUI (1 – скрыть, 0 – показать)
Если в Windows не отображается пункт Run as different user, проверьте значения этих параметров реестра и измените их на 0. В доменной среде вы можете распространить значения этих параметров реестра на компьютеры с помощью Group Policy Preferences.
Второму параметру реестра соответствует отдельная опция GPO.
Этой опции GPO соответствует параметр EnableSecureCredentialPrompting в ветке реестра HKLM SoftwareMicrosoftWindowsCurrentVersionPoliciesCredUI. Откройте редактор локальных групповых политик (gpedit.msc) и убедитесь, что в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Пользовательский интерфейс учетных данных (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) отключена (Не задана) политика Запрашивать достоверный путь для входа в учетную запись (Require trusted path for credential entry).
Как добавить пункт “Запуск от имени” для программ в меню Пуск?
По-умолчанию в Windows 10 у элементов меню Пуск (начального экрана) отсутствует возможность запуска приложений от имени другого пользователя. Чтобы добавить в контекстное меню пункт “Запуск от имени другого пользователя”, нужно включить политику Показывать команду «Запуск от имени другого пользователя» при запуске (Show “Run as different user” command onStart) в разделе редактора групповых политик (консоль
gpedit.msc
) Конфигурация пользователя ->Административные шаблоны -> Меню Пуск и панель задач (User Configuration -> Administrative Templates -> Start Menu and Taskbar).
Либо, если редактор gpedit.msc отсутствует, создать в ветке реестра HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsExplorer ключ типа DWORD с именем ShowRunasDifferentuserinStart и значением 1.
New-ItemProperty -Path "HKCU:SoftwarePoliciesMicrosoftWindowsCurrentVersionExplorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force
Осталось обновить групповые политики (gpupdate /force) и убедиться, что у программ в меню Пуск появится новое контекстное меню Дополнительно -> Запуск от имени другого пользователя.
Пункт “запуск от имени” отсутствует у Universal Windows Platform (UWP) приложения из Microsoft Store. Вы можете запустить UWP приложение от другого пользователя из командной строки с помощью runas.exe.
Выведите список приложений Microsoft Store на компьютере с помощью PowerShell:
Get-AppxPackage|select Name
Можно найти конкретное приложение
Get-AppxPackage|where {$_.Name -like '*team*'} |select Name
Найдите имя нужного приложения в списке. Например, для запуска встроенного клиента Microsoft Teams Chat от другого пользователя, выполните:
runas /user:user1 "explorer.exe MicrosoftTeams:"
Здравствуйте, мои любознательные читатели!
Сегодня у нас в статье пойдет речь о командной строке (cmd.exe) в Windows 10. Командная строка позволяет выполнять разнообразные задачи, которые не всегда возможно выполнить через графический интерфейс. И при работе в cmd часто могут требоваться повышенные права. Сейчас мы с вами узнаем 8 способов, как открыть cmd с правами администратора в Windows 10. Это не значит, что в остальных версиях Windows эти методы не сработают. Все нижеописанные способы открыть cmd с привилегиями администратора я проверял лично на Windows 10 и они полностью рабочие. Если у вас Windows 7 или 8, то проверяйте их на своей системе.
Итак, поехали!
1. Запуск cmd из контекстного меню Пуска
Нажмите на Пуск правой кнопкой мыши или нажмите комбинацию Win+X, причем клавишами быстрее, я гарантирую это;) Появится контекстное меню, в котором выбираем пункт Командная строка (администратор). Готово!
2. Через диспетчер задач
Если у вас запущен Диспетчер задач, то можно открыть cmd прямо из него. Для этого зайдем в меню Файл -> Запустить новую задачу.
Вводим cmd и ставим галочку чуть ниже Создать задачу с правами администратора. И затем ОК.
3. Через диспетчер задач (хитрый способ)
Третий способ очень похож на второй, но чуть более быстрый и не такой известный.
Начало такое же, то есть, в Диспетчере задач выбираем Файл -> Запустить новую задачу, но когда кликаете мышкой по этому пункту — удерживайте клавишу Ctrl. В этом случае сразу запускается cmd в режиме администратора, без лишних разговоров.
4. Запуск cmd из поиска Windows 10
Нажмите комбинацию Win+S либо прицельтесь левой кнопкой мышки в значок лупы справа от кнопки Пуск. В поле поиска можно ввести либо на английском ‘cmd‘ либо на русском введите первые 5-6 букв от названия ‘Командная строка‘. Затем правой кнопкой мыши нажимаем на результате поиска, выбираем Запустить от имени администратора.
5. Запускаем cmd из меню Все приложения
Открываем Пуск, кликаем на Все приложения и отыскиваем пункт Служебные — Windows. Обычно он прячется в самом низу, так что промотайте колесиком мышки до самого конца.
Итак, нашли группу Служебные, раскрыли список программ внутри и обнаружили Командную строку. Правой кнопкой по ней кликаем, затем Дополнительно, потом Запуск от имени администратора.
6. Запуск из системного каталога WindowsSystem32
Можно запустить командную строку прямо из ее родной папки system32. Для этого заходим в Проводник / Мой компьютер, находим диск C, ищем папку Windows, идём туда, находим папку System32, углубляемся все дальше и дальше в кроличью нору заходим в неё. В папке System32 ищем файл cmd.exe. Выделяем его. И тут появляется два варианта.
Самый быстрый и простой: правой кнопкой мышки кликаем на cmd.exe и выбираем уже знакомый нам Запуск от имени администратора.
Другой вариант чуть больше времени занимает. При выделении файла сверху возникает надпись Средства работы с приложениями. Нажимаете туда левой кнопкой мыши, снизу вылезает еще одно меню, нажимаете на пункт Запустить от имени администратора.
7. Запуск cmd из любой папки Проводника
Этот вариант открытия командной строки доступен из любой папки Проводника Windows 10. Заходите в нужное вам место, заходите в меню Файл -> Открыть командную строку -> Открыть командную строку как администратор.
8. Создаем админский ярлык для cmd.exe
Для быстрого доступа к админской командной строке сделаем следующее.
На рабочем столе на свободном месте кликаем правой кнопкой, выбираем Создать -> Ярлык.
Вводим cmd или cmd.exe, оба вариант будут работать. Далее.
Назовите ярлык так, чтобы сразу было понятно, например, cmd.exe (admin). Готово.
Ярлык создан, но еще не настроен. Заходим в его свойства (правой кнопкой на ярлыке и выбрать Свойства). Нажимаем кнопку Дополнительно…
… и ставим галочку Запуск от имени администратора. Сохраняем все это дело и теперь мы всегда сможем запустить командную строку cmd с правами администратора простым запуском ярлыка.
Но можно еще больше ускорить запуск;)
Нажмите правой кнопкой на ярлыке и выберите пункт Закрепить на панели задач. Или Закрепить на начальном экране как вариант.
P.S.: В комментариях указали еще один метод запуска командной строки с админскими правами. Нажимаем WIN+R, вводим cmd и нажимаем комбинацию клавиш Ctrl+Shift+Enter. И вуаля.
Есть еще способы запуска, но они от имени обычного пользователя, что не вписывается в тему этой статьи. Например, через Win+R или удерживать Shift при клике правой кнопкой мыши на приложении.
Как видите, одно и то же действие в Windows можно выполнить различными способами. В зависимости от текущей конкретной ситуации я могу выбирать наиболее подходящий вариант запуска cmd.
А вам все эти методы были знакомы? Или какая-то часть из них оказалась в новинку?) Расскажите в комментариях.
I ran into the same problem and the only way I was able to open the CMD as administrator from CMD was doing the following:
- Open CMD
- Write
powershell -Command "Start-Process cmd -Verb RunAs"
and press Enter - A pop-up window will appear asking to open a CMD as administrator
Felix Dombek
13.3k17 gold badges78 silver badges127 bronze badges
answered Aug 26, 2015 at 1:05
GuiGui
2,2271 gold badge11 silver badges3 bronze badges
6
I don’t have enough reputation to add a comment to the top answer, but with the power of aliases you can get away with just typing the following:
powershell "start cmd -v runAs"
This is just a shorter version of user3018703 excellent
solution:
powershell -Command "Start-Process cmd -Verb RunAs"
answered Nov 10, 2018 at 9:29
StieglerStiegler
6896 silver badges8 bronze badges
1
Simple way I did after trying other answers here
Method 1: WITHOUT a 3rd party program (I used this)
- Create a file called
sudo.bat
(you can replacesudo
with any name you want) with following content
powershell.exe -Command "Start-Process cmd "/k cd /d %cd%" -Verb RunAs"
- Move
sudo.bat
to a folder in yourPATH
; if you don’t know what that means, just move these files toc:windows
- Now
sudo
will work in Run dialog (win+r) or in explorer address bar (this is the best part :))
Method 2: WITH a 3rd party program
- Download NirCmd and unzip it.
- Create a file called
sudo.bat
(you can replacesudo
with any name you want) with following content
nircmdc elevate cmd /k "cd /d %cd%"
- Move
nircmdc.exe
andsudo.bat
to a folder in yourPATH
; if you don’t know what that means, just move these files toc:windows
- Now
sudo
will work in Run dialog (win+r) or in explorer address bar (this is the best part :))
answered Oct 29, 2016 at 16:40
Dheeraj BhaskarDheeraj Bhaskar
18.4k9 gold badges63 silver badges66 bronze badges
12
According to documentation, the Windows security model…
does not grant administrative privileges at all
times. Even administrators run under standard privileges when they
perform non-administrative tasks that do not require elevated
privileges.
You have the Create this task with administrative privileges option in the Create new task dialog (Task Manager > File > Run new task), but there is no built-in way to effectively elevate privileges using the command line.
However, there are some third party tools (internally relying on Windows APIs) you can use to elevate privileges from the command line:
NirCmd:
- Download it and unzip it.
nircmdc elevate cmd
windosu:
- Install it:
npm install -g windosu
(requires node.js installed) sudo cmd
answered Mar 21, 2014 at 15:28
Ricardo StuvenRicardo Stuven
4,6762 gold badges35 silver badges36 bronze badges
7
I use nirsoft programs (eg nircmdc) and sysinternals (eg psexec) all the time. They are very helpful.
But if you don’t want to, or can’t, dl a 3rd party program, here’s another way, pure Windows.
Short answer: you can while elevated create a scheduled task with elevated privileges which you can then invoke later while not elevated.
Middle-length answer: while elevated create task with (but I prefer task scheduler GUI):
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
Then later, no elevation needed, invoke with
schtasks /run /tn cmd_elev
Long answer: There’s a lot of fidgety details; see my blog entry «Start program WITHOUT UAC, useful at system start and in batch files (use task scheduler)»
bluish
25.6k27 gold badges119 silver badges177 bronze badges
answered Feb 19, 2015 at 7:59
3
The following as a batch file will open an elevated command prompt with the path set to the same directory as the one from where the batch file was invoked
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
answered Apr 14, 2017 at 0:25
statlerstatler
1,2741 gold badge15 silver badges24 bronze badges
1
While both solutions provided by Dheeraj Bhaskar work, unfortunately they will result in the UAC dialog showing up on top (z-order-wise) but not getting focused (the focused window is the caller cmd/powershell window), thus I either need to grab the mouse and click «yes», or to select the UAC window using Alt+Shift+Tab. (Tested on Win10x64 v1607 build14393.447; UAC = «[…] do not dim […]».)
The following solution is a bit awkward as it uses two files, but it preserves the correct focus order, so no extra mouse / keyboard actions are required (besides confirming the UAC dialog: Alt+Y).
- cmdadm.lnk (shortcut properties / Advanced… / Run as administrator = ON)
%SystemRoot%System32cmd.exe /k "cd /d"
- su.bat
@start cmdadm.lnk %cd%
Run with su
.
answered Dec 3, 2016 at 0:18
OgmiosOgmios
6487 silver badges12 bronze badges
3
My favorite way of doing this is using PsExec.exe from SysInternals, available at http://technet.microsoft.com/en-us/sysinternals/bb897553
.psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
The «-h» switch is the one doing the magic:
-h If the target system is Vista or higher, has the process run with the account’s elevated token, if available.
answered Sep 7, 2014 at 14:11
David RodriguezDavid Rodriguez
2,3921 gold badge17 silver badges15 bronze badges
4
Make the batch file save the credentials of the actual administrator account by using the /savecred
switch. This will prompt for credentials the first time and then store the encrypted password in credential manager. Then for all subsequent times the batch runs it will run as the full admin but not prompt for credentials because they are stored encrypted in credential manager and the end user is unable to get the password. The following should open an elevated CMD with full administrator privileges and will only prompt for password the first time:
START c:WindowsSystem32runas.exe /user:Administrator /savecred cmd.exe
bluish
25.6k27 gold badges119 silver badges177 bronze badges
answered May 17, 2018 at 18:32
I’ve been using Elevate
for awhile now.
It’s description — This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
I copy the bin.x86-64elevate.exe
from the .zip
into C:Program Fileselevate
and add that path to my PATH
.
Then GitBash I can run something like elevate sc stop W3SVC
to turn off the IIS
service.
Running the command gives me the UAC
dialog, properly focused with keyboard control and upon accepting the dialog I return to my shell.
answered Jun 11, 2017 at 16:33
seangwrightseangwright
16.7k6 gold badges41 silver badges54 bronze badges
4
Dheeraj Bhaskar’s method with Powershell has a missing space in it, alt least for the Windows 10 incarnation of Powershell.
The command line inside his sudo.bat should be
powershell.exe -Command "Start-Process cmd "/k cd /d %cd% " -Verb RunAs"
Note the extra space after %cd%
;)Frode
answered May 14, 2019 at 9:19
Similar to some of the other solutions above, I created an elevate
batch file which runs an elevated PowerShell window, bypassing the execution policy to enable running everything from simple commands to batch files to complex PowerShell scripts. I recommend sticking it in your C:WindowsSystem32 folder for ease of use.
The original elevate
command executes its task, captures the output, closes the spawned PowerShell window and then returns, writing out the captured output to the original window.
I created two variants, elevatep
and elevatex
, which respectively pause and keep the PowerShell window open for more work.
https://github.com/jt-github/elevate
And in case my link ever dies, here’s the code for the original elevate batch file:
@Echo Off
REM Executes a command in an elevated PowerShell window and captures/displays output
REM Note that any file paths must be fully qualified!
REM Example: elevate myAdminCommand -myArg1 -myArg2 someValue
if "%1"=="" (
REM If no command is passed, simply open an elevated PowerShell window.
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -Verb RunAs}"
) ELSE (
REM Copy command+arguments (passed as a parameter) into a ps1 file
REM Start PowerShell with Elevated access (prompting UAC confirmation)
REM and run the ps1 file
REM then close elevated window when finished
REM Output captured results
IF EXIST %temp%trans.txt del %temp%trans.txt
Echo %* ^> %temp%trans.txt *^>^&1 > %temp%tmp.ps1
Echo $error[0] ^| Add-Content %temp%trans.txt -Encoding Default >> %temp%tmp.ps1
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -ArgumentList '-ExecutionPolicy Bypass -File ""%temp%tmp.ps1""' -Verb RunAs}"
Type %temp%trans.txt
)
answered Mar 7, 2017 at 14:38
..
@ECHO OFF
SETLOCAL EnableDelayedExpansion EnableExtensions
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 GOTO ELEVATE
GOTO :EOF
:ELEVATE
SET this="%CD%"
SET this=!this:=\!
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('CMD', '/K CD /D "!this!"', '', 'runas', 1);close();"
EXIT 1
save this script as «god.cmd» in your system32 or whatever your path is directing to….
if u open a cmd in e:mypictures and type god
it will ask you for credentials and put you back to that same place as the administrator…
answered Feb 9, 2018 at 0:40
jOte-jOte-
514 bronze badges
2
There seem to be a lot of really creative solutions on this, but I found Stiegler & Gui made the most sense to me. I was looking into how I could do this, but using it in conjunction with my domain admin credential, instead of relying on the local permissions of the «current user».
This is what I came up with:
runas /noprofile /user:DomainNameUserName "powershell start cmd -v runas"
It may seem redundant, but it does prompt for my admin password, and does come up as an elevated command prompt.
answered Oct 7, 2021 at 14:18
1
Here is a way to integrate with explorer.
It will popup a extra menu item when you right-click in any folder within Windows Explorer:
Here are the steps:
- Create this key:
HKEY_CLASSES_ROOTFoldershelldosherewithadmin
- Change its Default value to whatever you want to appear as the menu item text.
E.g. «DOS Shell as Admin« - Create another key:
HKEY_CLASSES_ROOTFoldershelldosherewithadmincommand
- and change its default value to this:
powershell.exe -Command "Start-Process -Verb RunAs 'cmd.exe' -Args '/k pushd "%1"'"
- Done. Now right-click in any folder and you will see your item there within the other items.
*we use pushd
instead of cd
to allow it to work in any drive.
not2qubit
13.3k8 gold badges89 silver badges122 bronze badges
answered Jul 18, 2020 at 21:11
rribasrribas
4151 gold badge6 silver badges6 bronze badges
For fans of Cygwin:
cygstart -a runas cmd
answered Nov 15, 2020 at 12:22
gavenkoagavenkoa
43.6k17 gold badges243 silver badges295 bronze badges
When a CMD script needs Administrator rights and you know it, add this line to the very top of the script (right below @ECHO OFF
):
NET FILE > NUL 2>&1 || POWERSHELL -ex Unrestricted -Command "Start-Process -Verb RunAs -FilePath '%ComSpec%' -ArgumentList '/c "%~fnx0" %*'" && EXIT /b
The NET FILE
checks for existing Administrator rights. If there are none, PowerShell restarts the current script (with its arguments) in an elevated shell, and the non-elevated script closes.
To allow running scripts -ex Unrestricted
is necessary.
-Command
executes the following string.
Start-Process -Verb RunAs
runs a process As Administrator:
the shell (%ComSpec%
, usually C:WindowsSystem32cmd.exe
) starting (/c
) the current script ("%~fnx0"
) passing its arguments (%*
).
Maybe not the exact answer to this question, but it might very well be what people need that end up here.
answered Sep 21, 2021 at 10:15
Michel de RuiterMichel de Ruiter
6,7035 gold badges50 silver badges70 bronze badges
2
The quickest way by far is to:
CTRL+ALT+DELETE
- Run TASK MANAGER
- Click
FILE > Run New Task > type in "cmd"
and tick the «Create this task with administrative privileges.» box.
Not sure if this helps but this is how I managed to do it. Doesn’t help if you need a command to run from batch but hey-ho … I needed this just because windows explorer is corrupted and needed to fix it.
This is my workaround. Hope this helps someone if not the original poster.
tomerpacific
4,38612 gold badges33 silver badges51 bronze badges
answered Aug 16, 2021 at 10:30
GarethGareth
591 gold badge1 silver badge6 bronze badges
1
A little late for an answer but answering anyway for latecomers like me.
I have two approaches. First one is based on little alteration to @Dheeraj Bhaskar’s answer and second one is new(that is not mentioned in any answer here).
Approach 1: Create a admin
command for windows(just for the sake of flexibility).
@ECHO OFF
powershell -Command "Start-Process %1 -Verb RunAs"
Open notepad -> copy/paste above script -> save it as admin.bat in c:windows
A lot can be added in the above script to make it better but I’ve tried to keep it simple and also because I’m not an expert in batch scripting.
Now you can use admin as command to run any other command or application with elevated privileges.
To answer the original question- type admin cmd
in standard cmd.
Approach 2:Using runas command. For this we need to enable the built-in Administrator account if not already enabled and set a password. This account is disabled by default on most systems.
When manufacturing PCs, you can use the built-in Administrator account to run programs and apps before a user account is created. Source
Steps to enable Administrator account-
- Hit Windows+R and type
compmgmt.msc
which will open Computer Management window. - Go to System Tools -> Local Users and Groups -> Users
- You should see an account with name Administrator here(more info about this account can be found here).
- Right click on Administrator and select Properties.
- Check Password never expires. Uncheck Account is Disabled and everything else then click OK. This will enable administrator account on your system. Skip if already enabled.
- Again Right click on Administrator and click on Set Password(by default it has no password set but for
runas
command to work we need to set a password).
Now windows will show you a life threatening warning which you can accept.
OR If you want to play safe then you should login into it after enabling this account and set a password from there.
Now runas
command should work-
Start a standard cmd and type-
runas /user:administrator cmd
EXTRA:
Now we can create something similar to Linux’s sudo
command. Create a sudo.bat file with following script and save it in c:windows.
@ECHO OFF
powershell -Command "runas /user:administrator %1"
Now we can do sudo cmd
answered Dec 1, 2021 at 16:32
avmavm
3773 silver badges15 bronze badges
I did this for my smartctl, and it became a portable App.
I borrowed it from here.
@echo off
set location=%cd%bin
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList { '/k "TITLE Smartctl" & color 07 & pushd "%location%" & prompt $g & echo "Welcome to Smartctl cmd"' }"
prompt $g
hides the long leading path.
pushd "%location%"
is similar to cd /d "%location%"
- Saved as
smartctl.cmd
- Create a shortcut for
smartctl.cmd
- Copy the shortcut to
C:Users#YourName#AppDataRoamingMicrosoftWindowsStartMenuPrograms
- Click search next to the start menu and input
smartctl
- Right click
Pin to Start
answered Dec 3, 2021 at 6:28
Just use the command:
runas /noprofile /user:administrator cmd
answered Jan 8, 2020 at 9:32
Use:
start
, run
, cmd
, then control+shift+enter
You’ll get UAC and then an elevated command shell.
answered Mar 28, 2021 at 2:36
Jeter-workJeter-work
7577 silver badges22 bronze badges
Install gsudo tool and use gsudo
command. UAC popup appears and eventually command prompt right in the current console window will be elevated:
C:UsersSomeone>net session
System error 5 has occurred.
Access is denied.
C:UsersSomeone>gsudo
C:UsersSomeone# net session
There are no entries in the list.
The tool can be installed using various package managers (Scoop, WinGet, Chocolatey).
answered Jul 16, 2022 at 20:51
Ilya SerbisIlya Serbis
20.5k6 gold badges81 silver badges72 bronze badges
1
Can use a temporary environment variable to use with an elevated shortcut (
start.cmd
setx valueName_betterSpecificForEachCase %~dp0
"%~dp0ascladm.lnk"
ascladm.lnk (shortcut)
_ propertiesadvanced"run as administrator"=yes
(to make path changes you’ll need to temporarily create the env.Variable
)
_ propertiestarget="%valueName_betterSpecificForEachCase%ascladm.cmd"
_ properties"start in"="%valueName_betterSpecificForEachCase%"
ascladm.cmd
setx valueName_betterSpecificForEachCase=
reg delete HKEY_CURRENT_USEREnvironment /F /V valueName_betterSpecificForEachCase
"%~dp0fileName_targetedCmd.cmd"
) (targetedCmd gets executed in elevated cmd window)
Although it is 3 files ,you can place everything (including targetedCmd) in some subfolder (do not forget to add the folderName to the patches) and rename «start.cmd» to targeted’s one name
For me it looks like most native way of doing this ,whilst cmd doesn’t have the needed command
Jee Mok
5,8498 gold badges46 silver badges75 bronze badges
answered Jul 25, 2018 at 23:28
iliailia
291 silver badge5 bronze badges
1
You can use the following syntax, I had the same question and did not think a script should be needed.
runas /profile /user:domainusername cmd
This worked for me, it may be different on your network.
answered Nov 29, 2019 at 15:28
I did it easily by using this following command in cmd
runas /netonly /user:AdministratorAdministrator cmd
after typing this command, you have to enter your Administrator password(if you don’t know your Administrator password leave it blank and press Enter or type something, worked for me)..
answered Aug 16, 2018 at 7:18
2
Press the Windows + X key and you can now select the Powershell or Command Prompt with admin rights. Works if you are the admin. The function can be unusable if the system is not yours.
Trooper Z
1,58013 silver badges31 bronze badges
answered Feb 25, 2019 at 14:11
I’ve created this tool in .Net 4.8 ExecElevated.exe, 13KB (VS 2022 source project) it will execute an application with an elevated token (in admin mode).
But you will get an UAC dialog to confirm! (maybe not if UAC has been disabled, haven’t tested it).
And the account calling the tool must also have admin. rights of course.
Example of use:
ExecuteElevated.exe "C:Utilityregjump.exe HKCUSoftwareClasses.pdf"
answered Nov 14, 2014 at 23:55
MrCalvinMrCalvin
1,5531 gold badge16 silver badges23 bronze badges
7
I used runas /user:domainuser@domain cmd
which opened an elevated prompt successfully.
answered Mar 10, 2014 at 23:02
JasonCJasonC
191 silver badge7 bronze badges
1
There are several ways to open an elevated cmd, but only your method works from the standard command prompt. You just need to put user
not username
:
runas /user:machinenameadminuser cmd
See relevant help from Microsoft community.
answered Sep 30, 2013 at 16:05
MattMatt
1,7125 gold badges20 silver badges32 bronze badges
1
I ran into the same problem and the only way I was able to open the CMD as administrator from CMD was doing the following:
- Open CMD
- Write
powershell -Command "Start-Process cmd -Verb RunAs"
and press Enter - A pop-up window will appear asking to open a CMD as administrator
Felix Dombek
13.3k17 gold badges78 silver badges127 bronze badges
answered Aug 26, 2015 at 1:05
GuiGui
2,2271 gold badge11 silver badges3 bronze badges
6
I don’t have enough reputation to add a comment to the top answer, but with the power of aliases you can get away with just typing the following:
powershell "start cmd -v runAs"
This is just a shorter version of user3018703 excellent
solution:
powershell -Command "Start-Process cmd -Verb RunAs"
answered Nov 10, 2018 at 9:29
StieglerStiegler
6896 silver badges8 bronze badges
1
Simple way I did after trying other answers here
Method 1: WITHOUT a 3rd party program (I used this)
- Create a file called
sudo.bat
(you can replacesudo
with any name you want) with following content
powershell.exe -Command "Start-Process cmd "/k cd /d %cd%" -Verb RunAs"
- Move
sudo.bat
to a folder in yourPATH
; if you don’t know what that means, just move these files toc:windows
- Now
sudo
will work in Run dialog (win+r) or in explorer address bar (this is the best part :))
Method 2: WITH a 3rd party program
- Download NirCmd and unzip it.
- Create a file called
sudo.bat
(you can replacesudo
with any name you want) with following content
nircmdc elevate cmd /k "cd /d %cd%"
- Move
nircmdc.exe
andsudo.bat
to a folder in yourPATH
; if you don’t know what that means, just move these files toc:windows
- Now
sudo
will work in Run dialog (win+r) or in explorer address bar (this is the best part :))
answered Oct 29, 2016 at 16:40
Dheeraj BhaskarDheeraj Bhaskar
18.4k9 gold badges63 silver badges66 bronze badges
12
According to documentation, the Windows security model…
does not grant administrative privileges at all
times. Even administrators run under standard privileges when they
perform non-administrative tasks that do not require elevated
privileges.
You have the Create this task with administrative privileges option in the Create new task dialog (Task Manager > File > Run new task), but there is no built-in way to effectively elevate privileges using the command line.
However, there are some third party tools (internally relying on Windows APIs) you can use to elevate privileges from the command line:
NirCmd:
- Download it and unzip it.
nircmdc elevate cmd
windosu:
- Install it:
npm install -g windosu
(requires node.js installed) sudo cmd
answered Mar 21, 2014 at 15:28
Ricardo StuvenRicardo Stuven
4,6762 gold badges35 silver badges36 bronze badges
7
I use nirsoft programs (eg nircmdc) and sysinternals (eg psexec) all the time. They are very helpful.
But if you don’t want to, or can’t, dl a 3rd party program, here’s another way, pure Windows.
Short answer: you can while elevated create a scheduled task with elevated privileges which you can then invoke later while not elevated.
Middle-length answer: while elevated create task with (but I prefer task scheduler GUI):
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
Then later, no elevation needed, invoke with
schtasks /run /tn cmd_elev
Long answer: There’s a lot of fidgety details; see my blog entry «Start program WITHOUT UAC, useful at system start and in batch files (use task scheduler)»
bluish
25.6k27 gold badges119 silver badges177 bronze badges
answered Feb 19, 2015 at 7:59
3
The following as a batch file will open an elevated command prompt with the path set to the same directory as the one from where the batch file was invoked
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
answered Apr 14, 2017 at 0:25
statlerstatler
1,2741 gold badge15 silver badges24 bronze badges
1
While both solutions provided by Dheeraj Bhaskar work, unfortunately they will result in the UAC dialog showing up on top (z-order-wise) but not getting focused (the focused window is the caller cmd/powershell window), thus I either need to grab the mouse and click «yes», or to select the UAC window using Alt+Shift+Tab. (Tested on Win10x64 v1607 build14393.447; UAC = «[…] do not dim […]».)
The following solution is a bit awkward as it uses two files, but it preserves the correct focus order, so no extra mouse / keyboard actions are required (besides confirming the UAC dialog: Alt+Y).
- cmdadm.lnk (shortcut properties / Advanced… / Run as administrator = ON)
%SystemRoot%System32cmd.exe /k "cd /d"
- su.bat
@start cmdadm.lnk %cd%
Run with su
.
answered Dec 3, 2016 at 0:18
OgmiosOgmios
6487 silver badges12 bronze badges
3
My favorite way of doing this is using PsExec.exe from SysInternals, available at http://technet.microsoft.com/en-us/sysinternals/bb897553
.psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
The «-h» switch is the one doing the magic:
-h If the target system is Vista or higher, has the process run with the account’s elevated token, if available.
answered Sep 7, 2014 at 14:11
David RodriguezDavid Rodriguez
2,3921 gold badge17 silver badges15 bronze badges
4
Make the batch file save the credentials of the actual administrator account by using the /savecred
switch. This will prompt for credentials the first time and then store the encrypted password in credential manager. Then for all subsequent times the batch runs it will run as the full admin but not prompt for credentials because they are stored encrypted in credential manager and the end user is unable to get the password. The following should open an elevated CMD with full administrator privileges and will only prompt for password the first time:
START c:WindowsSystem32runas.exe /user:Administrator /savecred cmd.exe
bluish
25.6k27 gold badges119 silver badges177 bronze badges
answered May 17, 2018 at 18:32
I’ve been using Elevate
for awhile now.
It’s description — This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
I copy the bin.x86-64elevate.exe
from the .zip
into C:Program Fileselevate
and add that path to my PATH
.
Then GitBash I can run something like elevate sc stop W3SVC
to turn off the IIS
service.
Running the command gives me the UAC
dialog, properly focused with keyboard control and upon accepting the dialog I return to my shell.
answered Jun 11, 2017 at 16:33
seangwrightseangwright
16.7k6 gold badges41 silver badges54 bronze badges
4
Dheeraj Bhaskar’s method with Powershell has a missing space in it, alt least for the Windows 10 incarnation of Powershell.
The command line inside his sudo.bat should be
powershell.exe -Command "Start-Process cmd "/k cd /d %cd% " -Verb RunAs"
Note the extra space after %cd%
;)Frode
answered May 14, 2019 at 9:19
Similar to some of the other solutions above, I created an elevate
batch file which runs an elevated PowerShell window, bypassing the execution policy to enable running everything from simple commands to batch files to complex PowerShell scripts. I recommend sticking it in your C:WindowsSystem32 folder for ease of use.
The original elevate
command executes its task, captures the output, closes the spawned PowerShell window and then returns, writing out the captured output to the original window.
I created two variants, elevatep
and elevatex
, which respectively pause and keep the PowerShell window open for more work.
https://github.com/jt-github/elevate
And in case my link ever dies, here’s the code for the original elevate batch file:
@Echo Off
REM Executes a command in an elevated PowerShell window and captures/displays output
REM Note that any file paths must be fully qualified!
REM Example: elevate myAdminCommand -myArg1 -myArg2 someValue
if "%1"=="" (
REM If no command is passed, simply open an elevated PowerShell window.
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -Verb RunAs}"
) ELSE (
REM Copy command+arguments (passed as a parameter) into a ps1 file
REM Start PowerShell with Elevated access (prompting UAC confirmation)
REM and run the ps1 file
REM then close elevated window when finished
REM Output captured results
IF EXIST %temp%trans.txt del %temp%trans.txt
Echo %* ^> %temp%trans.txt *^>^&1 > %temp%tmp.ps1
Echo $error[0] ^| Add-Content %temp%trans.txt -Encoding Default >> %temp%tmp.ps1
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -ArgumentList '-ExecutionPolicy Bypass -File ""%temp%tmp.ps1""' -Verb RunAs}"
Type %temp%trans.txt
)
answered Mar 7, 2017 at 14:38
..
@ECHO OFF
SETLOCAL EnableDelayedExpansion EnableExtensions
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 GOTO ELEVATE
GOTO :EOF
:ELEVATE
SET this="%CD%"
SET this=!this:=\!
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('CMD', '/K CD /D "!this!"', '', 'runas', 1);close();"
EXIT 1
save this script as «god.cmd» in your system32 or whatever your path is directing to….
if u open a cmd in e:mypictures and type god
it will ask you for credentials and put you back to that same place as the administrator…
answered Feb 9, 2018 at 0:40
jOte-jOte-
514 bronze badges
2
There seem to be a lot of really creative solutions on this, but I found Stiegler & Gui made the most sense to me. I was looking into how I could do this, but using it in conjunction with my domain admin credential, instead of relying on the local permissions of the «current user».
This is what I came up with:
runas /noprofile /user:DomainNameUserName "powershell start cmd -v runas"
It may seem redundant, but it does prompt for my admin password, and does come up as an elevated command prompt.
answered Oct 7, 2021 at 14:18
1
Here is a way to integrate with explorer.
It will popup a extra menu item when you right-click in any folder within Windows Explorer:
Here are the steps:
- Create this key:
HKEY_CLASSES_ROOTFoldershelldosherewithadmin
- Change its Default value to whatever you want to appear as the menu item text.
E.g. «DOS Shell as Admin« - Create another key:
HKEY_CLASSES_ROOTFoldershelldosherewithadmincommand
- and change its default value to this:
powershell.exe -Command "Start-Process -Verb RunAs 'cmd.exe' -Args '/k pushd "%1"'"
- Done. Now right-click in any folder and you will see your item there within the other items.
*we use pushd
instead of cd
to allow it to work in any drive.
not2qubit
13.3k8 gold badges89 silver badges122 bronze badges
answered Jul 18, 2020 at 21:11
rribasrribas
4151 gold badge6 silver badges6 bronze badges
For fans of Cygwin:
cygstart -a runas cmd
answered Nov 15, 2020 at 12:22
gavenkoagavenkoa
43.6k17 gold badges243 silver badges295 bronze badges
When a CMD script needs Administrator rights and you know it, add this line to the very top of the script (right below @ECHO OFF
):
NET FILE > NUL 2>&1 || POWERSHELL -ex Unrestricted -Command "Start-Process -Verb RunAs -FilePath '%ComSpec%' -ArgumentList '/c "%~fnx0" %*'" && EXIT /b
The NET FILE
checks for existing Administrator rights. If there are none, PowerShell restarts the current script (with its arguments) in an elevated shell, and the non-elevated script closes.
To allow running scripts -ex Unrestricted
is necessary.
-Command
executes the following string.
Start-Process -Verb RunAs
runs a process As Administrator:
the shell (%ComSpec%
, usually C:WindowsSystem32cmd.exe
) starting (/c
) the current script ("%~fnx0"
) passing its arguments (%*
).
Maybe not the exact answer to this question, but it might very well be what people need that end up here.
answered Sep 21, 2021 at 10:15
Michel de RuiterMichel de Ruiter
6,7035 gold badges50 silver badges70 bronze badges
2
The quickest way by far is to:
CTRL+ALT+DELETE
- Run TASK MANAGER
- Click
FILE > Run New Task > type in "cmd"
and tick the «Create this task with administrative privileges.» box.
Not sure if this helps but this is how I managed to do it. Doesn’t help if you need a command to run from batch but hey-ho … I needed this just because windows explorer is corrupted and needed to fix it.
This is my workaround. Hope this helps someone if not the original poster.
tomerpacific
4,38612 gold badges33 silver badges51 bronze badges
answered Aug 16, 2021 at 10:30
GarethGareth
591 gold badge1 silver badge6 bronze badges
1
A little late for an answer but answering anyway for latecomers like me.
I have two approaches. First one is based on little alteration to @Dheeraj Bhaskar’s answer and second one is new(that is not mentioned in any answer here).
Approach 1: Create a admin
command for windows(just for the sake of flexibility).
@ECHO OFF
powershell -Command "Start-Process %1 -Verb RunAs"
Open notepad -> copy/paste above script -> save it as admin.bat in c:windows
A lot can be added in the above script to make it better but I’ve tried to keep it simple and also because I’m not an expert in batch scripting.
Now you can use admin as command to run any other command or application with elevated privileges.
To answer the original question- type admin cmd
in standard cmd.
Approach 2:Using runas command. For this we need to enable the built-in Administrator account if not already enabled and set a password. This account is disabled by default on most systems.
When manufacturing PCs, you can use the built-in Administrator account to run programs and apps before a user account is created. Source
Steps to enable Administrator account-
- Hit Windows+R and type
compmgmt.msc
which will open Computer Management window. - Go to System Tools -> Local Users and Groups -> Users
- You should see an account with name Administrator here(more info about this account can be found here).
- Right click on Administrator and select Properties.
- Check Password never expires. Uncheck Account is Disabled and everything else then click OK. This will enable administrator account on your system. Skip if already enabled.
- Again Right click on Administrator and click on Set Password(by default it has no password set but for
runas
command to work we need to set a password).
Now windows will show you a life threatening warning which you can accept.
OR If you want to play safe then you should login into it after enabling this account and set a password from there.
Now runas
command should work-
Start a standard cmd and type-
runas /user:administrator cmd
EXTRA:
Now we can create something similar to Linux’s sudo
command. Create a sudo.bat file with following script and save it in c:windows.
@ECHO OFF
powershell -Command "runas /user:administrator %1"
Now we can do sudo cmd
answered Dec 1, 2021 at 16:32
avmavm
3773 silver badges15 bronze badges
I did this for my smartctl, and it became a portable App.
I borrowed it from here.
@echo off
set location=%cd%bin
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList { '/k "TITLE Smartctl" & color 07 & pushd "%location%" & prompt $g & echo "Welcome to Smartctl cmd"' }"
prompt $g
hides the long leading path.
pushd "%location%"
is similar to cd /d "%location%"
- Saved as
smartctl.cmd
- Create a shortcut for
smartctl.cmd
- Copy the shortcut to
C:Users#YourName#AppDataRoamingMicrosoftWindowsStartMenuPrograms
- Click search next to the start menu and input
smartctl
- Right click
Pin to Start
answered Dec 3, 2021 at 6:28
Just use the command:
runas /noprofile /user:administrator cmd
answered Jan 8, 2020 at 9:32
Use:
start
, run
, cmd
, then control+shift+enter
You’ll get UAC and then an elevated command shell.
answered Mar 28, 2021 at 2:36
Jeter-workJeter-work
7577 silver badges22 bronze badges
Install gsudo tool and use gsudo
command. UAC popup appears and eventually command prompt right in the current console window will be elevated:
C:UsersSomeone>net session
System error 5 has occurred.
Access is denied.
C:UsersSomeone>gsudo
C:UsersSomeone# net session
There are no entries in the list.
The tool can be installed using various package managers (Scoop, WinGet, Chocolatey).
answered Jul 16, 2022 at 20:51
Ilya SerbisIlya Serbis
20.5k6 gold badges81 silver badges72 bronze badges
1
Can use a temporary environment variable to use with an elevated shortcut (
start.cmd
setx valueName_betterSpecificForEachCase %~dp0
"%~dp0ascladm.lnk"
ascladm.lnk (shortcut)
_ propertiesadvanced"run as administrator"=yes
(to make path changes you’ll need to temporarily create the env.Variable
)
_ propertiestarget="%valueName_betterSpecificForEachCase%ascladm.cmd"
_ properties"start in"="%valueName_betterSpecificForEachCase%"
ascladm.cmd
setx valueName_betterSpecificForEachCase=
reg delete HKEY_CURRENT_USEREnvironment /F /V valueName_betterSpecificForEachCase
"%~dp0fileName_targetedCmd.cmd"
) (targetedCmd gets executed in elevated cmd window)
Although it is 3 files ,you can place everything (including targetedCmd) in some subfolder (do not forget to add the folderName to the patches) and rename «start.cmd» to targeted’s one name
For me it looks like most native way of doing this ,whilst cmd doesn’t have the needed command
Jee Mok
5,8498 gold badges46 silver badges75 bronze badges
answered Jul 25, 2018 at 23:28
iliailia
291 silver badge5 bronze badges
1
You can use the following syntax, I had the same question and did not think a script should be needed.
runas /profile /user:domainusername cmd
This worked for me, it may be different on your network.
answered Nov 29, 2019 at 15:28
I did it easily by using this following command in cmd
runas /netonly /user:AdministratorAdministrator cmd
after typing this command, you have to enter your Administrator password(if you don’t know your Administrator password leave it blank and press Enter or type something, worked for me)..
answered Aug 16, 2018 at 7:18
2
Press the Windows + X key and you can now select the Powershell or Command Prompt with admin rights. Works if you are the admin. The function can be unusable if the system is not yours.
Trooper Z
1,58013 silver badges31 bronze badges
answered Feb 25, 2019 at 14:11
I’ve created this tool in .Net 4.8 ExecElevated.exe, 13KB (VS 2022 source project) it will execute an application with an elevated token (in admin mode).
But you will get an UAC dialog to confirm! (maybe not if UAC has been disabled, haven’t tested it).
And the account calling the tool must also have admin. rights of course.
Example of use:
ExecuteElevated.exe "C:Utilityregjump.exe HKCUSoftwareClasses.pdf"
answered Nov 14, 2014 at 23:55
MrCalvinMrCalvin
1,5531 gold badge16 silver badges23 bronze badges
7
I used runas /user:domainuser@domain cmd
which opened an elevated prompt successfully.
answered Mar 10, 2014 at 23:02
JasonCJasonC
191 silver badge7 bronze badges
1
There are several ways to open an elevated cmd, but only your method works from the standard command prompt. You just need to put user
not username
:
runas /user:machinenameadminuser cmd
See relevant help from Microsoft community.
answered Sep 30, 2013 at 16:05
MattMatt
1,7125 gold badges20 silver badges32 bronze badges
1
- 01.11.2020
- 10 334
- 0
- 2
- 1
- 1
- Содержание статьи
- Описание
- Синтаксис
- Параметры
- Примечания
- Примеры использования
- Справочная информация
- Добавить комментарий
Описание
RUNAS — Запускает программы от имени другого пользователя.
Синтаксис
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:учетная_запись_пользователя program
Параметры
Параметр | Описание |
---|---|
/profile | Загружает профиль пользователя. Параметр /profile используется по умолчанию |
/no profile | Определяет, что профиль пользователя не надо загружать. Это позволяет загрузить приложение быстрее, но также может привести к сбоям в некоторых приложениях |
/env | Задает использование текущей сетевой среды вместо локальной среды пользователя |
/netonly | Показывает использование введенных сведений о пользователе только для удаленного доступа |
/smartcard | Определяет необходимость поддержки учетных данных с помощью смарт-карты |
/showtrustlevels | Выводит список параметров /trustlevel |
/trustlevel | Указывает уровень проверки подлинности, на котором необходимо выполнить приложение. Используйте параметр /showtrustlevels для просмотра доступных уровней доверия |
/user:учетная_запись_пользователя | Задает имя учетной записи пользователя, которая будет использована для запуска программы. Учетная запись пользователя должна быть представлена в формате пользователь@домен или доменпользователь |
program | Задает команду или программу, которая будет запущена с помощью учетной записи, указанной в параметре /user |
/? | Отображает справку в командной строке |
Примечания
- Администраторам рекомендуется использовать учетную запись с ограниченными разрешениями для выполнения повседневных задач, не связанных с администрированием, и учетную запись с более широкими правами только для выполнения отдельных административных задач. Чтобы реализовать такой подход без выхода из системы и повторного входа, войдите в систему с обычной учетной записью и используйте команду runas для запуска программ, требующих более широких прав.
- Примеры использования команды runas см. по ссылке «».
- Использование команды runas не ограничено административными учетными записями, хотя именно такой способ является наиболее употребительным. Любой пользователь с несколькими учетными записями может использовать runas для запуска программы, консоли MMC или компонента панели управления с другими личными данными.
- Если необходимо использовать учетную запись администратора на своем компьютере, в качестве параметра /user: введите одно из следующих значений:/user:учетная_запись_администратора@имя_компьютера/user:имя_компьютераучетная_запись_администратора
- Чтобы использовать данную команду в качестве администратора домена, введите одно из следующих значений параметра:/user:учетная_запись_администратора@имя_домена/user:имя_доменаучетная_запись_администратора
- С помощью команды runas можно выполнять программы (*.exe), запускать сохраненные консоли MMC (*.msc), ярлыки программ и сохраненных консолей MMC и компоненты панели управления. Их можно запускать в качестве администратора, даже если вход в систему был произведен с учетной записью члена другой группы, например группы пользователей или опытных пользователей.
- Можно использовать команду runas для запуска любой программы, консоли MMC или компонента панели управления. Поскольку указываются соответствующие сведения об имени пользователя и его пароле, учетная запись пользователя предоставляет возможность подключения к компьютеру, а программа, консоль MMC или компонент панели управления становятся доступными в системе для учетной записи пользователя.
- Команда runas позволяет администрировать сервер в другом лесе (компьютер, с которого запускается программа, и сервер располагаются в разных доменах).
- При попытке запуска программы, консоли MMC или компонента контрольной панели из сети с помощью runas выполнение может окончиться неудачей, поскольку личные сведения, использованные для подключения к сетевому ресурсу, могут отличаться от тех, что использованы при запуске программы. Личные сведения, использованные при запуске программы, могут не позволить получить доступ к тому же сетевому ресурсу.
- Некоторые компоненты, например папка «Принтеры» и элементы рабочего стола, открываются косвенно. Эти компоненты не могут быть запущены командой runas.
- Если выполнение команды runas заканчивается неудачей, может оказаться, что служба вторичного входа не запущена или используемая учетная запись пользователя недопустима. Чтобы проверить состояние службы вторичного входа, в компоненте «Управление компьютером» щелкните узел Службы и приложения, а затем — Службы. Чтобы проверить учетную запись пользователя, попытайтесь подключиться к соответствующему домену с помощью этой учетной записи.
Примеры использования
Чтобы в качестве администратора на локальном компьютере запустить экземпляр интерпретатора командной строки , введите команду:
runas /user:имя_локального_компьютераadministrator cmd
После запроса введите пароль администратора.
Чтобы запустить экземпляр оснастки «Управление компьютером», используя учетную запись администратора домена companydomaindomainadmin, введите команду:
runas /user:companydomaindomainadmin "mmc %windir%system32compmgmt.msc"
После запроса введите пароль соответствующей учетной записи.
Чтобы запустить экземпляр блокнота, используя учетную запись администратора домена user в домене domain.microsoft.com, введите команду:
runas /user:user@domain.microsoft.com "notepad my_file.txt"
После запроса введите пароль соответствующей учетной записи.
Чтобы запустить экземпляр окна командной строки, сохраненную консоль MMC, компонент панели управления или программу, которая будет администрировать сервер в другом лесе, введите команду:
runas /netonly /user:доменимя_пользователя "команда"
В параметре доменимя_пользователя должен быть указан пользователь с разрешениями, достаточными для администрирования сервера. После запроса введите пароль соответствующей учетной записи.
Справочная информация
Рассмотрим несколько способов запустить программу от имени администратора в Windows 10, для исправления ошибок: «CreateProcess сбой, код 740«, «Запрошенная операция требует повышения«, «Отказано в доступе» и др., возникающих при запуске программ с ограниченными правами (пользователь, гость).
По умолчанию программы и игры в Windows 10 запускаются без прав администратора, чтобы предотвратить несанкционированные изменения в вашей системе. Но частый случай, когда для корректной работы программы требуются запуск с повышенными правами (администратор), для правильной работы или выполнения определенных команд.
⚠️ Внимание: для запуска программы с повышенными правами, вам потребуется знать пароль администратора!
Содержание
- Значок приложения
- Свойства файла
- Меню Пуск (контекстное меню)
- Меню Пуск (сочетание клавиш)
- Меню Выполнить
- Лента Проводника
- Окно Поиск
- Командная строка (CMD)
- PowerShell
- BAT файл
Статья на других языках:
🇺🇸 — How To Run Program As Administrator
🇪🇸 — Cómo ejecutar programa como administrador
🇫🇷 — Comment exécuter un programme en tant qu’administrateur
🇩🇪 — So führen Sie ein Programm als Administrator aus
🇳🇱 — Hoe Programma als administrator uitvoeren
🧐 Это может быть интересно:
1️⃣ 8 способов запустить командную строку от имени администратора
2️⃣ 7 способов запустить PowerShell от имени администратора
Значок приложения
Как выполнить запуск программы от имени администратора однократно, с помощью значка программы (иконки):
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Запуск от имени администратора.
Свойства файла
Способ, всегда запускать программу с правами администратора с помощью меню Свойства файла.
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Свойства;
- Откройте вкладку Совместимость;
- Установите галочку Запускать эту программу от имени администратора;
- Нажмите ОК.
Эта настройка позволит постоянно запускать эту программу с повышенными правами только для этого пользователя. Если вы хотите разрешить запуск программы с правами администратора для всех пользователей компьютера, в предыдущем окне нажмите кнопку Изменить параметры для всех пользователей и установите галочку Запускать эту программу от имени администратора.
Запуск программы с повышенными правами используя контекстное меню, в меню Пуск.
- Откройте меню Пуск (Ctrl+ESC);
- Найдите значок программы в списке Все программы;
- Щелкните правой клавишей мыши по значку программы, выберите: Дополнительно -> Запуск от имени администратора.
Этим же способом можно запускать и Плитки приложений в Windows 10, 8.
Клик мышкой и сочетание клавиш в меню Пуск еще один способ запустить программу от имени администратора.
- Откройте меню Пуск (Ctrl+ESC);
- Найдите значок программы в списке Все программы;
- Удерживая нажатыми клавиши Ctrl+Shift щелкните по значку программы.
Способ запуска программы с полными правами используя меню Выполнить.
- Нажмите сочетание клавиш Windows+R (или щелкните по кнопке Пуск правой клавишей мыши и выберите Выполнить);
- Введите имя команды или перетащите мышкой пиктограмму программы в окно ввода меню Выполнить;
- Нажмите сочетание клавиш Ctrl+Shift+Enter.
⭕ Если у вас не получается перенести иконку программы в меню Выполнить:
- Нажмите и удерживайте кнопку Shift, щелкните по пиктограмме программы правой клавишей мыши;
- Выберите пункт Копировать как путь;
- Выполните вставку из буфера обмена в окно Выполнить (нажмите комбинацию клавиш Ctrl+V).
Лента Проводника
Несложный способ запуска любой программы от имени администратора использование ленты проводника Windows 10.
🔔 Если в меню папки не отображается Лента проводника, нажмите сочетание Ctrl+F1.
- Выделите значок программы в Проводнике Windows;
- В меню папки откройте вкладку Средства работы с приложениями;
- Выберите пункт Запустить от имени администратора.
Окно Поиск
Запустить программу с правами администратора так же можно используя Поиск Windows 10.
- Нажмите сочетание Windows+S (или щелкните по кнопке Пуск правой клавишей мыши и выберите Поиск);
- Введите название нужной программы;
- В правой части окна щелкните пункт Запуск от имени администратора.
Запуск программы от имени администратора используя командную строку (CMD)
Однократный способ запуска программы от имени администратора, используя командную строку Windows (CMD).
Простым способом запуска является запуск Командной строки от имени администратора, из которой выполняется запуск нужной программы. Но вы так же можете выполнить запуск из консоли CMD (с правами пользователя), используя команду runas.
- Запустите командную строку;
- Выполните команду runas, указав имя пользователя с административными правами и полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
runas /user:MHelp.pro "C:totalcmdTOTALCMD.EXE"
Запуск программы от имени администратора используя PowerShell
Еще один способ запуска программы с повышенными правами — с помощью Microsoft PowerShell.
Простым способом запуска является запуск PowerShell от имени администратора и запуск необходимой программы. Но вы так же можете выполнить запуск из консоли PowerShell (с правами пользователя), используя команду start-process.
- Запустите PowerShell;
- Выполните команду start-process, указав полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
start-process "C:totalcmdTOTALCMD.EXE" –verb runas
Bat файл
В некоторых случая использовать предыдущие способы может быть неудобно, создадим bat файл с инструкциями по запуску программы.
Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды.
Wikipedia
- Запустим стандартное приложение Блокнот (Notepad);
- Указываем необходимую последовательность команд;
- В меню Файл выбираем пункт Сохранить как;
- В поле Имя файла указываем имя файла и дописываем расширение bat;
- В поле Тип файла указываем Все файлы;
- Нажимаем кнопку Сохранить.
Теперь запустить программу с правами администратора можно запустив созданный файл.
Узнать больше команд которые можно использовать в bat файлах — перейти.
🟢 Как запустить программу от имени администратора обсуждалось в этой статье. Я надеюсь, что теперь знаете как исправить ошибку 740 или «Запрошенная операция требует повышения» запустив программу с повышенными правами, удобным способом. Однако, если вы столкнетесь с каким-то проблемами при настройке, не стесняйтесь написать в комментариях. Я постараюсь помочь.
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:WindowsSystem32 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 PoliciesSecurity 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
RUNAS — запуск программы под другой учетной записью
Описание команды RUNAS
Команда RUNAS запускает конкретные средства и программы с разрешениями, отличными от тех, которые предоставляет текущая учетная запись.
Синтаксис ключи команды RUNAS
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:учетная_запись_пользователя program
- /profile — Загружает профиль пользователя. Параметр /profile используется по умолчанию.
- /no profile — Определяет, что профиль пользователя не надо загружать. Это позволяет загрузить приложение быстрее, но также может привести к сбоям в некоторых приложениях.
- /env — Задает использование текущей сетевой среды вместо локальной среды пользователя.
- /netonly — Показывает использование введенных сведений о пользователе только для удаленного доступа.
- /smartcard — Определяет необходимость поддержки учетных данных с помощью смарт-карты.
- /showtrustlevels — Выводит список параметров /trustlevel.
- /trustlevel — Указывает уровень проверки подлинности, на котором необходимо выполнить приложение. Используйте параметр /showtrustlevels для просмотра доступных уровней доверия.
- /user:учетная_запись_пользователя — Задает имя учетной записи пользователя, которая будет использована для запуска программы. Учетная запись пользователя должна быть представлена в формате пользователь@домен или доменпользователь.
- program — Задает команду или программу, которая будет запущена с помощью учетной записи, указанной в параметре /user.
- /? — Отображает справку в командной строке.
Примеры команды RUNAS
- Чтобы в качестве администратора на локальном компьютере запустить экземпляр интерпретатора командной строки , введите команду: runas /user:имя_локального_компьютераadministrator cmd
- Чтобы запустить экземпляр оснастки «Управление компьютером», используя учетную запись администратора домена companydomaindomainadmin, введите команду: runas /user:companydomaindomainadmin «mmc %windir%system32compmgmt.msc»
- Чтобы запустить экземпляр блокнота, используя учетную запись администратора домена user в домене domain.microsoft.com, введите команду: runas /user:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
«notepad my_file.txt» - Чтобы запустить экземпляр окна командной строки, сохраненную консоль MMC, компонент панели управления или программу, которая будет администрировать сервер в другом лесе, введите команду: runas /netonly /user:доменимя_пользователя «команда». В параметре доменимя_пользователя должен быть указан пользователь с разрешениями, достаточными для администрирования сервера. После запроса введите пароль соответствующей учетной записи.