误删Windows账户恢复方案

原创文章,转载请注明出处!谢谢

和unix一样,在程序世界里,用户只是一个id。通常新建用户id会递增,删除后这个id就不再使用了。通常unix系统可以修改passwd文件,但是windows不能。

我这里使用了RunasSystem和注册表编辑器实现修改用户id。以下测试方案在windows7虚拟机中测试通过,在win10目标机测试通过。

测试流程如下:

1.当前用户名是user,新建用户new,两者都隶属于administrators

2.在当前桌面上创建一个标记文件,例如user.txt

3.注销user,登录新用户new,删掉user用户

4.启动RunasSystem,运行regedit,这相当于启动了一个system权限的regedit

5.进入HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users,并导出注册保存到c:\1.reg

6.进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 单击下面的每个SID,查看右侧的ProfileImagePath路径,找出new和user的ID,例如user用户的SID是S-1-5-21-3758146366-2367375602-3803148922-1001,那么user的id就是1001。这里我查看到new用户是1001,user用户是1002,对应的16进制就是0x3e9和0x3ea

6.在RunasSystem的命令行运行 notepad c:\1.reg

7.[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003EA] 修改为 [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9]。同时修改下面的F值和V值,寻找其中的ea,03改成e9,03。

8.[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\new]下面的@=hex(3ea):改成3e9

9.保存1.reg,使用注册表编辑器导入1.reg,导入后删除HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003EA

10.使用管理工具将new用户重新添加到users组、administrators组,并修改密码

11.注销new用户重新登录,发现已经恢复成user用户的桌面了,将new用户改回user的名字即可。

 

原创文章,转载请注明出处!谢谢

上一篇:luoguP4112 [HEOI2015]最短不公共子串 SAM,序列自动机,广搜BFS


下一篇:记录「十月做题记录」