Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows Tasklist 指令深度解析:進程查看、服務關聯、遠端管理與篩選匯出實戰

編輯:XP 系統應用技巧

前言

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 有效)配合腳本處理

篩選器 (/FI) 語法與運算子

篩選器名稱有效運算子範例值
STATUSeq, neRUNNING, NOT RESPONDING, UNKNOWN
IMAGENAMEeq, nenotepad.exe, *host*
PIDeq, ne, gt, lt, ge, le1234, gt 1000
SESSIONNAMEeq, neConsole, RDP-Tcp#0
SESSIONeq, ne, gt, lt, ge, le1, gt 0
CPUTIMEeq, ne, gt, lt, ge, le00:00:10, gt 01:00:00
MEMUSAGEeq, ne, gt, lt, ge, le50000 (KB), gt 100000
USERNAMEeq, neSYSTEM, *admin*
SERVICESeq, newuauserv, *update*
WINDOWTITLEeq, ne*記事本*, *Chrome*

實戰範例集

1. 查看遠端伺服器進程 (需 RPC 服務開啟)

tasklist /S 192.168.1.10 /U administrator /P P@ssw0rd /V /FO CSV > remote_processes.csv

2. 找出佔用記憶體超過 100MB 的進程

tasklist /FI "MEMUSAGE gt 100000" /V /FO TABLE

3. 列出特定進程載入的所有 DLL 模組 (偵測 DLL Hijacking)

tasklist /M /FI "IMAGENAME eq chrome.exe" /FO LIST

4. 找出載入可疑 DLL (如 hook.dll) 的所有進程

tasklist /M hook.dll /FO CSV > hooked_processes.csv

5. 顯示每個 svchost.exe 內部運行的服務 (核心用法)

tasklist /SVC /FI "IMAGENAME eq svchost.exe" /FO LIST

輸出範例:

映像名稱: svchost.exe
PID: 892
服務: DcomLaunch, PlugPlay, Power

映像名稱: svchost.exe
PID: 1020
服務: RpcEptMapper, RpcSs

6. 列出非 SYSTEM 使用者執行的進程 (排查使用者層級異常程式)

tasklist /FI "USERNAME ne SYSTEM" /FI "USERNAME ne LOCAL SERVICE" /FI "USERNAME ne NETWORK SERVICE" /V

7. 定期記錄進程快照 (排程任務)

@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,繪製趨勢圖找出記憶體洩漏進程。
  • 自動化運維: 整合至 PowerShell/Zabbix/Nagios 監控項目,觸發閾值告警。
  • 遠端桌面會話管理: tasklist /FI "SESSIONNAME eq RDP-Tcp#*" /V 列出所有 RDP 會話進程。

常見問題與限制

  • 遠端查詢失敗: 目標機需啟用 Remote Procedure Call (RPC) 服務、Windows Management Instrumentation (WMI) 服務、防火牆開放 TCP 135/445/動態埠、使用者具備遠端存取權限 (通常需管理員群組)。
  • tasklist 無法顯示 核心模式驅動程式、系統中斷、DPC 等非進程實體。
  • 記憶體單位: MEMUSAGE 為 KB,非 MB/GB。
  • 64 位元系統: 32 位元 tasklist.exe (SysWOW64) 查詢 64 位元進程資訊可能不完整,請使用原生 64 位元版本 (System32)。

總結

tasklist 是 Windows 系統管理員、安全分析師、開發人員的利器。掌握 /SVC (服務關聯)、/M (模組關聯)、/FI (多維篩選)、/FO CSV (結構化匯出) 四大核心參數組合,即可處理 90% 以上的進程查詢、分析與稽核需求。建議建立個人常用參數組合別名 (doskey 或 PowerShell function) 提升操作效率。

Copyright © Windows教程網 All Rights Reserved