39

On Linux, we can use

sudo bash

to run a shell as the superuser.

On Windows 7, we can use

Start menu -> (in search box, type) cmd -> Right click on search result and choose Run as Administrator

to run a command prompt as an administrator. Is there also a command prompt line that is like Linux's sudo or su so as to start a shell as an administrator?

1
  • 11
    You can also search for cmd (like you already do) and press "ctrl+shift+enter" to launch the selected program as administrator.
    – Joshua
    Nov 24, 2009 at 2:18

10 Answers 10

34

The runas command is the closest thing to what you're looking for:

runas /user:username cmd.exe

The format is runas, the username you want to run as, other options, and then the program you want to run.

If you're on a domain, you can use:

runas /user:DOMAIN\USERNAME cmd.exe

This can be run from the Run box ( Win+R ) or from a command window.

Note, however, that this is not exactly like sudo - you can't use it to elevate yourself, just run something as a different user. If you're already have administrative rights, a runas to your account will give you the same access as the regular command (unless, of course, you runas a different administrator account, which will grant those administrator's rights to the new shell).

6
  • 2
    Also, unlike sudo, runas will never cache the password for any length of time. So if you were planning on queuing up a couple quick commands like you can with successive runs of sudo. So just open a console window and run your commands there.
    – Joshua
    Nov 24, 2009 at 2:26
  • so the shortest form is "runas /user:DOMAIN\Administrator cmd.exe" wow... that's pretty long and hard to remember... and i can create an alias, but what if i am on someone else's computer and helping out? will it be a good idea if MS can create a special command called runasadmin? Nov 24, 2009 at 9:23
  • 5
    Joshua: Unless you use /savecred. Nov 24, 2009 at 18:19
  • +1, and for local admin runas /user:administrator cmd.exe is not hard to remember after a dozen types or so. All it is is the command itself runas followed by the /user: switch, followed by the user we want to run it as, then finally the program we want to run, cmd.exe (the command prompt in our case). This is as close to a one line you can get for running command prompts elevated. Also, if you do start->run sometimes there's a checkbox to run the program elevated, I haven't put any effort into figuring out what makes it appear, but it is an option.
    – MDMoore313
    Mar 9, 2013 at 5:31
  • 2
    It appears that by default the administrator does not have a password. And that the account is actually disabled. The administrator account needs to be first enabled, given a password and then it becomes an actual user that you can log into and runas into. Mar 24, 2016 at 14:49
11

Try creating a shortcut to cmd.exe. Right Click > Properties. Click on Advanced button. And tick the box "Run as Administrator" and click OK.

Assign it a shortcut key if you want.

And you could also assign the default location for the CMD prompt to start in.. eg %CD%

7

Another alternative is to click Start and type cmd, followed by Ctrl + Shift + Enter

Source: Microsoft Technet

4

Use SuRun.

It works on Windows 8 as well. It runs the application in "admin" mode without a prompt, yet you have greater control on what applications are run (you can see it on the SuRun's control panel applet). It works great in a batch file too...

1
  • just a note for Windows 8 (and 8.1): I was not able to launch a command prompt as admin, because surun replaces - by default settings - the built-in runas function in the context menus.
    – Wolf
    Jan 15, 2015 at 11:18
2

If you want a command-line solution: download hstart from http://www.ntwind.com/software/hstart.html and extract hstart.exe or hstart64.exe to somewhere on your path. You can start an elevated command prompt with hstart /runas cmd or hstart64 /runas cmd.

But the fastest way (as noted in a comment for the question) is still to press Windows, type cmd and press Ctrl + Shift + Enter.

1

Create a batch file such as sudo.bat, and type the following commands and then save in the PATH:

@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 %temp%\sudo.tmp.vbs

To use it, for an instance, sudo cmd net start fms, however, the script won't work if there's quotemark in command line.

1
  • 2
    This results in prompting user with UAC dialog box, and then running the desired command in a separate window.
    – TOOGAM
    Feb 3, 2015 at 19:45
1

I was frustrated with the existing solutions for this, so I wrote a little Node.js script which should be more familiar to *nix users.

It elevates the current user with no password prompts (just UAC), redirects stdin and stdout, and runs in the same console window.

https://github.com/tehsenaus/windosu

1
  • This works great - just say sudo <command> and hit Alt+Y in the UAC dialog. Jun 3, 2018 at 11:42
0

The Open Command Prompt Shell Extension can add this capability for you as well.

0

I include genuine su and sudo commands with my Hamilton C shell to run a command as another user or elevated (with the UAC prompt) or both, i.e., elevated as another user. Unlike runas and other alternatives, my su and sudo know how to pass current directories, environment variables and long command lines. This is a commercial product but there is a free version. Full disclosure: I'm the author. But I'm also happy to answer questions.

0

You might like Sudo for Windows.

Not the answer you're looking for? Browse other questions tagged .