Windows XP 引入的 tasklist.exe 是命令列版的工作管理員,支援遠端查詢、模組/服務關聯分析、多維度篩選與結構化匯出,遠超圖形介面功能。本文詳細解析參數語法、實戰範例與進階應用場景。
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
| 參數 | 功能 | 範例/說明 |
|---|---|---|
/S system | 指定遠端系統 (主機名/IP) | /S 192.168.1.100 |
/U username | 執行身分使用者 (需遠端權限) | /U admin 或 /U domain\admin |
/P password | 指定密碼 (省略則提示輸入) | /P P@ssw0rd |
/M [module] | 列出載入指定 DLL 的進程;省略模組名則列出所有進程載入的模組 | /M ntdll.dll |
/SVC | 顯示每個進程所裝載的服務 (關鍵參數) | 解決「svchost.exe 到底跑什麼服務」 |
/V | 顯示詳細資訊 (PID、工作階段、記憶體、狀態、使用者等) | |
/FI filter | 篩選條件 (支援多重篩選) | 見下表 |
/FO format | 輸出格式:TABLE (預設)、LIST、CSV | /FO CSV 適合匯入 Excel |
/NH | 不顯示標題列 (僅 TABLE/CSV 有效) | 配合腳本處理 |
| 篩選器名稱 | 有效運算子 | 範例值 |
|---|---|---|
| STATUS | eq, ne | RUNNING, NOT RESPONDING, UNKNOWN |
| IMAGENAME | eq, ne | notepad.exe, *host* |
| PID | eq, ne, gt, lt, ge, le | 1234, gt 1000 |
| SESSIONNAME | eq, ne | Console, RDP-Tcp#0 |
| SESSION | eq, ne, gt, lt, ge, le | 1, gt 0 |
| CPUTIME | eq, ne, gt, lt, ge, le | 00:00:10, gt 01:00:00 |
| MEMUSAGE | eq, ne, gt, lt, ge, le | 50000 (KB), gt 100000 |
| USERNAME | eq, ne | SYSTEM, *admin* |
| SERVICES | eq, ne | wuauserv, *update* |
| WINDOWTITLE | eq, ne | *記事本*, *Chrome* |
tasklist /S 192.168.1.10 /U administrator /P P@ssw0rd /V /FO CSV > remote_processes.csv
tasklist /FI "MEMUSAGE gt 100000" /V /FO TABLE
tasklist /M /FI "IMAGENAME eq chrome.exe" /FO LIST
tasklist /M hook.dll /FO CSV > hooked_processes.csv
tasklist /SVC /FI "IMAGENAME eq svchost.exe" /FO LIST
輸出範例:
映像名稱: svchost.exe
PID: 892
服務: DcomLaunch, PlugPlay, Power
映像名稱: svchost.exe
PID: 1020
服務: RpcEptMapper, RpcSs
tasklist /FI "USERNAME ne SYSTEM" /FI "USERNAME ne LOCAL SERVICE" /FI "USERNAME ne NETWORK SERVICE" /V
@echo off
set LOG_DIR=C:\Logs\Tasklist
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
tasklist /V /FO CSV /NH >> "%LOG_DIR%\tasklist_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.csv"
tasklist /SVC /V 輸出,識別偽裝進程 (如 svch0st.exe、異常路徑的 services.exe)。MEMUSAGE、CPUTIME,繪製趨勢圖找出記憶體洩漏進程。tasklist /FI "SESSIONNAME eq RDP-Tcp#*" /V 列出所有 RDP 會話進程。tasklist 無法顯示 核心模式驅動程式、系統中斷、DPC 等非進程實體。MEMUSAGE 為 KB,非 MB/GB。tasklist.exe (SysWOW64) 查詢 64 位元進程資訊可能不完整,請使用原生 64 位元版本 (System32)。tasklist 是 Windows 系統管理員、安全分析師、開發人員的利器。掌握 /SVC (服務關聯)、/M (模組關聯)、/FI (多維篩選)、/FO CSV (結構化匯出) 四大核心參數組合,即可處理 90% 以上的進程查詢、分析與稽核需求。建議建立個人常用參數組合別名 (doskey 或 PowerShell function) 提升操作效率。