1. 程式人生 > >win7使cmd.exe預設以管理員許可權執行並新增到右鍵選單

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即可。