系统配置与管理
1、tasklist(系统进程)
tasklist命令用于显示本地或远程计算机上当前运行的进程列表。它提供了详细的进程信息,是系统监控、故障排除和性能分析的基础工具。
基本语法:
shell
tasklist [/s <计算机> [/u [<域>\]<用户名> [/p <密码>]]] [/fo {TABLE | LIST | CSV}] [/nh] [/fi <过滤器>] [/m [<模块>] | /svc | /v]
命令位置:
tasklist.exe文件位于 C:\Windows\System32目录下
显示的信息包括:
- 映像名称:进程的可执行文件名
- PID:进程标识符(唯一编号)
- 会话名:进程所属的会话
- 会话号:会话编号
- 内存使用:进程占用的内存大小
- 状态:进程运行状态(运行中、已挂起等)
- 用户名:运行进程的用户账户
- CPU时间:进程占用CPU的总时间
- 窗口标题:进程关联的窗口标题(如适用)
核心参数详解:
基本显示参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
/fo <格式> |
指定输出格式:TABLE(表格)、LIST(列表)、CSV(CSV格式) | /fo TABLE |
/nh |
不显示列标题(与TABLE和CSV格式一起使用) | /fo TABLE /nh |
/v |
显示详细任务信息(包括窗口标题、CPU时间等) | tasklist /v |
远程计算机参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
/s <计算机> |
指定远程计算机名称或IP地址 | /s 192.168.1.100 |
/u <用户名> |
指定用于远程连接的用户名 | /u administrator |
/p <密码> |
指定用户密码(或在提示时输入) | /p password |
高级信息参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
/m [模块名] |
显示进程加载的DLL模块(可指定特定模块) | /m或 /m kernel32.dll |
/svc |
显示每个进程包含的服务信息 | tasklist /svc |
/fi "<过滤器>" |
使用过滤器显示特定进程 | 详见下文 |
过滤器(Filter)详解:
/fi参数是 tasklist最强大的功能之一,支持多种过滤条件:
常用过滤器运算符:
eq:等于ne:不等于gt:大于lt:小于ge:大于等于le:小于等于
可用的过滤条件:
| 条件 | 描述 | 示例 |
|---|---|---|
IMAGENAME |
进程映像名称 | IMAGENAME eq notepad.exe |
PID |
进程ID | PID gt 1000 |
MEMUSAGE |
内存使用量(KB) | MEMUSAGE gt 100000 |
STATUS |
进程状态 | STATUS eq RUNNING |
USERNAME |
用户名 | USERNAME eq NT AUTHORITY\SYSTEM |
SESSION |
会话编号 | SESSION eq 1 |
SERVICES |
服务名称 | SERVICES eq eventlog |
WINDOWTITLE |
窗口标题 | WINDOWTITLE eq 记事本 |
过滤器组合,使用 and, or组合多个条件:
shell
tasklist /fi "IMAGENAME eq chrome.exe" /fi "MEMUSAGE gt 50000"
使用场景与实例:
- 基本进程查看
shell
# 查看本地计算机所有运行中的进程
tasklist
# 典型输出
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 K
System 4 Services 0 4,428 K
svchost.exe 1232 Services 0 12,344 K
notepad.exe 4568 Console 1 8,232 K
chrome.exe 5678 Console 1 156,432 K
- 查找特定进程
shell
# 查找所有Chrome浏览器进程
tasklist /fi "IMAGENAME eq chrome.exe"
- 查看内存占用大的进程
shell
# 显示内存使用超过100MB的进程
tasklist /fi "MEMUSAGE gt 102400"
- 查看系统服务关联的进程
shell
# 显示进程及其关联的系统服务
tasklist /svc
- 查看进程加载的DLL模块
shell
# 查看notepad.exe进程加载的所有DLL模块
tasklist /m /fi "IMAGENAME eq notepad.exe"
- 远程计算机进程查看
shell
# 查看远程服务器192.168.1.100的进程列表
tasklist /s 192.168.1.100 /u administrator /p password
- CSV格式输出(用于脚本处理)
shell
# 以CSV格式输出,便于其他程序处理
tasklist /fo CSV
- 查找无响应的进程
shell
# 查找状态不是"RUNNING"的进程
tasklist /fi "STATUS ne RUNNING"
高级用法与实用技巧:
- 与taskkill命令配合使用
shell
#查找并结束特定进程:
# 查找并结束所有notepad进程
tasklist /fi "IMAGENAME eq notepad.exe" && taskkill /im notepad.exe /f
- 监控特定进程的资源使用
shell
# 创建批处理脚本监控进程内存使用
@echo off
:monitor
tasklist /fi "IMAGENAME eq myapp.exe" /fo table
timeout /t 5 > nul
goto monitor
- 进程统计和分析
shell
# 统计各类进程数量
# 统计chrome进程数量
tasklist /fi "IMAGENAME eq chrome.exe" | find /c "chrome.exe"
- 导出进程列表到文件
shell
# 将进程列表导出供后续分析:
tasklist /v > process_list.txt
- 查找可疑进程
shell
#查找异常进程名的进程:
tasklist /fi "IMAGENAME eq *.tmp" /fi "IMAGENAME eq temp*.exe"
实际应用示例:
- 系统维护脚本
shell
# 自动检查并结束占用过多内存的进程
@echo off
echo 检查内存占用过高的进程...
for /f "skip=3 tokens=2,5" %%i in ('tasklist /fo table /fi "MEMUSAGE gt 500000"') do (
echo 结束进程: %%i (内存: %%j K)
taskkill /pid %%i /f
)
- 进程监控仪表盘
shell
# 实时监控关键进程状态
@echo off
:start
cls
echo ===== 进程监控 =====
echo [系统关键进程]
tasklist /fi "IMAGENAME eq svchost.exe" /fi "USERNAME eq SYSTEM"
echo.
echo [用户进程]
tasklist /fi "SESSION eq 1" /fi "USERNAME ne SYSTEM"
timeout /t 10 > nul
goto start
2、taskkill(终止进程)
taskkill命令用于结束一个或多个任务或进程。它可以根据进程ID(PID)或映像名称来终止运行中的程序,是系统维护和故障排除的重要工具。
基本语法:
shell
taskkill [/s <计算机> [/u [<域>\]<用户名> [/p <密码>]]] [/fi <过滤器>] [/pid <进程ID> | /im <映像名称>] [/f] [/t]
命令位置:
taskkill.exe文件位于 C:\Windows\System32目录下。
核心参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
/im <映像名> |
按映像名称终止进程(支持通配符*) | /im notepad.exe |
/pid <进程ID> |
按进程ID终止特定进程 | /pid 1234 |
/f |
强制终止进程(强制结束) | /im chrome.exe /f |
/t |
树终止:结束指定进程及其子进程 | /pid 5678 /t |
/s <计算机> |
指定远程计算机名称或IP地址 | /s 192.168.1.100 |
/u <用户名> |
指定用于远程连接的用户名 | /u administrator |
/p <密码> |
指定用户密码 | /p password |
使用场景与实例:
- 结束特定程序
shell
#结束所有记事本进程
taskkill /im notepad.exe
- 强制结束无响应程序
shell
#强制结束所有Chrome浏览器进程
taskkill /im chrome.exe /f
- 结束特定PID的进程
shell
#结束进程ID为1234的进程
taskkill /pid 1234
- 结束进程树
shell
# 结束进程及其启动的所有子进程
taskkill /im java.exe /t
- 使用过滤器结束进程
shell
#结束所有无响应的进程
taskkill /fi "STATUS eq NOT RESPONDING" /f
- 结束远程计算机进程
shell
# 结束远程服务器上的特定进程
taskkill /s 192.168.1.100 /u administrator /p Pass123 /im malware.exe /f
- 结束占用过多内存的进程
shell
#结束内存使用超过500MB的进程
taskkill /fi "MEMUSAGE gt 500000" /f
- 结束特定用户会话的进程
shell
#结束用户Alice的所有进程
taskkill /fi "USERNAME eq Alice" /f
3、msconfig(系统配置)
msconfig是 Microsoft System Configuration Utility 的缩写,用于启动系统配置实用程序。这是一个图形化工具,帮助用户管理启动项、服务、引导选项等系统配置。
基本语法:
shell
msconfig
# msconfig.exe文件位于 C:\Windows\System32目录下。虽然通过CMD运行,但它启动的是图形界面工具。
主要功能选项卡:
- 常规:选择启动模式(正常/诊断/有选择启动)
- 引导:管理多操作系统启动选项和高级引导设置
- 服务:启用或禁用系统服务
- 启动
- 在Win10之前版本:管理开机启动程序
- 在Win10/11中:已重定向到任务管理器
- 工具:快速启动各种系统管理工具

4、systeminfo(系统配置信息)
systeminfo命令用于显示本地或远程计算机的详细硬件和软件配置信息。它提供了一个快速、全面的系统概览,是系统管理和故障排除的重要工具。
基本语法:
shell
systeminfo [/s <计算机> [/u <域>\<用户> [/p <密码>]]] [/fo {TABLE | LIST | CSV}] [/nh]
| 参数 | 功能描述 | 示例 |
|---|---|---|
/s <计算机> |
指定远程计算机名称或IP地址 | /s 192.168.1.100 |
/u <域>\<用户> |
指定用于远程连接的用户名 | /u DOMAIN\AdminUser |
/p <密码> |
指定用户密码 | /p password |
/fo <格式> |
指定输出格式:TABLE、LIST、CSV | /fo CSV |
/nh |
不显示列标题(与TABLE格式一起使用) | /fo TABLE /nh |
使用场景与实例:
- 查看本地计算机完整信息
shell
#获取本地计算机的详细系统信息
systeminfo
- 查看远程服务器信息
shell
# 查看远程服务器192.168.1.100的系统信息
systeminfo /s 192.168.1.100 /u administrator /p Pass123
- CSV格式输出(用于脚本处理)
shell
# 以CSV格式输出,便于导入Excel或其他工具分析
systeminfo /fo CSV
- 表格格式输出
shell
# 以表格格式显示,更易阅读
systeminfo /fo TABLE
- 不显示标题的简洁输出
shell
# 适合在脚本中处理数据。
systeminfo /fo TABLE /nh
- 输出信息详解
shell
# 运行 systeminfo后的典型输出示例及解读:
主机名: DESKTOP-ABC123
OS 名称: Microsoft Windows 10 专业版
OS 版本: 10.0.19044 暂缺 Build 19044
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构建类型: Multiprocessor Free
注册的所有人: John Doe
注册的组织: Company Inc.
产品 ID: 00330-80000-00000-AA123
初始安装日期: 2023/5/15, 15:30:25
系统启动时间: 2024/1/20, 8:15:10
系统制造商: Dell Inc.
系统型号: OptiPlex 7070
系统类型: x64-based PC
处理器: 安装了 1 个处理器。
[01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~3000 Mhz
BIOS 版本: Dell Inc. 1.15.0, 2022/10/1
Windows 目录: C:\Windows
系统目录: C:\Windows\system32
启动设备: \Device\HarddiskVolume1
系统区域设置: zh-cn;中文(中国)
输入法区域设置: zh-cn;中文(中国)
时区: (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量: 16,223 MB
可用的物理内存: 8,145 MB
虚拟内存: 最大值: 18,655 MB
虚拟内存: 可用: 10,234 MB
虚拟内存: 使用中: 8,421 MB
页面文件位置: C:\pagefile.sys
域: company.local
登录服务器: \\DC01
修补程序: 安装了 135 个修补程序。
网卡: 已安装 2 个 NIC。
[01]: Intel(R) Ethernet Connection (7) I219-LM
连接名: 以太网
DHCP 已启用: 是
IP 地址: [192.168.1.50, fe80::1234:5678:90ab:cdef]
[02]: Intel(R) Wi-Fi 6 AX201 160MHz
连接名: WLAN
状态: 媒体连接已中断
高级用法与实用技巧:
- 信息过滤和搜索
shell
# 使用 findstr命令过滤特定信息:
# 查看处理器信息
systeminfo | findstr /i "处理器"
# 查看内存信息
systeminfo | findstr /i "内存"
# 查看操作系统版本
systeminfo | findstr /i "OS 版本"
# 查看安装日期
systeminfo | findstr /i "安装日期"
# 查看网卡信息
systeminfo | findstr /i "网卡"
- 创建系统信息报告
shell
# 将系统信息保存到文件:
systeminfo > C:\Reports\system_report.txt
- 批量检查多台计算机
shell
#创建批处理脚本检查多台服务器:
@echo off
set servers=192.168.1.100 192.168.1.101 192.168.1.102
for %%s in (%servers%) do (
echo 检查服务器: %%s
echo ===================== >> system_reports.txt
echo 服务器: %%s >> system_reports.txt
echo ===================== >> system_reports.txt
systeminfo /s %%s /u administrator /p Pass123 >> system_reports.txt 2>nul
if errorlevel 1 echo 无法连接服务器: %%s >> system_reports.txt
echo. >> system_reports.txt
)
- 系统健康检查脚本
shell
#创建自动化系统健康检查:
@echo off
echo 系统健康检查报告
echo 生成时间: %date% %time%
echo ==================================
systeminfo | findstr /i "OS 版本" >nul && (
echo ✓ 操作系统信息可获取
) || (
echo ✗ 无法获取OS信息
)
systeminfo | findstr /i "可用的物理内存" >nul && (
for /f "tokens=3" %%m in ('systeminfo ^| findstr /i "可用的物理内存"') do (
if %%m LSS 2048 (
echo ⚠ 可用内存较低: %%m MB
) else (
echo ✓ 内存充足: %%m MB
)
)
)
echo ==================================
- 补丁管理检查
shell
# 检查系统补丁安装情况:
# 统计已安装的补丁数量
systeminfo | findstr /i "修补程序"
实际应用示例:
- 快速系统诊断
shell
@echo off
echo 快速系统诊断报告
echo =================
systeminfo | findstr /i "OS 版本:"
systeminfo | findstr /i "处理器:"
systeminfo | findstr /i "物理内存总量:"
systeminfo | findstr /i "可用的物理内存:"
systeminfo | findstr /i "启动时间:"
echo =================
- 硬件清单收集
shell
@echo off
echo 硬件信息收集
echo 生成时间: %date% %time%
echo [操作系统信息]
systeminfo | findstr /i "OS 名称:"
systeminfo | findstr /i "OS 版本:"
echo [硬件信息]
systeminfo | findstr /i "系统制造商:"
systeminfo | findstr /i "系统型号:"
systeminfo | findstr /i "处理器:"
systeminfo | findstr /i "物理内存总量:"
echo [网络信息]
systeminfo | findstr /i "域:"
systeminfo | findstr /i "网卡:"
- 系统运行时间监控
shell
@echo off
for /f "tokens=1,2,3,4" %%a in ('systeminfo ^| findstr /i "系统启动时间:"') do (
echo 系统最后启动时间: %%b %%c %%d
)
5、devmgmt.msc(设备管理器)
devmgmt.msc是 Device Management Microsoft Saved Console 的缩写,用于启动设备管理器。这是一个图形化管理工具,用于查看和管理计算机中的所有硬件设备。
基本语法:
shell
devmgmt.msc
命令位置:
shell
devmgmt.msc文件位于 C:\Windows\System32目录下。这是一个Microsoft管理控制台文件。

6、mountvol(卷的挂载点)
mountvol是 Mount Volume 的缩写,用于创建、删除或列出卷的挂载点。它允许将驱动器卷挂载到空的NTFS文件夹,而不是分配驱动器号。
基本语法:
shell
mountvol [驱动器:]路径 卷名
mountvol [驱动器:]路径 /D
mountvol [驱动器:]路径 /L
mountvol [驱动器:]路径 /P
mountvol /R
mountvol /N
mountvol /E
mountvol 驱动器: /S
核心参数详解:
基本操作参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
[驱动器:]路径 |
指定挂载点路径 | C:\Mount\Data |
卷名 |
指定卷的GUID | \?\Volume{123...} |
/L |
列出指定路径的卷信息 | mountvol C:\Mount /L |
/D |
删除指定路径的挂载点 | mountvol C:\Mount /D |
/P |
卸载卷并使其脱机 | mountvol E: /P |
高级管理参数:
| 参数 | 功能描述 | 示例 |
|---|---|---|
/R |
从注册表删除已卸载卷的挂载点 | mountvol /R |
/N |
为卷分配新的卷GUID | mountvol /N |
/E |
启用卷的自动挂载 | mountvol /E |
驱动器: /S |
为指定驱动器启用卷影复制 | mountvol C: /S |
使用场景与实例:
- 查看所有卷信息
shell
# 列出系统中所有卷的GUID和挂载点
mountvol
# 典型输出
C:\>mountvol
Possible values for VolumeName along with current mount points are:
\\?\Volume{12345678-1234-1234-1234-123456789012}\
C:\
\\?\Volume{23456789-2345-2345-2345-234567890123}\
D:\
\\?\Volume{34567890-3456-3456-3456-345678901234}\
*** 没有挂载点 ***
- 创建挂载点
shell
# 将未分配的卷挂载到NTFS文件夹
# 1. 首先查看可用的卷
mountvol
# 2. 创建挂载点文件夹
mkdir C:\DataDrive
# 3. 将卷挂载到文件夹
mountvol C:\DataDrive \\?\Volume{34567890-3456-3456-3456-345678901234}\
- 删除挂载点
shell
# 删除指定路径的挂载点
mountvol C:\DataDrive /D
- 查看特定路径的卷信息
shell
# 查看指定挂载点对应的卷信息
mountvol C:\DataDrive /L
- 卸载卷
shell
# 使卷脱机(可用于安全移除外部存储)
mountvol E: /P
实际应用示例:
- 扩展系统存储
shell
#将新硬盘挂载到系统文件夹,扩展C盘存储:
@echo off
echo 扩展系统存储配置
echo =================
# 创建挂载点文件夹
mkdir C:\ExtendedStorage
# 假设新卷GUID已知,进行挂载
mountvol C:\ExtendedStorage \\?\Volume{34567890-3456-3456-3456-345678901234}\
echo 新存储已挂载到 C:\ExtendedStorage
echo 可用空间已扩展
- 备份数据挂载点
shell
# 为备份数据创建专用挂载点:
@echo off
echo 配置备份数据挂载点
echo ===================
# 创建备份目录结构
mkdir C:\Backups
mkdir C:\Backups\Database
mkdir C:\Backups\Archives
# 挂载不同的卷到不同目录(假设卷GUID已知)
mountvol C:\Backups\Database \\?\Volume{11111111-1111-1111-1111-111111111111}\
mountvol C:\Backups\Archives \\?\Volume{22222222-2222-2222-2222-222222222222}\
echo 备份挂载点配置完成
- 自动化存储管理脚本
shell
@echo off
setlocal enabledelayedexpansion
echo 存储挂载点管理脚本
echo ===================
# 检查所有卷的挂载状态
echo [当前挂载点状态]
mountvol | findstr "\\\\"
# 提示用户操作
echo.
echo 可选操作:
echo 1. 创建新挂载点
echo 2. 删除挂载点
echo 3. 查看卷信息
set /p choice=请选择操作 (1-3):
if "!choice!"=="1" goto create_mount
if "!choice!"=="2" goto delete_mount
if "!choice!"=="3" goto list_volume
:create_mount
set /p mountpath=输入挂载点路径 (如 C:\MyMount):
set /p volumeid=输入卷GUID:
mountvol "!mountpath!" "!volumeid!"
goto end
:delete_mount
set /p mountpath=输入要删除的挂载点路径:
mountvol "!mountpath!" /D
goto end
:list_volume
mountvol
goto end
:end
echo 操作完成
pause
7、color(命令提示符颜色)
color命令用于更改命令提示符窗口的前景色和背景色。它可以立即改变CMD窗口的显示颜色,让命令行界面更加个性化。
基本语法:
shell
color [背景色代码][前景色代码]
颜色代码表:
| 代码 | 颜色 | 代码 | 颜色 |
|---|---|---|---|
0 |
黑色 | 8 |
灰色 |
1 |
蓝色 | 9 |
淡蓝色 |
2 |
绿色 | A |
淡绿色 |
3 |
浅绿色 | B |
淡浅绿色 |
4 |
红色 | C |
淡红色 |
5 |
紫色 | D |
淡紫色 |
6 |
黄色 | E |
淡黄色 |
7 |
白色 | F |
亮白色 |
使用场景与实例:
- 恢复默认颜色
shell
#恢复命令提示符的默认颜色(白字黑底)。
color
- 设置经典黑底绿字
shell
# 模拟老式终端的效果。
color 0A
- 设置白底蓝字
shell
# 类似传统文档的效果
color F1