DOS环境下玩转Windows注册表

 更新时间:2006年10月23日 00:00:00   作者:  

注册表编辑器不仅可以在Windows下运行使用,还可以在MS-DOS实模式下运行。有时注册表受到损坏而无法启动Windows时,我们就只有在DOS模式下修复或修改注册表了。注册表的实际物理文件为System.dat和User.dat,也就说注册表中的数据保存在这两个文件中。 

导出注册表 


此命令可以实现对注册表文件进行备份。 

命令格式:Regedit /L:system /R:user /E filename.reg Regpath 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/E:此参数指定注册表编辑器要进行导出注册表操作,在此参数后面空一格,输入导出注册表的文件名。 

Regpath:用来指定要导出哪个注册表的分支,如果不指定,则将导出全部注册表分支。 

如果打算将保存在C:\Windows\System.dat和保存在C:\Windows\Profiles\User.dat中所有HKEY_CLASSER_ROOT根键下的分支导出到file.reg中,可以执行如下命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /e file1.reg HKEY_CLASSER_ROOT 

导入注册表 

命令格式:Regedit /L:system /R:user file.reg 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

重建注册表 

重建注册表,即重新建立System.dat和User.dat文件。 

命令格式:Regedit /L:system /R:user /C file.reg 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/C:此参数将告诉注册表编辑器,用所指定的.reg文件中的内容重新建立注册表。 

如果要用file.reg文件中的内容重新建立整个注册表,并将其保存到C:\Windows\System.dat和C:\Windows\Profiles\User.dat中,可执行命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /C file1.reg 

删除注册表分支 

此命令可以将注册表中的一个子键分支删除。 

命令格式为:Regedit /L:system /R:user /D Regpath 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/C:此参数告诉注册表编辑器,将Regpath所指定的注册表子键分支删除。 

恢复注册表 

Scanreg.exe可以检查、备份、恢复、修复注册表,此命令存放在“Windows\Command”目录下。 

命令格式:Scanreg [/< option >] 

参数含义: 

/backup参数是备份注册表和相关的配置文件,这些文件分别\windows目录下的System.dat、User.dat、Win.ini、System.ini四个文件,把这些文件压缩成rb——?.cab一个文件,存放在\windows\sysbckup目录下,多次使用此命令会产生多个CAB文件,一般从000开始,系统默认最大备份数为5个。可在\Windows\scanreg.ini文件中对最大备份数进行修改,通过修改“maxbackupcopies=?”的数值即可。 

/restore参数是选择一个备份进行恢复注册表,此命令不能在Windows 98环境下执行,必须关机后,重新启动进入纯DOS方式下运行。 

/fix参数是修复损坏的注册表,此命令也只能在DOS方式下运行。 

/comment="< comment >"参数是在备份注册表时增加一些详细的注释到CAB文件中。 

恢复遭到破坏的注册表文件,可以使用Scanreg命令进行修复,方法是,首先进入DOS系统操作环境,然后执行以下命令:Scanreg/Restore 

此时系统会提示注册表备份情况,包括CAB文件名及备份时间等,用户可以选择要恢复的CAB文件进行恢复。 

如果要查看所有的备份文件及同备份有关的部分,可以执行命令:Scanreg /restore /comment 

如果注册表有问题,可以使用Scanreg来修复,命令为:Scanreg /fix。

补充:
//帮助信息,使用的时候删除前面的"//"符号就可以了,最好先本机测试通过.
//regedit.exe -e reg1.txt  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
//regedit.exe -e reg2.dll  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
//上面导出注册表内容
//regedit.exe -s reg2.dll
//上面导入注册表内容,没有提示信息.reg1.dll必须是合法格式.
//____________________________________________________________________________
////Win98注册表文件头格式
//REGEDIT4
//
////win2000/xp/nt注册表文件头格式(空一行)
//_____________________________________________________________________________
//Windows Registry Editor Version 5.00 
//
//[HKEY_LOCAL_MACHINE\SOFTWARE\Test4Adam]
//"Test1"="Adam"
//"Test2"=hex:61
//"Test3"=dword:00000064
//Test1的类型是"String value"
//Test2的类型是"Binary value"
//Test3的类型是"DWORD value"

//删除一个项目名称
//[HKEY_LOCAL_MACHINE\SOFTWARE\Test4Adam]
//"Test1"=-

//删除一个子项
//[-HKEY_LOCAL_MACHINE\SOFTWARE\Test4Adam]

//reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber"
//reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber"
//由于后面参数有空格。所以必须使用双引号

//下面这个是win2000kit里面的工具
//E:\SCANREG.EXE 1.05 <[-s] string> < [-k] [-v] [-d] > [[-r] key] [-c] [-e] [-n]
//Examples:  SCANREG -s Windows -k -v -d
//           SCANREG -s Windows -kvd
//           SCANREG /s Windows /r \lm\software /kvde
//           SCANREG Windows \lm -kd -n
//           SCANREG Windows \\MOON\HKEY_LOCAL_MACHINE -d
//           SCANREG Windows HKEY_CURRENT_USER\software -kvd

//——————————————————————————————————————
//[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] 
//"AutoAdminLogon"=dword:00000001
//"DefaultDomainName"=""
//"DefaultUserName"="administrator"
//"DefaultPassword"="password"
// 上面自动登陆
//[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings]
//"key"=-
//  上面删除IE分级审查的口令
//[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
//"NoRun"=dword:00000001 
//开始没有运行项目
//[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
//"DisableRegistryTools"=dword:00000001 
// 0x1 禁止注册表编辑

//关于psu.exe 使用注册表内容
//pulist.exe |findstr.exe /i "WINLOGON explorer"
//得到对应的winlogon的PID,  如果你是使用终端登陆进入的话 212,788 为有效pid.
//pulist.exe |findstr.exe /i "WINLOGON explorer"
// winlogon.exe      212  NT AUTHORITY\SYSTEM
// explorer.exe      824  NETBAR-5G2JURY8\Administrator
// winlogon.exe      341  NT AUTHORITY\SYSTEM
// winlogon.exe      788  NT AUTHORITY\SYSTEM
// explorer.exe      1752 NETBAR-5G2JURY8\guest
//psu.exe -p "%windir%\regedit.exe -s admg.reg" -i PID 
//psu.exe -p "%windir%\regedit.exe -e admin.reg  HKEY_LOCAL_MACHINE\SAM\SAM\" -i PID
//psu.exe -p "%windir%\regedit.exe -s admg.reg" -i 212   (telnet状态使用)
//psu.exe -p "%windir%\regedit.exe -s admg.reg" -i 788   (终端cmd.exe下面使用)

相关文章

最新评论