天天看點

任務管理器

Windows任務管理器

  Windows的任務管理器提供了有關計算機性能的資訊,并顯示了計算機上所運作的程式和程序的詳細資訊,可以顯示最常用的度量程序性能的機關;如果連接配接到網絡,那麼還可以檢視網絡狀态并迅速了解網絡是如何工作的,今天,我們就來全面了解任務管理器的方方面面。

  

  一、如何啟動任務管理器

  最常見的方法是同時按下“Ctrl+Alt+Del”組合鍵,不過如果不小心接連按了兩次鍵,可能會導緻Windows系統重新啟動,假如此時還未儲存資料的話,恐怕就欲哭無淚了。

  其實,我們可以選擇一種更簡單的方法,就是右鍵單擊工作列的空白處,然後單擊選擇“任務管理器”指令。或者,按下“Ctrl+Shift+Esc”組合鍵也可以打開任務管理器,趕快試試吧。當然,你也可以為\Windows\System32\taskmgr.exe檔案在桌面上建立一個快捷方式,然後為此快捷方式設定一個熱鍵,以後就可以一鍵打開任務管理器了。

  小提示:需要說明的是,在Windows XP中,如果未使用歡迎螢幕方式登入系統,那麼按下“Ctrl+Alt+Del”組合鍵,彈出的隻是“Windows安全”視窗,必須選擇“任務管理器”才能夠打開。

  二、認識任務管理器

  任務管理器提供了檔案、選項、檢視、視窗、關機、幫助等六大菜單項,例如“關機”菜單下可以完成待機、休眠、關閉、重新啟動、登出、切換等操作,其下還有應用程式、程序、性能、聯網、使用者等五個标簽頁,視窗底部則是狀态欄,從這裡可以檢視到目前系統的程序數、CPU使用比率、更改的記憶體容量等資料,預設設定下系統每隔兩秒鐘對資料進行1次自動更新,當然你也可以點選“檢視→更新速度”菜單重新設定。

  1.應用程式

  這裡顯示了所有目前正在運作的應用程式,不過它隻會顯示目前已打開視窗的應用程式,而QQ、MSN Messenger等最小化至系統托盤區的應用程式則并不會顯示出來。

  你可以在這裡點選“結束任務”按鈕直接關閉某個應用程式,如果需要同時結束多個任務,可以按住Ctrl鍵複選;點選“新任務”按鈕,可以直接打開相應的程式、檔案夾、文檔或Internet資源,如果不知道程式的名稱,可以點選“浏覽”按鈕進行搜尋,其實這個“新任務”的功能看起來有些類似于開始菜單中的運作指令。

  2.程序

  這裡顯示了所有目前正在運作的程序,包括應用程式、背景服務等,那些隐藏在系統底層深處運作的病毒程式或木馬程式都可以在這裡找到,當然前提是你要知道它的名稱。找到需要結束的程序名,然後執行右鍵菜單中的“結束程序”指令,就可以強行終止,不過這種方式将丢失未儲存的資料,而且如果結束的是系統服務,則系統的某些功能可能無法正常使用。

  Windows的任務管理器隻能顯示系統中目前進行的程序,而Process Explorer可以樹狀方式顯示出各個程序之間的關系,即某一程序啟動了哪些其他的程序,還可以顯示某個程序所調用的檔案或檔案夾,如果某個程序是Windows服務,則可以檢視該程序所注冊的所有服務,需要的朋友可以從http://www.sysinternals.com下載下傳。

  3.性能

  這裡顯示了計算機性能的動态概念,例如CPU和各種記憶體的使用情況。

  CPU使用情況:表明處理器工作時間百分比的圖表,該計數器是處理器活動的主要訓示器,檢視該圖表可以知道目前使用的處理時間是多少。

  CPU使用記錄:顯示處理器的使用程式随時間的變化情況的圖表,圖表中顯示的采樣情況取決于“檢視”菜單中所選擇的“更新速度”設定值,“高”表示每秒2次,“正常”表示每兩秒1次,“低”表示每四秒1次,“暫停”表示不自動更新。

  PF使用情況:正被系統使用的頁面檔案的量。

  頁面檔案使用記錄:顯示頁面檔案的量随時間的變化情況的圖表,圖表中顯示的采樣情況取決于“檢視”菜單中所選擇的“更新速度”設定值。

  總數:顯示計算機上正在運作的句柄、線程、程序的總數。

  執行記憶體:配置設定給程式和作業系統的記憶體,由于虛拟記憶體的存在,“峰值”可以超過最大實體記憶體,“總數”值則與“頁面檔案使用記錄”圖表中顯示的值相同。

  實體記憶體:計算機上安裝的總實體記憶體,也稱RAM,“可用”表示可供使用的記憶體容量,“系統緩存”顯示目前用于映射打開檔案的頁面的實體記憶體。

  核心記憶體:作業系統核心和裝置驅動程式所使用的記憶體,“頁面”是可以複制到頁面檔案中的記憶體,由此可以釋放實體記憶體;“非分頁”是保留在實體記憶體中的記憶體,不會被複制到頁面檔案中。

  4.聯網

  這裡顯示了本地計算機所連接配接的網絡通信量的訓示,使用多個網絡連接配接時,我們可以在這裡比較每個連接配接的通信量,當然隻有安裝網卡後才會顯示該選項。

  5.使用者

  這裡顯示了目前已登入和連接配接到本機的使用者數、辨別(辨別該計算機上的會話的數字ID)、活動狀态(正在運作、已斷開)、用戶端名,可以點選“登出”按鈕重新登入,或者通過“斷開”按鈕連接配接與本機的連接配接,如果是區域網路使用者,還可以向其他使用者發送消息呢。

  三、任務管理器之特别任務

  其實,任務管理器除了終止任務、結束程序、檢視性能外,它還可以完成很多更進階的特别任務呢。下面,我們通過幾個執行個體來介紹任務管理器的擴充應用:

  執行個體一:同時最小化多個視窗

  切換到“應用程式”标簽頁,按住Ctrl鍵同時選擇需要同時最小化的應用程式項目,然後點選這些項目中的任意一個,從右鍵菜單中選擇“最小化”指令即可,這裡同時還可以完成層疊、橫向平鋪、縱向平鋪等操作。

  執行個體二:降低BT軟體的資源占用率

  運作BT軟體時,往往會占用大量的系統資源,你會看到硬碟燈不停閃爍并伴随着飛速轉動的噪音,此時無論是浏覽網頁或是運作其他應用程式,肯定會有系統停滞的感覺。

  打開“任務管理器→程序”視窗,選擇BT軟體的程序名,然後從右鍵菜單中選擇“設定優先級”指令,這裡可以選擇實時、高、高于标準、标準、低于标準、低等不同級别,請根據實際情況進行設定,例如設定為“低于标準”可以降低程序的優先級别,進而讓Windows為其他程序配置設定更多的資源。

  執行個體三:打造增強版本的任務管理器

  有熱心網友從Longhorn中将任務管理器剝離出來并提供下載下傳,我們可以借此來打造一個增強版本的任務管理器。解壓縮下載下傳檔案,會得到Taskkill.exe、Tasklist.exe、Taskmgr.exe等3個檔案,首先覆寫\Windows\System32\Dllcahe\下的同名檔案,覆寫前請事先備份源檔案,接下來繼續覆寫\Windows\System32\下的同名檔案,當彈出“Windows檔案保護”對話框時,選擇“取消”按鈕。

  更換後的任務管理器不僅程式圖示發生了變化,右擊程序,可以發現在右鍵菜單中增加了打開所在目錄、建立轉儲檔案兩個指令,而“檢視→選擇列”中增加了指令行、映像路徑兩個項目,前者可以檢視所顯示的程序是否被僞裝,後者則可以檢視程序的檔案路徑,如圖5所示,這下可不怕那些侵入系統的可疑程序了。

  執行個體四:打開處理器的超線程

  P4處理器的超線程技術(Hyper-Threading Technology)其實是相當于将一顆處理器分為兩個虛拟的處理器,簡單地說,實作超線程需要處理器、主機闆、作業系統三方面的支援。如果你使用的是Windows XP/Server 2003,而且确定自己的主機闆和處理器支援超線程,那麼可以切換到“性能”标簽頁,如圖6所示,如果這裡顯示兩個CPU使用記錄圖表的話,說明你的處理器确确實實已經打開超線程。

  當然,我們也可以在開機資訊中檢視超線程支援情況,一般會顯示CPU1、CPU2兩個處理器名稱,或者啟動後進入“裝置管理器”,這樣同樣會顯示兩個處理器的資訊。

  執行個體五:禁用任務管理器

  任務管理器可以完成如此強大的任務,如果你使用的是公用計算機,而又不希望他人私自操作任務管理器,可以在“開始→運作”框中鍵入Gpedit.msc指令打開組政策視窗,找到“本地計算機政策→使用者配置→管理模闆→系統→Ctrl+Alt+Del選項”項,然後在右側視窗中選擇“删除任務管理器”項,将其設定為“已啟用”,以後按下“Ctrl+Alt+Del”組合鍵時就無法操作任務管理器了。

  當然,通過文中提到的其他兩個方法還是可以正常操作任務管理器的,一勞永逸的解決辦法是為Taskmgr.exe檔案設定使用者授權,當然必須使用NTFS檔案系統才行,呵呵。

  小知識:

  句柄:用來惟一辨別資源(例如檔案中系統資料庫項)的值,以便程式可以通路它。

  線程:在運作程式指令的程序的對象,線程允許在程序中進行并發操作,并使一個程序能夠在不同處理器上同時運作其程式的不同部分。

  程序:一個可執行程式(例如資料總管)或者一種服務(例如MSTask)

    如何永久打開任務管理器

  采取下面的步驟,可以使Windows任務管理器永久的固定在系統托盤上,進而能夠友善地随時監視CPU的運作狀況。

  問題

  能夠随時看見CPU運作概況經常會給使用者帶來很大的幫助。你能夠通過它了解系統變慢是否是由于CPU被某一個任務耗占太多。最簡單的方法是把任務管理器添加到Windows系統托盤中。

  解決方案

  在預設狀态下,當任務管理器處于激活狀态下,你将會在系統托盤中看見一個深綠色的方塊圖示。當CPU使用率超過50%時,綠色的光填滿了圖示的一半。當CPU使用率到達75%時,綠光占據3/4的圖示面積,以次類推。你也可以把滑鼠放在該圖示上,看見當時準确的CPU使用率。

  為了讓綠色的CPU狀态監視圖示一直顯示在系統托盤中,你必須要讓任務管理器永遠處于運作狀态。你可能不想每次都那麼麻煩,就可以讓任務管理器最小化在系統托盤上。你可以通過打開任務管理器,單擊“選項”,選擇“最小化時隐藏”實作它。

  為了打開任務管理器,你可以按[Ctrl]+[Shift]+[Esc],或者你可以按[Ctrl]+[Alt]+[Del],然後單擊任務管理器。如果你想要在系統開機的狀況下永遠打開任務管理器,有兩種方法:

  第一個選擇是你可以進入System32目錄,為taskmgr.exe.建立一個快捷方式。然後把這個快捷方式剪切,并複制到“啟動”菜單(打開“開始”菜單|“程式”|“啟動”右擊啟動,然後單擊打開,把taskmgr.exe的快捷方式貼到這裡)。然後,右擊“啟動”菜單裡的taskmgr.exe圖示,單擊“屬性”。在運作選項裡,選擇“最小化”。

  第二個選擇是進行系統資料庫編輯,為下面這個鍵賦予REG_SZ的值:

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  為TaskManager添加值REG_SZ ,然後加入:

  start /min c:\\winnt\system32\taskmgr.exe

  現在,無論什麼時候你登陸進系統,任務管理器都在那裡等着你了。(不過不要忘記任務管理器本身也要占用一定的系統資源)。

       任務管理器五大奇招

         Windows系統的任務管理器是大家經常會用到的一個程式,通常它主要被用來管理計算機程序或者檢視計算機實時的工作狀态。實際上它還有不少的妙用。

  奇招一:在網吧也能“運作”

  在網吧“混”的朋友們都知道,網吧的機子通常來說都會将運作對話框屏蔽掉,如果大家碰上某些情況需要使用運作對話框就隻能束手無策了。其實這個時候任務管理器能被臨時用來代替運作對話框的作用。

  先按住“Ctrl+Alt+Del”組合鍵嘗試一下能否調出任務管理器,能調出就好辦了,我們依次點選任務管理器的菜單“檔案→建立任務”,彈出“建立新任務”(圖1)視窗,輸入内容試試看,它跟運作對話框效果相同啊!

圖1

  奇招二:快速重新整理系統資料庫

  許多軟體在安裝後會提示我們需要重新啟動才能讓軟體正常使用,其實大部分時候這些軟體隻是在“小題大做”,因為重新開機僅僅是為了讓系統資料庫更新而已,我們可以利用任務管理器來更快地讓軟體生效。

  方法為:在“程序”頁籤中用滑鼠選擇“explorer.exe”程序,然後點選右下角的“結束程序”按鈕将它結束,這個時候桌面顯示消失了。不必驚慌,我們在“建立新任務”視窗中輸入“explorer.exe”。運作即可讓桌面恢複顯示,同時計算機的系統資料庫也會被更新,現在軟體就能正常使用了。

  奇招三:優化遊戲運作

  許多朋友都和筆者一樣還在使用1GB以下的記憶體,是以當我們玩3D遊戲的時候就會覺得運作有些卡,這個時候除了使關閉遊戲以外的所有程式以外,似乎再沒有其他節省記憶體的辦法了,其實我們可以在運作遊戲前先在任務管理器中結束“explorer.exe”程序,因為它在很多情況下可都是記憶體耗用大戶,結束它可為我們的遊戲增加幾十MB的可用記憶體,遊戲效果當然會有更多改善。

  不過此時沒了桌面顯示,啟動遊戲的方法也有所改變,我們需要打開“檔案→建立任務”,然後點選“浏覽”按鈕進入遊戲目錄載入遊戲主程式,點選“确定”即可運作遊戲。

  奇招四:恢複浏覽器網址清單

  在國内被衆多使用者寵愛的多頁面浏覽器傲遊和GreenBrowse都設定有一個人性化的功能,即在關閉浏覽器時可以保留目前浏覽的網頁位址為清單以便下次打開繼續浏覽。不過如果在下次浏覽網頁之前不小心調用了它們來打開過其他關聯檔案,那麼你保留的重要網頁位址便會化為烏有了。

  别着急,下面請你跟筆者一起來對它施以小小“魔法”吧,保證讓你的網頁位址都恢複回來。記住,下次當你不小心調用了浏覽器時,千萬不要急忙關閉視窗,這時我們可以按下“Ctrl+Alt+Del”組合鍵,調出“Windows任務管理器”,在“程序”選項視窗内找出與傲遊對應的“Maxthon.exe”映像(GreenBrowse對應“GreenBrowse.exe”映像),滑鼠選中後按右下角“結束程序”将浏覽器強制退出。現在重新開機浏覽器看看,網頁位址清單完整如初吧?

  奇招五:讓電腦一秒關機

  有時我們趕時間離開可能等不及電腦慢吞吞關機過程,但又擔心插座未斷電造成電能浪費,如果使用的是Windows XP系統,我們此時可以用任務管理器實作一秒關機。先調出“任務管理器”,按住“Ctrl”鍵同時點選視窗菜單“關機→關閉”(圖2),一秒鐘後電腦關閉,OK,現在可以斷開插座電源馬上“閃人”了。

        任務管理器殺不了的 系統程序如何關閉

  發現任務管理器的程序清單中有一些可疑程序,用任務管理器卻無法殺掉,這該怎麼辦呢?   Windows XP/2000的任務管理器是一個非常有用的工具,能讓你看到系統中正在運作哪些程式(程序),隻要你平時多看任務管理器中的程序清單,熟悉系統的基本程序,就可以随時發現可疑程序,這對防範木馬和病毒大有裨益!

        一、哪些系統程序不能關掉

  Windows運作的時候,會啟動多個程序。隻要你按下“Ctrl+Alt+Del”鍵打開任務管理器,點選“檢視”/選擇列,勾選“PIO(程序辨別符)”,然後單擊“程序”标簽,即可看到這些程序。不過有一些程序個人使用者根本用不到,例如Systray.exe(顯示系統托盤小喇叭圖示)、Ctfmon.exe(微軟Office輸入法)、Winampa.exe等,我們完全可以禁止它們,這樣做并不會影響系統的正常運作。

  二、如何關閉任務管理器殺不了的程序

  如果你在任務管理器中無法關閉某個可疑程序,可以使用下面的方法強行關閉,注意不要殺掉程序表中的系統核心程序:

  1.使用Windows XP/2000自帶的工具

  從Windows 2000開始,Windows系統就自帶了一個使用者态調試工具Ntsd,它能夠殺掉大部分程序,因為被調試器附着的程序會随調試器一起退出,是以隻要你在指令行下使用Ntsd調出某程序,然後退出Ntsd即可終止該程序,而且使用Ntsd會自動獲得Debug權限,是以Ntsd能殺掉大部分的程序。

  操作方法:單擊“開始”/程式/附件/指令提示符,輸入指令:ntsd -c q -p PID(把最後那個PID,改成你要終止的程序的PID)。在程序清單中你可以查到某個程序的PID,例如我們要關閉圖1中的Explorer.exe程序,輸入:ntsd -c q -p 408即可。

  以上參數-p表示後面跟随的是程序PID, -c q表示執行退出Ntsd的調試指令,從指令行把以上參數傳遞過去就行了。

  2. 使用專門的軟體來殺程序

  任務管理器殺不掉的程序,你可以使用專門的軟體關閉。有很多軟體可以殺程序,例如程序殺手、IceSword、柳葉擦眼、系統檢視大師、Kill process等。  

         穩打穩紮 驅逐Windows系統“流氓”檔案

  提到驅逐檔案,相信不少人都為認為這樣的操作幾乎不值得一提;可是,在實際驅逐檔案的過程中,系統不是彈出目前系統檔案正在被其他程式使用,就是說目标檔案處于隻讀狀态。面對這些無法被驅逐出去的、近似“流氓”耍賴式的頑固檔案,多數人都會選用Unlocker之類的專業工具來實作删除目的;但是在很多情況下,我們手頭并沒有及時配備Unlocker之類的專業工具,面對這種情形,我們難道隻能眼睜睜地看着那些無法被驅逐出去的“流氓”檔案而無奈嗎?其實任何“流氓”檔案的驅逐都是有章可循的,我們隻要按照如下順序穩打穩紮,就能很輕松地驅逐各種系統“流氓”檔案。

  關閉Explorer.exe,驅逐被占用檔案

  許多無法被驅逐出去的“流氓”檔案,多數情況下都是因為這些檔案正被另外的應用程式占用着,而在這一檔案占用過程中,系統的Explorer.exe程序往往“扮演”着反面角色,是以當我們在驅逐“流氓”檔案的過程中,發現系統提示該檔案正被占用的現象時,我們不妨暫時關閉掉系統的Explorer.exe程序,然後再嘗試删除“流氓”檔案。

  在關閉Explorer.exe系統程序時,我們可以首先同時按下鍵盤上的“Ctrl+Alt+Del”複合鍵,打開系統的任務管理器視窗,單擊該視窗中的“程序”标簽,進入到如圖1所示的标簽頁面中;

圖 1

  用滑鼠選中該頁面中的Explorer.exe程序,并單擊一下“結束”按鈕,在随後彈出的提示視窗中單擊“是”按鈕,這樣的話Explorer.exe程序就被我們暫時關閉了;

  之後,在任務管理器視窗中單擊“檔案”菜單項,從彈出的下拉菜單中執行“建立任務”指令,在随後出現的對話框中單擊“浏覽”按鈕,然後在彈出的檔案選擇設定框中将那些無法被正常驅逐出去的“流氓”檔案選中,再按一下鍵盤上的DEL功能鍵,就能實作驅逐被占用檔案的目的了。

  刨根挖底,“揪出”占用檔案程序

  有時檔案被占用現象并不是由Explorer.exe系統程序引起的,是以我們即使關閉了Explorer.exe系統程序,某些“流氓”檔案仍然無法被正常驅逐出去。那麼那些待删除的“流氓”檔案究竟是被誰占用着呢,我們又該如何驅逐這類被占用的“流氓”檔案呢?事實上,我們隻有刨根挖底,“揪出”占用檔案的具體系統程序,然後強行結束該目标程序,最後就能輕松地将被占用的“流氓”檔案驅逐出系統去了。要做到這一點,我們可以使用Windows XP系統自帶的“openfiles”指令,來輕松“揪出”占用檔案的具體系統程序,下面就是具體的操作步驟:

  首先在Windows XP系統桌面中依次單擊“開始”/“運作”指令,在彈出的系統運作文本框中,輸入字元串指令“cmd”,單擊Enter鍵後,将目前系統的工作狀态切換到MS-DOS視窗的指令行狀态;

  其次在MS-DOS視窗的指令提示符下,輸入字元串指令“openfiles”,單擊Enter鍵後,系統就能自動地将目前打開的檔案所對應的程式清單顯示出來了。當然,要是在本地工作站系統中我們以前從來沒有運作過“openfiles”指令時,那就需要先在MS-DOS視窗的指令提示符下,執行一次“openfiles /local on”字元串指令,随後系統會自動打開一個全局标志(如圖2所示),重新啟動一下工作站系統後,“openfiles”指令就能将目前打開檔案所對應的程式清單顯示出來了。找到了占用“流氓”檔案的具體工作程序後,我們再打開系統的任務管理器中的程序标簽頁面,結束占用“流氓”檔案的具體工作程序後,再嘗試執行驅逐“流氓”檔案操作,相信現在就能輕松地将它從系統中驅逐出去了。

圖 2

  祭出NTSD指令,結束頑固系統程序

  有時候,我們雖然挖空心思找到了占用“流氓”檔案的具體工作程序,可是當我們嘗試在系統的程序标簽頁面中結束該目标程序時,該頑固系統程序怎麼也無法被順利結束掉。碰到這種特殊情形時,我們可以先進入到系統的任務管理器視窗,單擊該視窗中的“程序”标簽,檢查對應标簽頁面中是否已經顯示出了對應某個程序的辨別符,如果沒有看到程序辨別符時,我們可以依次單擊任務管理器視窗中的“檢視”/“選擇列”菜單指令,打開如圖3所示的設定視窗,選中該視窗中的“PID(程序辨別符)”項目,再單擊“确定”按鈕,傳回到系統的“程序”标簽頁面中;

圖 3

  在該标簽頁面中,找到需要關閉的程序所對應的PID,然後依次單擊“開始”/“運作”指令,打開系統的運作對話框,在其中輸入“cmd”字元串指令,單擊Enter鍵後進入到系統的MS-DOS視窗;在該視窗的指令行提示符下,輸入字元串指令“ntsd -c q -p PID”(其中PID為待關閉程序所對應的程序辨別符),單擊Enter鍵後無法被結束的頑固目标程序就能被強行關閉了。關閉掉占用“流氓”檔案的具體工作程序後,我們就能按照正常方法來驅逐“流氓”檔案了。

  借用WinRAR,強行驅逐隻讀檔案

  對于某些隻讀類型的“流氓”檔案,我們按正常方法是無法将它從系統中驅逐出去的,此時我們不妨借助裝機必備的WinRAR程式,來強行驅逐這類隻讀檔案。

  找到無法被正常驅逐出去的“流氓”檔案,然後用滑鼠右鍵單擊該目标檔案,從彈出的右鍵菜單中執行“添加到壓縮檔案”指令,在随後出現的“壓縮檔案名和參數”設定視窗中單擊“正常”标簽,打開如圖4所示的标簽頁面;

圖 4

  選中該标簽頁面中的“壓縮後删除源檔案”項目,再設定好壓縮檔案的合适名稱以及工作路徑,最後單擊“确定”按鈕,如此一來無法被正常驅逐出去的“流氓”檔案被壓縮成RAR格式的檔案後,WinRAR程式就會自動将源檔案驅逐出去了。之後,我們再将剛剛生成的壓縮檔案删除掉,就能實作強行驅逐隻讀檔案的目的了。

  着眼細節,采取相關補救措施

  還有一些“流氓”檔案,由于自身存在錯誤或者通路該檔案的權限不夠,當我們在嘗試驅逐這類“流氓”檔案時,也有可能出現無法驅逐的現象。此時,我們可以先嘗試采取下面的補救措施,然後再對“流氓”檔案進行驅逐操作:

  例如,要是目前待驅逐的檔案自身已經被損壞時,那我們有可能無法正常驅逐該檔案,此時我們可以依次執行“開始”/“運作”指令,在彈出的系統運作對話框中,執行“cmd”字元串指令,将系統工作狀态切換到MS-DOS視窗,然後在該視窗的指令提示符下先執行“chkdsk X: /f”字元串指令(其中X為待驅逐檔案所在的磁盤分區符号),嘗試将受損的“流氓”檔案修複成功,之後再執行檔案的驅逐操作,相信這麼一來可能會将受損的“流氓”檔案從系統中驅逐出去。

  如果在驅逐某個檔案時,系統彈出通路權限不夠的提示資訊時,那我們可以先嘗試使用超級管理者帳号登入Windows系統,之後再執行檔案驅逐操作。要是在超級管理者登入狀态下仍然無法順利驅逐目标檔案時,我們不妨使用手工設定帳号權限的方法,來賦予目前登入帳号絕對的操作權限,并且記得打開“檔案夾選項”設定視窗,将其中的“簡單檔案共享”項目的選中狀态取消掉,相信這麼一來我們就能順利地驅逐由于通路權限不夠的“流氓”檔案了。      

       系統程序資訊不可用解決辦法

       大家知道,如果懷疑某個程序是病毒、木馬或者間諜軟體等惡意程式帶來的,那麼首先就需要了解該可疑程序的路徑、大小等詳細資訊。這就需要用“系統資訊”元件檢視目前正在運作任務的詳細資訊。有網友認為,如果在“系統資訊”元件裡,某些程序的詳細資訊顯示為不可用,那麼這些程序很可能就是惡意程式─果真是這樣嗎─請繼續往下看。  

  問題描述

  Windows XP中啟動“系統資訊”程式視窗,在左側控制台樹中展開“軟體環境” “正在運作任務”,發現有9個程序的路徑、最小(最大)工作設定、版本、大小、開始時間、檔案日期等項均顯示為不可用,(如圖1)所示。這些程序包括:alg.exe、csrss.exe、wdfmgr.exe、wmiprvse.exe、system、system idle process和3個svchost.exe程序。

  需要注意的是,在預設情況下,Windows XP可能有5個svchost.exe程序,其中有3個svchost.exe程序的詳細資訊顯示為不可用。根據計算機軟硬體環境的差異,可能還有其他程序的詳細資訊顯示為不可用。  

  程序解釋

  接下來簡單介紹這些程序:  

  system和system idle process并不是真正意義上的程序,它們并沒有對應的程序映像檔案,例如system程序并不存在一個對應的system.exe程序映像檔案。是以“系統資訊”程式無法找到它們的程序資訊,這是正常的。system程序實際上是代表核心模式系統線程的總和;system idle process隻是用來統計空閑的CPU時間,它的CPU占有率越高,表明目前系統的CPU越空閑。

  csrss.exe程序是Windows子系統的使用者模式部分,該程序工作在Local System帳戶下。

  svchost.exe程序是服務的宿主程式,這3個詳細資訊不可用的svchost.exe程序工作在network service或者local service帳戶下。可以參考以下的微軟知識庫文章,了解svchost.exe程序的詳細資訊:http://support.microsoft.com/kb/314056/zh-cn。

  alg.exe、wdfmgr.exe和wmiprvse.exe這三個程序,都是服務所對應的可執行檔案,它們都工作在network service或者local service帳戶下。

  原因分析

  需要了解,程序是一個很奇妙的東西,它具有“雙重性格”。就像檔案夾和列印機一樣,可以對程序指定通路權限,例如指定誰可以查詢程序的資訊、誰可以終止這個程序等等,也就是說每一個程序都可以關聯一個通路控制清單(ACL)。然而和檔案夾與列印機不一樣的是,程序不但可以有ACL,同時還具有一個通路令牌(Access Token),通路令牌包含該程序所屬的帳戶SID清單和該程序所具有的一組特權(Privilege)。

  可以把程序想象成類似于高中實體所學的“光的波粒二相性”,這樣就不會忘記程序的這種“雙重性格”。

  當“系統資訊”這個程序試圖通路其他程序的詳細資訊時,“系統資訊”程序首先需要出示其通路令牌。然後Windows的本機安全性授權就會根據其他程序的通路控制清單,來比較“系統資訊”程序的通路令牌,以确認是否允許“系統資訊”有權限通路該程序的詳細資訊。

  實驗工具

  Process Explorer:可以利用該工具來檢視程序的通路令牌,還可以檢視和設定程序的通路控制清單,可以到以下站點下載下傳該工具:

  http://www.mydown.com/soft/265/265210.html  

  PsExec:可以利用該工具以其他帳戶身份啟動某個程序,可以到以下站點下載下傳該工具:

  http://www.mydown.com/

  SubInAcl:可以檢視和設定程序的權限,可以到以下微軟官方站點下載下傳該工具:

  檢視“系統資訊”程序的通路令牌

  以管理者帳戶登入系統,啟動“系統資訊”程式視窗,然後打開Process Explorer。輕按兩下“系統資訊”的對應程序HelpCtr.exe,在打開的屬性對話框裡切換到“Security”标簽頁,這就是“系統資訊”程序所獲得的通路令牌,(如圖2)所示。

圖2

  這裡需要注意的是,盡管“系統資訊”程式的對應Image檔案應該是msinfo32.exe,但是通過Process Explorer監控發現,其對應的程序實際是HelpCtr.exe。      檢視csrss.exe的通路控制清單

  以csrss.exe程序為例。在Process Explorer中輕按兩下該csrss.exe程序,在打開的屬性對話框裡切換到“Security”标簽頁。然後單擊其右下角的“Permission”按鈕,即可檢視csrss.exe程序的通路權限設定。可以看到該程序隻允許Local System帳戶通路。單擊打開對話框上的“進階”按鈕,還可以檢視Local System帳戶具有的詳細權限,(如圖3)所示。

圖3

  這樣就可以解釋為什麼無法檢視csrss.exe程序資訊,原來隻有Local System帳戶才有權限通路csrss.exe程序,而系統程序的通路令牌裡并不包含Local System帳戶。

  檢視svchost.exe的通路控制清單

  接下來檢視三個詳細資訊不可用的svchost.exe程序的通路控制清單。

  在“系統資訊”視窗裡記下這三個svchost.exe程序的PID,然後在Process Explorer視窗裡打開該程序的屬性對話框,檢視其安全權限,(如圖4)所示。

圖4

  和csrss.exe程序相比,除了Local System帳戶外,svchost.exe程序的通路控制清單中還包含了一個未知SID(本例是S-1-5-5-0-35860),實際上這是該svchost程序的Logon SID,也就是該svchost程序所在登入會話的SID。也就是說,隻要是在同一個登入會話裡運作的程序,就可以通路該svchost.exe程序的資訊。

  和圖2作比較,會發現“系統資訊”程序的Logon SID是S-1-5-5-0-40881,和svchost.exe程序的Logon SID不同,是以“系統資訊”無法通路這些svchost.exe程序的詳細資訊。

  用同樣的方法,可以找到alg和wdfmgr.exe的程序資訊不可用的原因。

  用subinacl.exe指令行工具檢視程序的通路控制清單

  我們還可以利用subinacl.exe指令行工具,檢視程序的通路控制清單,這裡以csrss.exe程序為例。打開指令提示符視窗,運作以下指令:

  subinacl /process csrss.exe /display=dacl  

  指令的部分結果類似如下顯示: 

  =========================

  +Process csrss.exe - 940

  /perm. ace count =1

  /pace =system ACCESS_ALLOWED_ACE_TYPE-0x0 AccessMask=0x20c79  

  指令結果表明csrss.exe程序僅允許SYSTEM帳戶通路,是以“系統資訊”元件無法獲得該程序的詳細資訊。

  對于system和system idle process這兩個程序來說,由于它們并非真正的程序,是以無需解決辦法。而對于其他詳細資訊“不可用”的程序,可以用以下兩種方法解決:  

  方法1:以Local System帳戶身份啟動“系統資訊”元件

  由于詳細資訊“不可用”的程序,都允許Local System帳戶通路其程序資訊,是以這裡我們嘗試用Local System帳戶的身份啟動“系統資訊”程序,然後檢視是否可以正常顯示程序的資訊。

  要以Local System帳戶身份啟動程序,可以借助PsExec,可以在CMD視窗運作以下指令,以Local System帳戶的身份啟動“系統資訊”程序:  

  PsExec -d -i -s "%CommonProgramFiles%\Microsoft Shared\MSInfo\msinfo32.exe"  

  可以看到,現在可以通路幾乎所有程序的資訊(除system和system idle process之外),(如圖5)所示。

圖5

  方法2:修改程序的通路控制清單 

  用Process Explorer修改程序通路權限

  這裡以csrss.exe程序為例進行介紹。在Process Explorer程式視窗裡輕按兩下打開csrss.exe程序的屬性對話框,并切換到“Security”标簽頁。然後單擊其右下角的“Permission”按鈕,打開該程序的安全權限設定對話框,單擊其上的“添加”按鈕,添加目前的登入帳戶(假設是Admin)。回到安全權限設定對話框,單擊其上的“進階”按鈕,在打開的權限項目對話框裡,確定勾選以下三個權限項目,(如圖6)所示:Read Memory、Query Information和Read Permission。依次單擊确定按鈕,儲存所作的設定。

圖6

  現在應該可以在系統資訊視窗看到csrss.exe程序的詳細資訊。然後可以用類似的方法,修改其他程序的通路權限。  用SubInAcl指令行工具設定通路權限

  可以借助Windows Server Resource Kit Tools工具包中的SubInAcl來設定程序的通路權限。打開指令提示符視窗,運作以下指令:

  subinacl /process csrss.exe /grant=Admin=F  

  接下來運作以下指令,檢視alg.exe程序現在的權限設定:

  subinacl /process csrss.exe /display

  指令的部分結果如下:  

  ========================

  /control=0x0

  /owner =local service

  /primary group =local service

  /audit ace count =0

  /perm. ace count =3

  /pace =S-1-5-5-0-55078 ACCESS_ALLOWED_ACE_TYPE-0x0 AccessMask=0x1f0fff

  /pace =system ACCESS_ALLOWED_ACE_TYPE-0x0 AccessMask=0x100201

  /pace =testxp\admin ACCESS_ALLOWED_ACE_TYPE-0x0 AccessMask=0x1f0fff

  可以看到,現在Admin帳戶對csrss.exe程序具有完全控制權限。打開“系統資訊”視窗,現在可以看到csrss.exe程序的詳細資訊了。

  這裡需要說明的是,盡管采用subinacl指令行工具可以很友善地設定程序的通路權限。但是這裡還是推薦用Process Explorer程式,不僅操作起來友善,而且可以給程序賦予最小的通路權限,而subinacl指令行工具則隻能給程序賦予完全控制權限。

  疑難解答

  Process Explorer為什麼可以檢視所有程序的詳細資訊?原來Process Explorer借助AdjustTokenPrivileges這個API函數,在自己程序的通路令牌裡激活了SeDebugPrivilege(調試程式)特權,(如圖7)所示。由于這個SeDebugPrivilege(調試程式)特權的存在,使得Process Explorer能夠繞過其他所有程序的通路控制清單,檢視其他所有程序的詳細資訊(當然除了system和system idle process這兩個“僞”程序之外)。(在本文撰寫的過程中,得到尤楊和張康宗兩位Microsoft MVP的幫助,在此表示感謝。)

圖7          給Windows XP任務管理器一點顔色看看

  Windows XP的任務管理器通常都闆着這麼一副“尊容”:黑底綠線黃字。雖說倒也整齊,但卻失去了五彩斑瀾的絢麗。如今連Vista的任務管理器也在悄然玩着變色(1),那咱們是不是也該給Windows XP的任務管理器一點顔色看看?

  圖2圖3是筆者DIY的個性Windows XP任務管理器。瞧瞧,是不是有些多姿多彩、與衆不同啊?

  更改的方法其實也比較簡單:以Windows XP SP2 VLK版為例,用WinHex打開taskmgr.exe(位于系統分區的WINDOWS\system32目錄中),按下Alt+G組合鍵,輸入任務管理器中曲線或數值對應顔色的記憶體偏移量,找到正确的記憶體位址及原始RGB顔色值(十六進制),更改為你所期望的RGB顔色值後儲存即可(圖4)。附表為Windows XP任務管理器中曲線、數值的記憶體偏移位址及更改前後兩種顔色對應的RGB值。

  提示:關于顔色的調配可以借助系統附件中的“畫圖”及“電腦”程式完成。大緻可分為兩步驟完成:

  點選“開始”→“所有程式”→“附件”→“畫圖”,然後在“畫圖”程式 中,點選菜單欄“顔色”→“編輯顔色”,在随後出現的“編輯顔色”視窗中點選“規定自定義顔色”按鈕,之後可以在“基本顔色”或右側的“調色闆”中點取中意的顔色,則右下方的“紅”、“綠”、“藍”值就會顯示相應的變化;

  點選“開始”→“所有程式”→“附件”→“電腦”,在“電腦”程式中,點選菜單欄“檢視”→“科學型”,并先選擇“十進制”模式,輸入上一步中得到的“紅”元素值115,再點選“十六進制”,立即可以得到該值的十六進制值73(圖5),依此步驟可以得到“綠”、“藍”元素的十六進制值,這三者依次構成了該顔色的R(紅)G(綠)B(藍)值。

上一篇: 安裝linux
下一篇: 程序管理器

繼續閱讀