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?

nonopolarity
  • 9,886

10 Answers10

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).

surfasb
  • 22,896
Jared Harley
  • 13,012
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%

Methical
  • 194
7

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

Source: Microsoft Technet

hanxue
  • 3,134
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...

Kippax
  • 41
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.

Luke
  • 1,155
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.

Cosmore
  • 115
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

0

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

afrazier
  • 23,505
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.