如何在 PowerShell/cmd.exe 会话中以提升的权限运行命令?

如何在 PowerShell/cmd.exe 会话中以提升的权限运行命令?

在 Linux 中,用户可以su成为 root (管理员)来执行多个命令,或者sudo ...以 root 身份运行一个命令。

Windows 中是否有类似的东西,无论是 PowerShell 还是 cmd.exe,允许我以提升的权限运行命令(比如创建符号链接)而不打开新窗口?

答案1

cmd 中的 sudo

@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

这不是我的代码,只是传递一下。将其保存为 sudo.cmd 并将其弹出到 system32 或 PATH 中的某个位置,然后您可以执行以下操作:

sudo test.bat

并且 test.bat 将以提升的权限运行。

答案2

在 powershell 中有 cmdlet Get-Credential,您甚至可以将其分配给变量并稍后在 powershell 命令中使用它。

看到这个关联了解更多信息...

相关内容