盆盆的那篇文章《Windows Vista的UAC也可以很方便》 ,可能很多初學者會覺得有點難度。而且還有些網管來信,希望能夠在企業(yè)范圍里借助腳本去推。
所以盆盆花了點心思,編寫一個批處理腳本,希望能夠幫助大家。這個腳本做的非常簡陋,請多多原諒。
經過Youyang兄弟的指導,這個腳本經過修改,總算看上去比較graceful一些,呵呵。
大家可以在以下地址下載這個腳本:
http://blogs.itecn.net/blogs/winvista/attachment/8867.ashx
一、運行腳本
下載好以后,解壓縮,然后在開始菜單的“開始搜索”框里輸入“userprofile”并回車,把解壓縮的EasyUAC.bat拷貝到打開的文件夾中。
在開始菜單的“開始搜索”框里輸入“CMD”并回車打開命令提示符窗口,在其下輸入以下“EasyUAC”并回車,看到以下的結果即說明成功。
二、后續(xù)工作,很重要!??!
接下來,在開始菜單的“開始搜索”框里輸入“userprofile”并回車,鼠標右鍵單擊其下的“Explorer”,選擇“附加到[開始菜單]”,然后在開始菜單上將其改名為“管理員:Windows資源管理器”。
1. 安裝多個應用軟件
必須事先關閉桌面上所有文件夾窗口,然后單擊開始菜單上的“管理員:Windows資源管理器”菜單項,即可彈出“用戶帳戶控制”對話框,雖然有橙色報警信息,但是不用擔心,直接單擊“允許”按鈕即可。
然后在打開的資源管理器窗口里定位到所需安裝的軟件,直接雙擊就可以運行,不需要再提升權限。然后依次安裝其他軟件即可,因為現(xiàn)在而言,絕大多數(shù)軟件的安裝不需要重啟計算機,所以不麻煩。
2. 執(zhí)行多個管理任務
必須事先關閉桌面上所有文件夾窗口,然后單擊開始菜單上的“管理員:Windows資源管理器”菜單項,即可彈出“用戶帳戶控制”對話框,雖然有橙色報警信息,但是不用擔心,直接單擊“允許”按鈕即可。
如果要執(zhí)行管理任務,例如要修改系統(tǒng)時間,或者修改本地安全策略,可以參考盆盆所撰寫的《Windows Vista的UAC也可以很方便》,了解如何在資源管理器窗口左側的收藏夾列表里創(chuàng)建開始菜單的快捷方式。
3. 多個文件操作
必須事先關閉桌面上所有文件夾窗口,然后單擊開始菜單上的“管理員:Windows資源管理器”菜單項,即可彈出“用戶帳戶控制”對話框,雖然有橙色報警信息,但是不用擔心,直接單擊“允許”按鈕即可。
現(xiàn)在如果需要復制、刪除、移動、新建文件,直接在打開的資源管理器窗口里進行操作,不再需要提示提升權限。
4. 安裝驅動程序等
由于安裝驅動程序、殺毒軟件、或者Windows Update進行升級時,可能需要重啟計算機,所以這種方法可能效果并不顯著,但是也可以用來解決一些兼容性問題,有些組件可能在標準用戶下無法正常安裝。
5. 不推薦用該方法啟動的程序
類似IE瀏覽器、Windows Live Messenger和其他用戶程序,不推薦用這個方法啟動。否則會降低系統(tǒng)安全。
三、注意事項
為了安全,請大家務必從ITECN博客下載此腳本文件。并最好查看一下腳本的內容,是否被篡改過。
這里唯一可惜的是,盆盆還沒有辦法用腳本實現(xiàn)創(chuàng)建快捷方式,否則就可以把后續(xù)的步驟都自動完成,可以更好地提升用戶體驗。盆盆現(xiàn)在正在測試用inf文件實現(xiàn)快捷方式的創(chuàng)建,如果哪位兄弟熟悉如何用腳本創(chuàng)建快捷方式,還請發(fā)郵件和盆盆進行聯(lián)系,郵件請寄mark.itecn#gmail.com(用@代替#)。
企業(yè)管理員,可以通過組策略等方式推這個腳本。但是還是要強調一下,不推薦這么做,最好讓桌面客戶用標準賬戶登錄系統(tǒng)。
在前篇文章里,盆盆描述了如何用一個腳本文件輕松完成所有設置。這里就來解釋一下這個腳本的具體含義。
其實這個腳本里,最重要的命令就兩條,下面逐條解釋一下。
一、允許兩個Explorer進程
《Windows Vista的UAC也可以很方便》這篇文章,最核心的方法,就是以高特權創(chuàng)建一個獨立的文件夾窗口(Explorer進程)。這樣就可以在其下直接運行安裝程序、管理任務等,而不需要再次提升權限。
盆盆評注 問題的關鍵就是,默認情況下,Windows不允許啟動多個Explorer進程,具體的原因可以參考MVP Smallfrogs的文章《Explorer進程被殺死以后會被Windows重新加載嗎》。
要想啟動多個Explorer進程,就必須在“文件夾選項”的“查看”標簽頁中啟用“在單獨的進程中打開文件夾窗口”復選框。
難點就在于,如何用命令行實現(xiàn)這個功能。多虧了Youyang兄弟的提醒,參考了他的一篇KB,該KB記錄文件夾選項的高級設置所對應的注冊表布局。再通過實驗分析,總算找出了這個設置所對應的注冊表鍵值。
實驗方法是通過Process Monitor對其進行監(jiān)控,由于啟用該值不需要管理員權限,所以初步判斷可能修改HKCU下的鍵值。
結果發(fā)現(xiàn),當嘗試修改該文件夾選項時,系統(tǒng)首先定位到HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\DesktopProcess下的鍵值,去查詢該設置項所對應的注冊表鍵值。
接下來發(fā)現(xiàn),“在單獨的進程中打開文件夾窗口”這個設置,對應為HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced下的DWORD鍵值SeparateProcess,當其數(shù)值數(shù)據(jù)為1時,表示啟用,如附圖所示。在圖中,Process Monitor檢測到系統(tǒng)把DWORD鍵值SeparateProcess的數(shù)值數(shù)據(jù)設置為1。
所以就用以下命令添加該注冊表鍵值:
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /V SeparateProcess /T REG_DWORD /d 1 /f
三、設置Explorer進程提示提升權限
為了能夠單擊Explorer進程,就能自動提示提升權限,需要在設置其兼容模式為“以管理員身份運行該程序”。一般我們可以在文件屬性對話框的“兼容性”標簽頁上勾選“請以管理員身份運行該程序”復選框,這實際上對應于在注冊表HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下新增一個鍵值,以程序可執(zhí)行文件的完全路徑為鍵值名稱,其數(shù)值數(shù)據(jù)為“RUNASADMIN”。
其實這個方法早在去年3月份盆盆就已經發(fā)表在ITECN博客上,大家可以參考《Windows Vista的UAC功能淺析(二)》。
三、安全問題
1. 一個命令行就可以提升權限,那是不是太危險?
一點都不危險。因為這種修改注冊表的方法,只是告訴系統(tǒng)自己需要提升權限。在執(zhí)行這個程序時,需要用戶做出選擇。
那么病毒會不會采用這種方法提示提升權限?
不會!尤其是為Windows Vista設計的病毒,肯定不會這樣做。因為病毒都不喜歡被人發(fā)現(xiàn),都喜歡悄悄地進村,打槍的不要。正好比《天下無賊》里的傻根大喊“唉,有賊嗎?你們誰是賊呀?站出來給俺看看!”相信沒有賊會公然回應,否則他就是一個笨賊,還不如改行做文抄公,至少還能抄個腦滿腸滿缽滿。
2. 惡意程序會不會劫持高特權Explorer進程?
如果是Windows 2000/XP,很可能會發(fā)生這個問題,這是因為所有應用程序運行在一個桌面上,低特權的惡意進程可以給高特權的Explorer窗口發(fā)送Window Message,以誘使Explorer重新加載該惡意進程,這就是所謂的Luring Attack。
但是Windows Vista下不會這樣,這是由于MIC和UIPI的作用,低級進程無法控制高級進程,也無法向其發(fā)送Window Message,這種攻擊會失敗。
當然正如Mark Russinovich所說,UAC并非是一個安全邊界,可以想象,專門針對Windows Vista遲早會出現(xiàn),只是時間問題而已。在盆盆所譯的那篇文章里,Mark Russinovich還介紹了可能的攻擊方法。
當然如果您不幸在高特權的資源管理器窗口里運行了惡意程序,那么神仙也救不了您。這是一個信任的問題,如果您不信任該進程,那么就不要運行它。
在下一篇文章里,將向大家介紹,如何在Windows 2000/XP下使用類似的方法,平時用標準用戶身份登錄系統(tǒng),執(zhí)行管理任務時,用管理員憑據(jù)打開資源管理器窗口,從而以更高權限運行管理任務。