win7使cmd.exe默認以管理員權限運行並添加到右鍵菜單

一、使程序默認以管理員權限運行

win7戶帳戶控制(UAC)功能可以爲用戶提供一個安全的桌面環境,所有程序默認都運行在普通權限(中完整性級別)下,有可能修改系統設置或文件的操作都需要經過用戶的明確批准才能以高級權限(高完整性級別)執行。有的時候,我們需要某些程序運行在高權限下,只需在程序或快捷方式上點擊右鍵,選擇“以管理員身份運行”,如果希望該程序每次都以高權限運行可以在程序或快捷方式的屬性中切換到“兼容性”選項卡,勾選“以管理員身份運行此程序”即可.但是,如果你希望對 Windows 內置的應用程序應用這樣的設置呢?例如,有的IT管理員可能需要經常以管理員身份運行命令提示符cmd執行系統管理命令,每次都點右鍵顯然很煩人。當他試圖爲命令提示符程序設置兼容性模式時,會看到這樣的提示:“由於這個程序是該版本 Windows 的一部分,無法在上面設置兼容模式。”

要解決這個問題,讓命令提示符每次都強制以管理員身份運行,你可以使用以下幾種方式:

  1、修改文件繞過系統驗證(不推薦)

        首先你可能會想到,系統是如何判斷這個程序是系統內置程序的呢?如果把文件從系統文件夾拷貝出來,可以解決以上問題嗎?實驗結果是不行的,因爲系統是通過數字簽名來判斷該程序是否是 Windows 內置的。數字簽名是保證文件在發佈之後不被修改,並且標明發布者身份的一種技術,只要文件被修改,該文件的 Windows 簽名就會失效,系統就不會認爲它是內置程序了。但修改系統文件不是一種好方法,我們有更好的辦法可以實現。

  2、註冊表設置兼容性選項

  其實,文件的兼容性設置的選項是保存在用戶的註冊表中的。我們可以運行註冊表編輯器,然後找到 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers(針對當前用戶有效)或者HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers(針對所有用戶有效) 這個路徑,其中就保存了已經設置兼容性模式的所有程序及其設置信息:

例如: 我們可以添加cmd.exe:

reg add "<span style="font-size:18px;">HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers</span>" /v "C:\Windows\System32\cmd.exe" /d RUNASADMIN

或者:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"c:\\windows\\system32\\cmd.exe"="RUNASADMIN"

或者直接修改註冊表HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

新建一個字符串值,命名爲"c:\windows\system32\cmd.exe",然後右鍵--修改 -- 數值數據寫入“RUNASADMIN”,確定 !

  3、快捷方式設置

  第二種方法也很方便,只需在程序的快捷方式上點右鍵,選擇‘屬性’,並單擊“快捷方式”選項卡上的“高級”按鈕,看到沒,在這裏也有一個“以管理員身份運行”的選項。選中之後,我們的目的就達到了。

     不過需要注意的是,第二種方法是對當前用戶生效的,第三種方法只是快捷方式的一個屬性,因此只對該快捷方式生效。例如,對開始菜單中的“畫圖”快捷方式進行了該設置,只有在單擊該快捷方式時纔會以管理員身份運行畫圖程序,運行其他地方的快捷方式,以及直接運行畫圖程序exe都不會應用該設置。

當然你可以直接關閉UAC功能

二、添加右鍵菜單

1、將cmd.exe添加到右鍵菜單

1.1、在文件夾上點右鍵時的菜單

在HKEY_CLASSES_ROOT\Folder\shell下增加一個“CMD”子鍵,將該子鍵的“(默認)”鍵值修改爲“CMD快速通道”,然後在該子鍵下再建立一個子鍵“command”,將“command”的“(默認)”鍵值修改爲“cmd.exe /k cd %1”。

批處理:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\folder\shell\cmd]
@="CMD快速通道"

[HKEY_CLASSES_ROOT\folder\shell\cmd\command]
@="cmd.exe /k cd %1"


1.2、在文件夾內點右鍵時的菜單

在文件夾內部,win7默認按住shift再右鍵,會出現“在此處打開命令窗口”。但是我嫌這樣還是太麻煩,我想直接右鍵。

1.2.1、普通文件夾右鍵:

具體做法同1.1,HKEY_CLASSES_ROOT\Directory\Background\shell下增加一個“CMD”子鍵,將該子鍵的“(默認)”鍵值修改爲“CMD快速通道”,然後在該子鍵下再建立一個子鍵“command”,將“command”的“(默認)”鍵值修改爲“cmd.exe /k cd %1”。

但是我的win7中註冊表已經存在HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command,此時請將HKEY_CLASSES_ROOT\Directory\Background\shell\cmd下的鍵Extended改名或者刪除。

1.2.1、磁盤分區右鍵:

同上,將註冊表HKEY_CLASSES_ROOT\Drive\shell\cmd下的鍵Extended改名或者刪除。

2、使其具有管理員權限

從以上右鍵菜單打開的命令窗口沒有管理員權限,有兩種方法:

2.1 按照“一、使程序默認以管理員權限運行”中的方法使C:\Windows\System32\cmd.exe具有管理員權限。

2.2、在以上添加右鍵菜單時,使註冊表中對應的shell\cmd修改成shell\runas即可。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章