Files
Knowledge/1 使用/Windows/Microsoft.Sysinternals.Suite 用法.md

7.6 KiB
Raw Permalink Blame History

什么是 Sysinternals Suite?

Sysinternals Suite 是微软官方推出的一套免费 Windows 高级诊断与故障排查工具集。它由 70 多个轻量级、免安装的工具组成,专为系统管理员和高级用户设计,提供对 Windows 操作系统内部底层行为的深度洞察。

它的核心价值在于能精准回答两大问题:"是谁在干坏事?" 和 "到底发生了什么?"。如果说任务管理器是"听诊器",那 Sysinternals 就是为 Windows 做的"CT",能彻底拆解进程、句柄、内存、注册表等底层运作。


核心工具列表

Sysinternals Suite 的工具可按功能划分为五大类。下表列出其中最具代表性的核心工具。

🔍 进程与系统监控

工具 说明
Process Explorer (procexp.exe) 增强型任务管理器,以树状结构显示进程间关系、权限、句柄和 DLL 详情。
Process Monitor (procmon.exe) 实时监控文件系统、注册表和进程线程活动,是排障和抓毒的必备利器。
TCPView (tcpview.exe) 图形化监控网络连接和端口占用,替代命令行 netstat。
RAMMap (rammap.exe) 深度分析物理内存使用分布,用于排查内存占用过高和内存泄漏。

🚀 启动与权限管理

工具 说明
Autoruns (autoruns.exe) 全面管理开机自启动项,远超自带 msconfig。
PsExec (psexec.exe) 在远程系统上执行进程,常用于自动化运维。
AccessChk (accesschk.exe) 查看文件、注册表、服务等资源的详细访问权限。
Autologon (autologon.exe) 配置 Windows 自动登录,跳过密码输入。

💾 磁盘与文件分析

工具 说明
Disk2vhd (disk2vhd.exe) 将物理磁盘转换为 Hyper-V 虚拟硬盘(VHD)。
Disk Usage (DU) (du.exe) 命令行查看目录磁盘占用大小。
SDelete (sdelete.exe) 安全覆盖删除敏感文件,防止数据恢复。
Handle (handle.exe) 查找特定文件被哪个进程占用。

🧠 系统信息与故障排查

工具 说明
BgInfo (bginfo.exe) 桌面背景展示主机名、IP、内存等关键系统信息。
DebugView (dbgview.exe) 捕获应用程序和内核驱动输出的调试信息。
BlueScreen (bluescreen.scr) 模拟蓝屏的屏保程序(趣味工具)。
NotMyFault (notmyfault.exe) 手动制造系统崩溃,用于测试故障恢复机制。

🎯 命令行与开发辅助

工具 说明
PsTools (pstools.exe) 命令行管理套件(含 PsList、PsKill、PsShutdown 等)。
LiveKd (livekd.exe) 在运行中的系统上执行内核调试器。
Strings (strings.exe) 提取二进制文件中的 ASCII 或 Unicode 字符串。
ZoomIt (zoomit.exe) 屏幕缩放和标注工具,专为演示和会议设计。

完整工具列表及功能请参考微软官网 Sysinternals Utilities Index。


详细使用指南与场景示例

Process Explorer(进程资源管理器)

场景:电脑突然卡顿,怀疑某个进程异常占用 CPU 或内存。

操作步骤:

  1. 以管理员身份运行 procexp.exe。
  2. 顶部窗格显示所有活跃进程,可按 CPU 或内存列排序找出占用最高的进程。
  3. 双击该进程查看详细信息:
    • 查看其打开的句柄(Handle,指进程所引用的系统资源,如打开的文件、注册表键、互斥体、线程等);
    • 切换到"Threads"选项卡,查看具体是哪个线程导致占用高。
  4. 右键菜单可"Kill Process"直接结束,或"Suspend"临时挂起观察影响。

可通过菜单 Options → Replace Task Manager 替换系统自带任务管理器,日常更方便调用。

Autoruns(启动项管理)

场景:开机速度极慢,怀疑有病毒或恶意软件开机自启。

操作步骤:

  1. 运行 autoruns.exe。
  2. 工具栏勾选 "Hide Microsoft Entries",滤除微软官方条目,仅显示第三方自启项,快速定位可疑程序。
  3. 按类别选项卡查看不同自启类型(Logon、Services、Scheduled Tasks 等)。
  4. 取消勾选可疑条目即可禁用;选中后点击"Delete"可彻底删除。
  5. 右键选择"Jump to Entry"或"Jump to Image",直接定位到对应的注册表路径或文件位置。

禁用前建议通过 File → Save 保存当前配置备份,便于误操作时恢复。

Process Monitor(进程监视器)

场景:某个软件安装失败或运行报错,但不清楚失败原因。

操作步骤:

  1. 管理员运行 procmon.exe,启动后立刻开始捕获系统事件。
  2. 关闭不需要的应用,减少无关日志干扰。
  3. 短暂复现问题后,停止捕获(File → Capture Events 或 Ctrl+E)。
  4. 使用 过滤器 缩小搜索范围,常用的过滤条件包括:
    • Process Name is 某进程.exe then Include
    • Operation contains File (或 Reg) then Include
    • Result is ACCESS DENIED (或 NAME NOT FOUND) then Include
  5. 分析结果:重点关注 Result 列为 ACCESS DENIED、NAME NOT FOUND、BUFFER OVERFLOW 的红色行,往往是问题根源。
  6. 可通过 File → Save 导出日志(建议选择 PML 格式)供后续分析或转交技术支持。

PsTools 套件

场景:远程管理多台服务器,执行进程、服务或关机操作。

常用命令(均需管理员权限,部分需安装 PsExec 服务):

  • 远程查看进程列表:psexec \\192.168.1.100 -u 用户名 -p 密码 tasklist。
  • 远程强制重启:psshutdown \\192.168.1.100 -r -f -t 0。
  • 结束远程进程:pskill \\192.168.1.100 1234(1234 为目标进程的 PID)。
  • 列出远程进程信息:pslist \\192.168.1.100 -d(显示线程详情)。

使用时务必遵守安全规范和授权,避免在未经允许的机器上执行。

BGInfo(桌面背景信息显示)

场景:运维多台服务器时,希望一眼看到主机名、IP 地址、系统版本等关键信息。

操作步骤:

  1. 运行 bginfo.exe,默认显示 IP、计算机名等基本信息。
  2. 点击菜单 File → New 自定义显示内容,可自由添加:
    • 磁盘使用率(Drive C: Free %);
    • 内存总量(Total Physical Memory in MB);
    • 当前登录用户(Logged on User)。
  3. 配置完成后 File → Save As… 保存为 .bgi 配置文件。
  4. File → Apply 即可将信息刷新到当前桌面背景。
  5. 需要开机自动应用时:将 BGInfo 快捷方式放入 启动文件夹(shell:startup),并指定配置文件路径:"C:\Tools\bginfo.exe" "C:\Config\myconfig.bgi" /timer:0,实现开机自动静默应用。

系统异常转储与调试场景

场景 推荐工具 操作关键点
进程崩溃需抓取内存状态 ProcDump (procdump.exe) 监控高 CPU 占用或崩溃:procdump -c 80 -s 5 -n 3 -ma myapp.exe(CPU 连续 5 秒超过 80% 时生成完整 dump)。
系统反复蓝屏但无法复现 NotMyFault (notmyfault.exe) 运行后选择崩溃类型(高 IRQL 故障、缓冲区溢出等),手动触发蓝屏,用于验证 crash dump 配置是否正确。
分析蓝屏 DUMP 文件 LiveKd (livekd.exe) 无需重启即可用 WinDbg 调试运行中的内核,或离线分析 DUMP:livekd -y "SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -o。