CMD下读取/修改/删除注册表项的方法
CMD下读取/修改/删除注册表项的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:好在系统自带的regedit.exe足够用了。1,读取注册表先将想查询的注册表项导出,再用type查看,比如:C:>regedit/e1.r...

好在系统自带的regedit.exe足够用了。

1,读取注册表

先将想查询的注册表项导出,再用type查看,比如:

C:>regedit /e 1.reg "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp"

C:>type 1.reg | find "PortNumber"

"PortNumber"=dword:00000d3d

C:>del 1.reg

所以终端服务的端口是3389(十六进制d3d)

2,修改/删除注册表项

先echo一个reg文件,然后导入,比如:

echo Windows Registry Editor Version 5.00 >1.reg

echo. >>1.reg

echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftTelnetServer1.0] >>1.reg

echo "TelnetPort"=dword:00000913 >>1.reg

echo "NTLM"=dword:00000001 >>1.reg

echo. >>1.reg

regedit /s 1.reg

将telnet服务端口改为2323(十六进制913),NTLM认证方式为1。

要删除一个项,在名字前面加减号,比如:

[-HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesServ-U]

要删除一个值,在等号后面用减号,比如:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]

"KAVRun"=-

3,用inf文件访问注册表

上面对注册表的三个操作,也可以用下面这个inf文件来实现:

[Version]

Signature="$WINDOWS NT$"

[DefaultInstall]

AddReg=My_AddReg_Name

DelReg=My_DelReg_Name

[My_AddReg_Name]

HKLM,SOFTWAREMicrosoftTelnetServer1.0,TelnetPort,0x00010001,2323

HKLM,SOFTWAREMicrosoftTelnetServer1.0,NTLM,0x00010001,1

[My_DelReg_Name]

HKLM,SYSTEMCurrentControlSetServicesServ-U

HKLM,SOFTWAREMicrosoftWindowsCurrentVersionRun,KAVRun

将它写入c:pathreg.inf然后用下面这个命令“安装”:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:pathreg.inf

几点说明:

1,[Version]和[DefaultInstall]是必须的,AddReg和DelReg至少要有一个。My_AddReg_Name和My_DelReg_Name可以自定义。

0x00010001表示REG_DWORD数据类型,0x00000000或省略该项(保留逗号)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。

2323也可以用0x913代替。

关于inf文件的详细信息,可以参考DDK帮助文档。

2,InstallHinfSection是大小写敏感的。它和setupapi之间只有一个逗号,没有空格。

128表示给定路径,该参数其他取值及含义参见MSDN。

特别注意,最后一个参数,必须是inf文件的全路径,不要用相对路径。

3,inf文件中的项目都是大小写不敏感的。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类