題 如何始終以管理員身份運行命令提示符?


作為開發人員,我經常需要為各種目的打開命令提示符。例如,我使用 iisreset 重新啟動我的本地Web服務器。

我通常以兩種方式之一打開命令窗口:

  1. 贏得,鍵入“cmd”並按 輸入
  2. 在資源管理器中,按住 轉移 並右鍵單擊文件夾,然後選擇“在此打開命令窗口”

但是,當我以這兩種方式之一打開命令窗口時,我沒有我認為我有權獲得的完全管理員權限。

I am an administrator, but cmd.exe doesn't know that

為了運行僅限管理員的應用程序,我必須以這種相對費力的方式打開命令行:

  1. 贏得,輸入“cmd”
  2. 等待菜單填充
  3. 將手從鍵盤上抬起並放在鼠標上
  4. 右鍵單擊“cmd.exe”菜單項
  5. 選擇“以管理員身份運行”

這是不可接受的,原因如下:

  • 窗口始終在C:\ windows \ system32中打開,而不是我的 Users 目錄(如批准的技術1中所示)或我想要的文件夾(如批准的技術2)。所以我經常需要更改目錄才能到達我想去的地方。
  • 此過程比我喜歡的任何方法慢幾毫秒。在我的職業生涯的剩餘時間裡,每天執行幾次,每天都會花費大約十天的時間來減少點擊和等待以及更改目錄所花費的時間。
  • 作為程序員,執行無意義的機器人任務會讓我感到很痛苦。
  • 作為一名程序員,舉手是一項艱鉅的任務,會給我帶來很大的身體痛苦。

這就是為什麼我正在尋找一個一步到位的解決方案,讓批准的技術1和2打開管理員命令提示。

許多程序允許您從“屬性”菜單中永久更改其默認權限級別。命令提示符不是這些程序之一。

enter image description here

默認情況下,如何使命令窗口以管理員身份運行(即使使用“在此處打開命令窗口”上下文菜單選項)?


97
2017-07-25 13:57


起源


為什麼不改變UAC只提升? - surfasb
我的UAC滑塊上沒有看到“僅提升”選項。您是指除“用戶帳戶控制設置”窗口之外的其他內容嗎? - Kevin
我認為它的錘子時間...... - ThunderToes


答案:


要回答問題的第一部分,當您點擊Windows鍵並輸入“CMD”時,您可以點擊 按Ctrl + 轉移 + 輸入 以管理員身份打開

要回答問題的第二部分,請將以下內容粘貼到記事本中,並使用“.reg”擴展名保存:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

然後運行該文件。它會將更改合併到註冊表中,並將選項添加到上下文菜單中。 (不需要換班鑰匙。)


85
2017-07-25 14:12



注意;在這兩種情況下,您仍然必須接受UAC提示。 - Synetech
註冊表編輯在Windows 8中不起作用。 - Biker John
註冊表修補程序適用於Server 2012 R2 - fiat
它在Windows 7上對我不起作用 - Hello Universe
如果在運行reg文件後沒有看到該命令,請註銷Windows並重新登錄。 - trebormf


許多程序允許您從“屬性”菜單中永久更改其默認權限級別。命令提示符不是這些程序之一。

兼容性 選項卡已完全禁用 所有 Windows的可執行文件:

enter image description here

要為Windows可執行文件設置管理員權限,您需要創建一個快捷方式並使用 捷徑 選項卡→Advanced (“開始”菜單中的命令提示項已經是快捷方式):

enter image description here

該窗口始終在C:\ windows \ system32中打開,而不是我的Users目錄(如批准的技術1中所示)或我想要的文件夾(如批准的技術2中所示)。所以我經常需要更改目錄才能到達我想去的地方。

這是正常的,因為如果你打開一個管理命令提示符,你可能正在做一些你需要管理員權限的系統操作,而不是你已經擁有權限的用戶操作。

您可以通過添加/編輯來全局設置默認目錄 Autorun 註冊表項(它甚至不必是可擴展的字符串來使用環境變量):

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd /d \"%userprofile%\""

現在,每次打開命令提示符 使用任何方法 將自動默認(嗯,技術上 變化目錄)到您的用戶配置文件目錄。

更好的是,只要您使用打開命令提示符,就可以添加其他命令以自動運行 & 運營商(例如, cd /d %userprofile% & cls & dir)。另外,您可以在相同的鍵下設置相同的值 HKLM 分支為所有用戶設置它。


請注意,您仍然必須接受UAC提示。不幸的是(目前?)無法創建受信任程序的UAC“白名單”,因此命令提示符可以作為管理員運行而無需接受提示。這給你留下了(a)幾個選項。

  • 您可以完全關閉或關閉UAC(useraccountcontrolsettings.exe
  • 您可以使用像這樣的權限提升程序 電梯又升高了我 或者 海拔PowerToy
  • 創建一個提升 計劃  任務,為其輸入憑據(一次),然後創建任務的快捷方式

在第一種情況下,您完全避免使用UAC,而在後兩種情況下,您只需在創建快捷方式時輸入一次憑據。


37
2017-07-25 14:56



通過自動運行設置當前目錄時出現問題。有了這個價值集, cd /d "%userprofile%" autoruns不僅在打開新的控制台窗口時,而且每次調用新的執行線程時都會自動運行。這可能會導致問題,例如, for /f循環。在cmd提示下嘗試此操作: cd "\Program Files" 然後 for /f "delims=" %I in ('cmd /c cd') do @echo %I。你會看到的 for /f loop認為它當前的工作目錄是$ home,而不是Program Files。修改它會更安全 cmd 快捷方式並將目標設置為 "%comspec%" /k cd /d "%userprofile%"。 - rojo
如果要在打開新控制台窗口時保留Windows版本和版權信息,請將快捷方式的目標設置為 %comspec% /c cd /d "%USERPROFILE%" & %comspec% - rojo
+1表示非註冊表編輯答案。另一個答案可能在2012年沒問題,但我今天不想在Windows 10上試用它。 - Alan


我使用的解決方案是打開命令提示符,打開開始菜單,輸入'cmd'然後按 按Ctrl+轉移+輸入。這將導致所選程序以管理員身份啟動。


18
2017-11-13 07:15



有沒有不需要“搜索”的替代方案? (因為據我所知,在框中輸入東西實際上是搜索) - Pacerier
只有我知道的其他方式是盧克的答案,禁用UAC。搜索cmd非常快,甚至無法在找到它之前按Ctrl + Shift + Enter鍵。 - Dracs
我一直在客戶電腦上這樣做。它發現CMD非常快 - Canadian Luke
這會以管理員身份加載嗎? - barlop
@barlop是的,該熱鍵(Ctrl + Shift + Enter)將以管理員身份在“開始”菜單中啟動突出顯示的程序。 - Dracs


要自動運行 CMD 作為管理員,每次只需單擊它(無需右鍵單擊或創建其他快捷方式),就可以輕鬆解決此問題:

  1. 在裡面 註冊編輯器, 導航:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

    • 如果沒有 Layers 夾,你必須創建一個並命名它:
      右鍵單擊 AppCompatFlags 文件夾選擇  →
  2. 右鍵點擊 Layers, 選擇  → 字符串值。將新字符串值的名稱設置為(的完整路徑)CMD.EXE)命令提示符(即 C:\Windows\System32\cmd.exe

  3. 雙擊新字符串值進行修改,然後設置 “價值數據” 至 RUNASADMIN

我有同樣的煩惱,這對我有用。


12
2018-03-10 22:08





如果您希望CMD.exe始終以管理員身份運行,只需將以下註冊碼添加到您的註冊表:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

10
2018-01-04 17:10



這在Windows 8.1上適用於我。現在我點擊Windows-R,cmd,回車。它也適用於通過Shift-RightClick>打開命令窗口從文件資源管理器打開命令窗口。 - Troy Gizzi
如果這有效,這是正確的答案,儘管目前接受的版本更長。 - Xodarap777
這也適用於Windows 10。將內容放入記事本中,使用.reg擴展名保存並運行它 - Chris Halcrow


繞過UAC等所有悲痛的最簡單方法是設置任務計劃條目以使用最高權限運行cmd.exe。不要為其創建Trigger事件,並確保在“設置”選項卡中選中“允許按需運行任務”複選框。同樣在“設置”選項卡中,確保“如果任務已在運行,然後應用以下規則”下拉菜單設置為“不啟動新實例”。

然後在桌面上創建一個快捷方式,並從那裡運行它,或通過快捷鍵熱鍵或將快捷方式固定到任務欄。

我已經在我的Windows 7系統上完成了它,它運行得很好。


4
2017-09-25 01:03



糟糕,我忘了指定一件重要的事情。以下是Task任務快捷方式的目標路徑。 C:\ Windows \ System32 \ schtasks.exe / run / TN“沒有UAC的命令提示符”。引號內的文本是您在創建任務時為任務命名的任何內容。 - Peter Wills
請勿在回答中附上您的電子郵件ID - BlueBerry - Vignesh4303


我使用了一些工具,這是其他解決方法(除了Jesse提到的)。

當Vista首次問世時,微軟推出了“提升“powerToy非常有用並完成了工作,我相信(尚未測試)適用於Windows 7.將其放入您的路徑環境中,您可以從正常的命令提示符運行”提升iisreset“(甚至”提升“ cmd“從開始/運行或創建快捷方式”


3
2017-07-25 14:31





只需複制並粘貼cmd.exe並將其重命名為\ system32 \ folder中的“cmda.exe”(337 KB甚至不是什麼大問題......)。 cmda.exe屬性中的“以管理員身份運行”選項將不再顯示為灰色,您可以將其設置為始終以管理員身份運行。您現在將有兩個命令提示:第一個是常規,第二個具有(a)dmin權限。輸入“cmda”也很容易 贏得 搜索欄與“cmd”一樣!

對於具有管理員權限的上下文菜單中的cmd,請確保已安裝cmda.exe,將其添加到新的.reg文件中並啟動它

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda]
@="Open command window here (Administrator)"
"HasLUAShield"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda\Command]
@="cmda.exe /s /k pushd \"%V\""

您將在上下文菜單中看到兩條相同的行(shift);一個非提升的命令提示符和另一個添加了“(管理員)”的命令提示符。

而已...


2
2017-09-23 10:28





創建cmd.exe的快捷方式,右鍵單擊並選擇屬性,在“快捷方式”選項卡上選擇“高級”,選中“以管理員身份運行”。


1
2017-07-25 16:59





我認為始終以管理員身份運行cmd的最簡單方法是使用以下代碼生成.reg文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
@="C:\\Windows\\System32\\cmd.exe"="RUNASADMIN"

將其粘貼到記事本或其他內容中並保存為.reg文件。注意:這使命令提示符作為管理員運行所有用戶。要始終只在您的用戶上以管理員身份運行,只需將HKEY_LOCAL_MACHINE更改為HKEY_CURRENT_USER


1
2017-12-15 03:45





都要感謝Jesse Brohinsky

一個更改進的版本。這還包括後台目錄,使您可以從文件夾內部打開cmd。另外,為了它,您可以以非管理員身份打開commandpromt。

您也可以禁用AdminApprovalMode。這樣,當您是管理員時,您不需要以管理員身份運行。 http://helpdeskgeek.com/windows-7/turn-off-admin-approval-mode-in-windows-7/

Windows Registry Editor Version 5.00
;write minus before to unreg example: [-HKEY_CLASSES_ROOT\Directory\shell\cmdhere]

[HKEY_CLASSES_ROOT\Directory\shell\cmdhere]
@="Open Command Window Here"

[HKEY_CLASSES_ROOT\Directory\shell\cmdhere\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere]
@="Open Command Window Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

1
2018-01-15 09:26