Windows 有“sudo”命令吗?

Windows 有“sudo”命令吗?

我在 Windows 计算机上总是使用非管理员帐户工作。有时我需要安装需要管理员访问权限的程序。由于我主要使用 Windows 命令提示符,是否有类似于 Linux 终端命令的 Windows 命令可以提升权限sudo

答案1

鲁纳斯命令。

runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

赶紧跑:

runas /noprofile /user:Administrator cmd 

以管理员身份启动命令 shell

答案2

提升-“使用 UAC 权限提升执行命令。这对于在命令提示符内或使用批处理文件时很有用。”它与 不同sudo,它将执行用户更改为管理员,但它的语法比 更简单易用runas,并且它可以保留当前目录,从而可以使用相对路径。

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 的目的不是绕过或绕过 UAC(用户帐户控制),而是利用它。只要 UAC 在那里启用提示一些过程中的要点。如果你需要完全摆脱提示,你必须禁用 UAC

Elevate 缓解的痛点是从非特权 shell 升级特定进程,然后照常运行。如果没有这个,你需要使用以下命令启动特权命令提示符右键单击>“以管理员身份运行”在尝试执行特权命令之前,该命令无法轻易编写脚本。

适用于“无需提示即可提升”两者合起来的作用与sudosecpol.msc相同%wheel ALL=(ALL) NOPASSWD: ALL

一个已知的限制是它不会从它正在提升的程序返回错误代码。

如果你的肌肉记忆停留在须藤,使用创建别名多斯基
doskey sudo=elevate -w

或 PATH 中的批处理文件:
@elevate -w %*

Elevate 是第三方工具,由约翰内斯·帕斯。下载大小为 11kb,可移植(无需安装):http://code.kliu.org/misc/elevate/

答案3

您可以使用鲁纳斯命令有点类似,或者你可以查看对于 Windows,sudo项目结束于SourceForge它添加了一个 sudo 命令。

差异很微妙:

假设您有两个用户。Bob 是普通用户,James 是管理员。

如果您以 Bob 身份登录并使用“runas james acommand”,该命令将像由 James 运行一样运行,因此它会访问 James 的用户设置,并且任何用户更改都会进入 James我的文件& 设置文件夹等。因此,如果您正在安装一个应用程序,它将被安装为 James,而不是 Bob。

另一方面,如果 Bob 执行“sudo acommand”,该命令仍以 Bob 的身份运行,但具有提升的权限 - 就像 Linux sudo 命令一样。为了防止任何用户能够使用 sudo,您必须定义一个 sudoers 用户组,其中包含有权使用 sudo 提升权限的普通用户列表。用户在提升权限之前仍需提供凭据。

有时差异并不重要,有时却很重要,我发现这两个命令都很有用。

答案4

如果你准备切换到其他控制台,那么康埃穆(我是作者)。其功能之一 - 能够在一个 ConEmu 窗口中同时运行提升和非提升选项卡。选项卡也可以使用不同的凭据启动。

为了用户舒适,有批处理文件命令提示符(可以很容易地应用于 bash)。阅读完整描述项目维基简而言之,当您从现有的非提升选项卡运行某些命令时,例如

csudo dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess

dismConEmu 将在新的提升的控制台/选项卡中启动(在 Vista 中带有前面的 UAC 提示或在 XP 中带有登录框)。

默认情况下,csudo在拆分中启动新的控制台(可以通过编辑csudo.cmd内容进行更改)。

当然,sudo.cmd如果您喜欢“经典”sudo一词,您可以将其重命名。

ConEmu/Windows 中的 sudo

相关内容