Windows——系统配置与管理

系统配置与管理

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"

使用场景与实例:

  1. 基本进程查看
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
  1. 查找特定进程
shell 复制代码
# 查找所有Chrome浏览器进程
tasklist /fi "IMAGENAME eq chrome.exe"
  1. 查看内存占用大的进程
shell 复制代码
# 显示内存使用超过100MB的进程
tasklist /fi "MEMUSAGE gt 102400"
  1. 查看系统服务关联的进程
shell 复制代码
# 显示进程及其关联的系统服务
tasklist /svc
  1. 查看进程加载的DLL模块
shell 复制代码
# 查看notepad.exe进程加载的所有DLL模块
tasklist /m /fi "IMAGENAME eq notepad.exe"
  1. 远程计算机进程查看
shell 复制代码
# 查看远程服务器192.168.1.100的进程列表
tasklist /s 192.168.1.100 /u administrator /p password
  1. CSV格式输出(用于脚本处理)
shell 复制代码
# 以CSV格式输出,便于其他程序处理
tasklist /fo CSV
  1. 查找无响应的进程
shell 复制代码
# 查找状态不是"RUNNING"的进程
tasklist /fi "STATUS ne RUNNING"

高级用法与实用技巧:

  1. 与taskkill命令配合使用
shell 复制代码
#查找并结束特定进程:
# 查找并结束所有notepad进程
tasklist /fi "IMAGENAME eq notepad.exe" && taskkill /im notepad.exe /f
  1. 监控特定进程的资源使用
shell 复制代码
# 创建批处理脚本监控进程内存使用
@echo off
:monitor
tasklist /fi "IMAGENAME eq myapp.exe" /fo table
timeout /t 5 > nul
goto monitor
  1. 进程统计和分析
shell 复制代码
# 统计各类进程数量
# 统计chrome进程数量
tasklist /fi "IMAGENAME eq chrome.exe" | find /c "chrome.exe"
  1. 导出进程列表到文件
shell 复制代码
# 将进程列表导出供后续分析:
tasklist /v > process_list.txt
  1. 查找可疑进程
shell 复制代码
#查找异常进程名的进程:
tasklist /fi "IMAGENAME eq *.tmp" /fi "IMAGENAME eq temp*.exe"

实际应用示例:

  1. 系统维护脚本
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
)
  1. 进程监控仪表盘
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

使用场景与实例:

  1. 结束特定程序
shell 复制代码
#结束所有记事本进程
taskkill /im notepad.exe
  1. 强制结束无响应程序
shell 复制代码
#强制结束所有Chrome浏览器进程
taskkill /im chrome.exe /f
  1. 结束特定PID的进程
shell 复制代码
#结束进程ID为1234的进程
taskkill /pid 1234
  1. 结束进程树
shell 复制代码
# 结束进程及其启动的所有子进程
taskkill /im java.exe /t
  1. 使用过滤器结束进程
shell 复制代码
#结束所有无响应的进程
taskkill /fi "STATUS eq NOT RESPONDING" /f
  1. 结束远程计算机进程
shell 复制代码
# 结束远程服务器上的特定进程
taskkill /s 192.168.1.100 /u administrator /p Pass123 /im malware.exe /f
  1. 结束占用过多内存的进程
shell 复制代码
#结束内存使用超过500MB的进程
taskkill /fi "MEMUSAGE gt 500000" /f
  1. 结束特定用户会话的进程
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

使用场景与实例:

  1. 查看本地计算机完整信息
shell 复制代码
#获取本地计算机的详细系统信息
systeminfo
  1. 查看远程服务器信息
shell 复制代码
# 查看远程服务器192.168.1.100的系统信息
systeminfo /s 192.168.1.100 /u administrator /p Pass123
  1. CSV格式输出(用于脚本处理)
shell 复制代码
# 以CSV格式输出,便于导入Excel或其他工具分析
systeminfo /fo CSV
  1. 表格格式输出
shell 复制代码
# 以表格格式显示,更易阅读
systeminfo /fo TABLE
  1. 不显示标题的简洁输出
shell 复制代码
# 适合在脚本中处理数据。
systeminfo /fo TABLE /nh
  1. 输出信息详解
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
                    状态:       媒体连接已中断

高级用法与实用技巧:

  1. 信息过滤和搜索
shell 复制代码
# 使用 findstr命令过滤特定信息:
# 查看处理器信息
systeminfo | findstr /i "处理器"

# 查看内存信息
systeminfo | findstr /i "内存"

# 查看操作系统版本
systeminfo | findstr /i "OS 版本"

# 查看安装日期
systeminfo | findstr /i "安装日期"

# 查看网卡信息
systeminfo | findstr /i "网卡"
  1. 创建系统信息报告
shell 复制代码
# 将系统信息保存到文件:
systeminfo > C:\Reports\system_report.txt
  1. 批量检查多台计算机
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
)
  1. 系统健康检查脚本
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 ==================================
  1. 补丁管理检查
shell 复制代码
# 检查系统补丁安装情况:
# 统计已安装的补丁数量
systeminfo | findstr /i "修补程序"

实际应用示例:

  1. 快速系统诊断
shell 复制代码
@echo off
echo 快速系统诊断报告
echo =================

systeminfo | findstr /i "OS 版本:"
systeminfo | findstr /i "处理器:"
systeminfo | findstr /i "物理内存总量:"
systeminfo | findstr /i "可用的物理内存:"
systeminfo | findstr /i "启动时间:"

echo =================
  1. 硬件清单收集
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 "网卡:"
  1. 系统运行时间监控
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

使用场景与实例:

  1. 查看所有卷信息
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}\
    *** 没有挂载点 ***
  1. 创建挂载点
shell 复制代码
# 将未分配的卷挂载到NTFS文件夹
# 1. 首先查看可用的卷
mountvol

# 2. 创建挂载点文件夹
mkdir C:\DataDrive

# 3. 将卷挂载到文件夹
mountvol C:\DataDrive \\?\Volume{34567890-3456-3456-3456-345678901234}\
  1. 删除挂载点
shell 复制代码
# 删除指定路径的挂载点
mountvol C:\DataDrive /D
  1. 查看特定路径的卷信息
shell 复制代码
# 查看指定挂载点对应的卷信息
mountvol C:\DataDrive /L
  1. 卸载卷
shell 复制代码
# 使卷脱机(可用于安全移除外部存储)
mountvol E: /P

实际应用示例:

  1. 扩展系统存储
shell 复制代码
#将新硬盘挂载到系统文件夹,扩展C盘存储:
@echo off
echo 扩展系统存储配置
echo =================

# 创建挂载点文件夹
mkdir C:\ExtendedStorage

# 假设新卷GUID已知,进行挂载
mountvol C:\ExtendedStorage \\?\Volume{34567890-3456-3456-3456-345678901234}\

echo 新存储已挂载到 C:\ExtendedStorage
echo 可用空间已扩展
  1. 备份数据挂载点
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 备份挂载点配置完成
  1. 自动化存储管理脚本
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 ​亮白色

使用场景与实例:

  1. 恢复默认颜色
shell 复制代码
#恢复命令提示符的默认颜色(白字黑底)。
color
  1. 设置经典黑底绿字
shell 复制代码
# 模拟老式终端的效果。
color 0A
  1. 设置白底蓝字
shell 复制代码
# 类似传统文档的效果
color F1
相关推荐
p***92481 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
白日做梦Q1 小时前
Linux/Windows系统下:traceroute 与 tracert 路由追踪命令全解析
linux·运维·windows
食品一少年1 小时前
【Day1-3】(Windows版)Open Harmony PC 命令行适配指南环境准备篇(2)
windows
Halo_tjn1 小时前
Java List集合
java·windows·计算机
i***58672 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
O***Z6165 小时前
Redis——Windows安装
数据库·windows·redis
y***03175 小时前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
qq_336313936 小时前
java基础-集合进阶
java·开发语言·windows
深瞳智检8 小时前
学习应用 第001期-Windows 10 用 CMD 安装 MySQL 全流程解析(免安装版)
数据库·windows·mysql·压缩包·环境安装