7.6 KiB
7.6 KiB
什么是 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 或内存。
操作步骤:
- 以管理员身份运行
procexp.exe。 - 顶部窗格显示所有活跃进程,可按 CPU 或内存列排序找出占用最高的进程。
- 双击该进程查看详细信息:
- 查看其打开的句柄(Handle,指进程所引用的系统资源,如打开的文件、注册表键、互斥体、线程等);
- 切换到"Threads"选项卡,查看具体是哪个线程导致占用高。
- 右键菜单可"Kill Process"直接结束,或"Suspend"临时挂起观察影响。
可通过菜单
Options → Replace Task Manager替换系统自带任务管理器,日常更方便调用。
Autoruns(启动项管理)
场景:开机速度极慢,怀疑有病毒或恶意软件开机自启。
操作步骤:
- 运行
autoruns.exe。 - 工具栏勾选 "Hide Microsoft Entries",滤除微软官方条目,仅显示第三方自启项,快速定位可疑程序。
- 按类别选项卡查看不同自启类型(Logon、Services、Scheduled Tasks 等)。
- 取消勾选可疑条目即可禁用;选中后点击"Delete"可彻底删除。
- 右键选择"Jump to Entry"或"Jump to Image",直接定位到对应的注册表路径或文件位置。
禁用前建议通过
File → Save保存当前配置备份,便于误操作时恢复。
Process Monitor(进程监视器)
场景:某个软件安装失败或运行报错,但不清楚失败原因。
操作步骤:
- 管理员运行
procmon.exe,启动后立刻开始捕获系统事件。 - 关闭不需要的应用,减少无关日志干扰。
- 短暂复现问题后,停止捕获(
File → Capture Events或Ctrl+E)。 - 使用 过滤器 缩小搜索范围,常用的过滤条件包括:
Process Name is 某进程.exe then IncludeOperation contains File (或 Reg) then IncludeResult is ACCESS DENIED (或 NAME NOT FOUND) then Include
- 分析结果:重点关注
Result列为ACCESS DENIED、NAME NOT FOUND、BUFFER OVERFLOW的红色行,往往是问题根源。 - 可通过
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 地址、系统版本等关键信息。
操作步骤:
- 运行
bginfo.exe,默认显示 IP、计算机名等基本信息。 - 点击菜单
File → New自定义显示内容,可自由添加:- 磁盘使用率(
Drive C: Free %); - 内存总量(
Total Physical Memory in MB); - 当前登录用户(
Logged on User)。
- 磁盘使用率(
- 配置完成后
File → Save As…保存为.bgi配置文件。 File → Apply即可将信息刷新到当前桌面背景。- 需要开机自动应用时:将 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。 |