如何在 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 命令中使用它。

看到這個關聯了解更多...

相關內容