如何在Windows中运行'sudo'命令

Dav*_*542 79 windows

我如何在Windows中运行以下命令:

$ sudo django-admin.py startproject NEW
Run Code Online (Sandbox Code Playgroud)

Blu*_*eft 81

sudoWindows中没有命令.最近的等价物是"以管理员身份运行".

您可以使用runas具有管理员信任级别的命令执行此操作,也可以右键单击UI中的程序并选择"以管理员身份运行".

  • 你知道runas的行为是否因版本而异?我已经安装了Win7企业,我尝试使用runas的所有组合创建了没有管理员权限的新cmd (4认同)
  • Sudo for Windows(sudowin)允许授权用户使用自己的密码短语启动具有提升权限的进程.与runas命令不同,Sudo for Windows保留用户的配置文件和创建对象的所有权.你可以在这里得到它:https://sourceforge.net/projects/sudowin/ (3认同)
  • runas 是管理员中用户帐户的提升;sudo 是另一回事。这不应该是公认的答案。 (2认同)

Ger*_*oli 55

所有答案都解释了如何在新的控制台主机中提升您的命令。

让我感到好笑的是,这些工具的行为都不像*nix sudo,允许在当前控制台内执行命令。

所以,我写道:gsudo

源代码https://github.com/gerardog/gsudo

安装

通过勺

  • 如果您还没有,请安装scoop。然后:
scoop install gsudo
Run Code Online (Sandbox Code Playgroud)

或通过巧克力

choco install gsudo
Run Code Online (Sandbox Code Playgroud)

手动安装:

演示

gsudo 演示

  • 您还可以使用“winget install gsudo”从“winget”安装它 (7认同)
  • 精彩的。感谢您为我们节省了宝贵的时间:-) (2认同)

nos*_*tio 9

我已经创建wsudo了一个sudo类似开源的 CLI 工具,用于 Windows 以在当前目录的上下文中运行具有提升权限的程序或命令。它以Chocolatey 包装形式提供

我经常使用它来配置构建代理、管理诸如sfc /scannowdism /online /cleanup-image /restorehealth或仅用于安装/更新我的本地 Chocolatey 包。使用风险自负。

安装

choco install wsudo
Run Code Online (Sandbox Code Playgroud)

Chocolatey必须已经安装。

目的

wsudo是一个sudo类似于Linux的 Windows 工具,用于从非管理员 shell 命令提示符调用具有提升权限(作为管理员)的程序并保留其当前目录。

此实现不依赖于旧版 Windows 脚本宿主 ( CScript)。相反,它使用调用"Start-Process -Wait -Verb runAs ..."cmdlet的辅助 PowerShell 5.1 脚本。您的系统很可能已经安装了 PowerShell 5.x,否则系统会提示您将其安装为依赖项。

用法

wsudo在当前目录中运行具有提升权限的程序或内联命令。例子:

wsudo .\myAdminScript.bat 
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts 
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请访问GitHub repro

  • 还有一件事要让你知道。你知道[地址栏hack](https://www.google.com/search?q=windows+address+bar+hack+open+cmd)直接打开shell吗?我通常使用这个 hack,但是当我想通过这个 hack 获得提升的 shell 时,我非常沮丧。我试图找到许多替代方案,但没有奏效。我终于可以用“wasudo [shell]”打开一个了。我喜欢有这个。再次感谢 :-) (3认同)
  • @benok,我愿意,这确实是一个方便的黑客!很高兴 `wasudo` 让你更轻松。我自己主要住在 VSCode 集成控制台终端中,所以我只是在那里输入 `wasudo` :) 下一个改进是继承 [环境变量](https://github.com/noseratio/choco/issues/2) . (3认同)
  • 感谢您发布“wsudo”,它对我很有用。我认为您的 wsudo 的优势是 ** 保持工作目录** 不像其他选择。除了 wsudo,我找不到可以保留 CWD 的方法。我认为你应该在描述中强调这一点。我真的很感激你的工作。 (2认同)

CME*_*ber 8

打开记事本并粘贴以下代码:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c %*'"
@echo on
Run Code Online (Sandbox Code Playgroud)

然后,将文件另存为sudo.cmd。复制此文件并将其粘贴在PATH环境变量中,C:\Windows\System32或将路径添加sudo.cmd到PATH环境变量中。

当您打开命令提示符时,现在可以运行sudo start .

如果要在运行命令时使admin命令提示符窗口保持打开状态,请将记事本中的代码更改为此:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k %*'"
@echo on
Run Code Online (Sandbox Code Playgroud)

说明:

powershell -Command 运行powershell命令。

Start-Process 是启动过程的Powershell命令,在本例中为命令提示符。

-Verb RunAs 以管理员身份运行命令。

-Argument-List 使用参数运行命令。

我们的论据是'/c %*'%*表示所有参数,因此,如果这样做了sudo foo bar,它将在命令提示符下运行,foo bar因为参数是foo和bar,然后%*返回foo bar

/c是命令完成后关闭该窗口中的CMD参数,并且/k是保持窗口打开CMD参数。

  • @noseratio是真的,看来将其更改为此可以解决问题,但是:`powershell -Command“ Start-Process cmd -Verb RunAs -ArgumentList'/ k cd / d%CD%&&%*'” (2认同)

aku*_*utz 7

有一种是。我早在 2007 年就为 Windows 创建了 Sudo?08?这是我写的有关它的安全文件 - https://www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726。很确定http://sudowin.sf.net仍然有效。


SAT*_*uke 6

runas该命令要求用户键入密码。如果您不想键入密码而只想单击UAC对话框,请Start-Process -Verb runas在PowerShell中使用,而不要使用runascommand。

参见:http : //satob.hatenablog.com/entry/2017/06/17/013217


Ign*_*ams 5

你通常不会,因为你不会在*nix下运行它.在用户目录中进行开发,然后再部署到系统目录.


小智 5

在Windows中,您可以使用runas命令。对于linux用户,windows下有一些sudo的替代品,你可以看看这个

http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/