我總是在Windows計算機上使用非管理員帳戶。有時我需要安裝需要管理員訪問權限的程序。由於我主要使用Windows命令提示符,是否有Windows命令升級權限,類似於Linux終端命令 sudo
?
我總是在Windows計算機上使用非管理員帳戶。有時我需要安裝需要管理員訪問權限的程序。由於我主要使用Windows命令提示符,是否有Windows命令升級權限,類似於Linux終端命令 sudo
?
該 運行方式 命令。
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
趕緊跑:
runas /noprofile /user:Administrator cmd
以管理員身份啟動命令shell
我發現了 提升 今天哪個 “執行具有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。
痛苦點提升緩解是將特定進程從非特權外殼升級,然後繼續正常進行。如果沒有這個,您需要啟動特權命令提示符 右鍵單擊>“以管理員身份運行”在嘗試特權命令之前,這不容易編寫腳本。
你可以使用 運行方式 命令有點類似,或者你可以查看 sudo for Windows 項目結束 SourceForge上 這會添加一個sudo命令。
差異很微妙:
假設您有兩個用戶。 Bob是普通用戶,James是管理員。
如果您以Bob身份登錄並使用“runas james acommand”命令運行,就好像它是由James運行的,所以它訪問James的用戶設置,任何用戶更改都會進入James 我的文件 &設置文件夾等。因此,如果您正在安裝應用程序,那麼它將作為James而不是Bob安裝。
另一方面,如果Bob執行“sudo acommand”命令仍然以Bob身份運行,但具有提升的權限 - 就像Linux sudo命令一樣。要防止任何用戶能夠sudo,您必須定義一個sudoers用戶組,其中包含有權使用sudo提升權限的普通用戶列表。用戶仍需在提升前提供憑據。
有時差異並不重要,有時它是,並且我發現兩個命令都很有用。
你也可以使用 腳本提升PowerToys。
如果您準備切換到備用控制台,那就有了 ConEmu (我是作者)。它的一個功能 - 能夠在一個ConEmu窗口中運行高架和非高架標籤。選項卡也可以使用不同的憑據啟動。
為了方便用戶,有批處理文件 csudo.cmd (可以很容易地採用bash)。閱讀完整說明 項目的維基。簡而言之,例如,當您從現有的非提升選項卡運行某些命令時
csudo dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
ConEmu將開始 dism
在新的提升控制台/選項卡中(在Vista中具有前面的UAC提示或在XP中具有登錄框)。
默認情況下 csudo
在拆分中啟動新控制台(可能是通過編輯更改 csudo.cmd
內容)。
當然,您可以將其重命名為 sudo.cmd
如果你喜歡“經典” sudo
字。
添加sudo的三個步驟。
打開PowerShell。
複製以下腳本(Ctrl + C)並將其粘貼到PowerShell中(Alt + Space + E + P):
$script_path="$HOME\Documents\Scripts"; if (!(test-path $script_path)) {New-Item -ItemType directory $script_path} if (!(test-path $profile)) { new-item -path $profile -itemtype file -force }". $script_path\sudo.ps1" | Out-File $profile -append; "function sudo(){if (`$args.Length -eq 1){start-process `$args[0] -verb `"runAs`"} if (`$args.Length -gt 1){start-process `$args[0] -ArgumentList `$args[1..`$args.Length] -verb `"runAs`"}}" | Out-File $script_path\sudo.ps1; powershell
它將永久啟用 sudo
PowerShell中的命令。
sudo <process-name> [param1 [param2 [param3]]]
例子:
sudo explorer
sudo notepad
sudo powershell
sudo cmd
sudo taskmgr
sudo tasklist
sudo taskkill /IM Skype.exe /PID 8496
注意:我混合了兩篇文章中的腳本來創建上述腳本。而是在記事本中手動粘貼腳本,我添加了 Out-File
保存的陳述 ps1
和 $profile
腳本中的文件。
提示:如果您不是UAC彈出窗口的忠實粉絲(像我一樣),請將以下內容保存在* .reg文件中並運行它:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
如果您在Windows上執行此操作,那麼除了其他幾個答案中提到的Run As命令之外,還有一些方法可以使用鼠標執行此操作。
如果你按下了 轉移 右鍵單擊Windows中的大多數可執行文件時,您應該注意到一些更高級的選項。其中一個是“Run As...
“選項(我認為它被稱為”Run As Administrator
“從Vista開始)。
您還可以從Microsoft下載更高級的RunAs版本,名為 ShellRunAs,這在命令行和圖形模式下都具有內置RunAs命令的增強功能,包括允許您保存帳戶憑據
蘇潤 是一個免費的開源應用程序,它允許某些程序以管理權限運行,無需在不更改用戶註冊表或修改環境變量的情況下提供密碼。
當我使用Windows XP時,這個應用程序對我幫助很大。 Beta版 在Windows 7下運行。
正如您可能已經發現的那樣,runas將允許您作為另一個用戶運行,但它無法執行提升,並且它不會傳遞當前目錄,環境變量或長命令行。
漢密爾頓C殼 用真正的su和sudo解決這個問題。 su允許您以另一個用戶身份運行命令; sudo(實際上是su的別名)允許你運行一個提升的命令。您也可以同時執行這兩項操作,作為其他用戶進行提升。當前目錄,環境變量和長命令行通過在調用者上下文中運行的su與作為插入的自身副本之間的共享內存握手傳遞,然後使用新憑據啟動子進程。完全披露:我是作者。
這個腳本完成了這項工作:
@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 //NoLogo %temp%\sudo.tmp.vbs
保存為 sudo.cmd
然後將其添加到您的PATH
注意: runas
在此上下文中表示“以管理員身份運行”而不是“以其他用戶身份運行”
從這裡開始 並稍加編輯以從輸出中刪除cscript.exe標頭