Windows XP 内置了一个非常实用的功能——启动脚本(startup scripts)。这个脚本会在登录界面出现之前自动执行,与 Windows 9x 和 DOS 时代的 autoexec.bat 一脉相承。简单来说,它相当于系统启动阶段的“前置批处理程序”。
既然能在登录前运行指令,自然会让人联想到一个有趣的用途:能否用它来重置管理员密码?答案是肯定的,而且操作步骤并不复杂。下面将详细拆解整个流程(假设系统盘为 c:\windows)。
第一步:创建用于重置密码的批处理文件
使用一张 Windows 98 启动盘引导电脑进入 DOS 环境。新建一个文本文件,命名为 a.bat,文件内仅写入一行命令:
net user rwd 12345678
这条命令的作用是:将用户 rwd 的密码强制更改为 12345678。关于 net user 更详细的用法,可参考 Windows 帮助文档。保存该文件后,将其复制到 c:\windows\system32\grouppolicy\machine\scripts\startup 目录下(如果该路径不存在,请手动创建)。
第二步:编写启动脚本的配置文件
配置文件的名称是固定的——scripts.ini,不能随意更改。文件内容如下:
[startup]
0cmdline=a.bat
0parameters=
请注意格式要求:0cmdline 中的 0 表示脚本编号,从 0 开始依次递增;parameters 后面留空,因为我们的批处理文件不需要额外参数。
第三步:将配置文件放置到正确路径
将 scripts.ini 保存到 c:\winnt\system32\grouppolicy\machine\scripts 目录下(注意路径是 winnt,而非 windows)。该文件的作用是告知系统在启动或关机时应执行哪些脚本。[startup] 部分负责启动脚本,[shutdown] 部分负责关机脚本。每个脚本条目由 xcmdline 和 xparameters 两个关键字组成,x 决定执行次序。
第四步:重启电脑并等待脚本生效
取出 Windows 98 启动盘,重新启动计算机。系统会在登录界面出现之前自动运行 a.bat,执行完成后,用户 rwd 的密码即被成功重置为 12345678。整个过程无需任何人工干预。
第五步:事后清理安全痕迹
使用新密码登录系统后,务必删除之前创建的两个文件(a.bat 和 scripts.ini),以防留下安全隐患。
几点补充说明
- 以上操作基于 FAT32 文件系统。如果系统盘为 NTFS,可将硬盘拆下并挂载到另一台支持 NTFS 的电脑(如 Windows 2000 或 XP)上,作为从盘进行操作,步骤完全相同。
- 此方法同样适用于管理员(Administrator)账户,也适用于 Windows 2000 中的本地用户和域用户密码恢复。
- 整个流程下来,你会发现启动脚本就像系统预留的“后门通道”——不过请放心,只要做好账户安全防护,这扇门并不会轻易被外人利用。
