DOS环境下玩转Windows注册表

注册表编辑器不仅可以在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下面使用)

(0)

相关推荐

  • DOS环境下玩转Windows注册表

    注册表编辑器不仅可以在Windows下运行使用,还可以在MS-DOS实模式下运行.有时注册表受到损坏而无法启动Windows时,我们就只有在DOS模式下修复或修改注册表了.注册表的实际物理文件为System.dat和User.dat,也就说注册表中的数据保存在这两个文件中. 导出注册表 此命令可以实现对注册表文件进行备份. 命令格式:Regedit /L:system /R:user /E filename.reg Regpath 参数含义: /L:system指定System.dat文件所在的

  • 阻止对Windows注册表的远程访问

    按照本文中所提及的方式保护Windows注册表,能够防止攻击者远程攻击它. 问题 注册表是Windows操作系统的核心.但是在缺省情况下,所有基于Windows的计算机的注册表在网络上都是可以被访问到.了解这一点的黑客完全可以利用这个安全漏洞来对你的公司的计算机系统进行攻击,并修改文件关系,并允许插入恶意代码.为了保护你的网络,你需要禁止对注册表的远程访问. 解决方案 你轻而易举地可以通过修改网络访问清单来达到这一目标.根据你网络的复杂程度,你可能需要考虑禁止对注册表的远程访问. 注意 编辑注册

  • 让Windows注册表修改快速生效

    当我们修改了注册表,许多情况下只按下F5键刷新注册表还不足以使修改生效,而需要重新启动计算机.其实我们不必每次都重启机器,只需运行Windows的外壳程序Explorer即可(在Windows 9x/Me和Windows 2000/XP中的操作有所不同). 在Windows 9x/Me中 按下"Ctrl+Alt+Delete"组合键,在弹出的窗口中选择"Explorer",并点击"结束任务"按钮,这时屏幕会出现"关机"菜单,不

  • Python实现操纵控制windows注册表的方法分析

    本文实例讲述了Python实现操纵控制windows注册表的方法.分享给大家供大家参考,具体如下: 使用_winreg模块的话 基本概念: KEY 键 Value 值 函数和作用: CloseKey() - 关闭一个Key ConnectRegistry() - 链接到其他机器的注册表 CreateKey() - 创建一个Key DeleteKey() - 删除一个Key DeleteValue() - 删除一个Key里面的值(value) EnumKey() - 为已经打开的Key里面的子键建

  • C#通过windows注册表获取软件清单的方法

    本文实例讲述了C#通过windows注册表获取软件清单的方法.分享给大家供大家参考.具体如下: foreach (string SoftwareName in Object.SoftwareList()) { textBox.Text += SoftwareName + Environment.NewLine; } //////////////////////////////////////////////////////////////////////// /// <summary> ///

  • Node.JS更改Windows注册表Regedit的方法小结

    注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动.硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用.这些作用包括了软.硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件.首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述.状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等. 这里介绍一些通过node.js操作注册表的几种方

  • C#操作windows注册表的方法

    本文实例讲述了C#操作windows注册表的方法.分享给大家供大家参考.具体如下: 此代码演示了如何读取和写入注册表 读取注册表: private string GetRegistShellData(string RegistName) { try { string registData, SubregistData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey(@"SOFTWA

  • C# 操作Windows注册表的实现方法

    目录 代码示例 示例一:禁用 Windows 7 系统自动更新 示例二:禁用 Windows 10 提醒 常见问题 本文将给出操作注册表的C#代码以及开发中遇到的问题. 代码示例 通过RegistryKey类的OpenBaseKey方法获取注册表根节点. public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view) 示例一:禁用 Windows 7 系统自动更新 // win7自动更新设置的注册表路径 st

  • python读取Windows注册表的示例代码

    运行结果 代码 import winreg def read_reg(): location = r"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" # 获取注册表该位置的所有键值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, location) print("\n" + "-"*100 + "\

  • Windows注册表常用技巧十例

    1.防止匿名用户登录 虽然Windows可以为每个用户定制各自的使用界面并指定口令,但任何人都能通过点击登录窗口中的"取消"或按ESC键进入系统,即所谓匿名登录.下述方法可以防止匿名用户登录. 在HKEY_LOCAL_MACHINE\NetWork\Logon下新建DWORD类型"MustBeValidated",其值为1.(附:如果自己都进不去了,可以以安全模式进入,然后将其值改为0.)注意:在对等网络下该方法不起作用. 2.重排输入法 您可以将所有输入法按自已的

随机推荐