CMD下讀取/修改/刪除注冊表項(xiàng)的方法
更新時(shí)間:2012年06月15日 23:14:23 作者:
先說注冊表。很多命令行下訪問注冊表的工具都是交互式的,溢出產(chǎn)生的shell一般不能再次重定向輸入/輸出流,所以無法使用
好在系統(tǒng)自帶的regedit.exe足夠用了。
1,讀取注冊表
先將想查詢的注冊表項(xiàng)導(dǎo)出,再用type查看,比如:
C:\>regedit /e 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
C:\>type 1.reg | find "PortNumber"
"PortNumber"=dword:00000d3d
C:\>del 1.reg
所以終端服務(wù)的端口是3389(十六進(jìn)制d3d)
2,修改/刪除注冊表項(xiàng)
先echo一個(gè)reg文件,然后導(dǎo)入,比如:
echo Windows Registry Editor Version 5.00 >1.reg
echo. >>1.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0] >>1.reg
echo "TelnetPort"=dword:00000913 >>1.reg
echo "NTLM"=dword:00000001 >>1.reg
echo. >>1.reg
regedit /s 1.reg
將telnet服務(wù)端口改為2323(十六進(jìn)制913),NTLM認(rèn)證方式為1。
要?jiǎng)h除一個(gè)項(xiàng),在名字前面加減號(hào),比如:
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]
要?jiǎng)h除一個(gè)值,在等號(hào)后面用減號(hào),比如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"KAVRun"=-
3,用inf文件訪問注冊表
上面對(duì)注冊表的三個(gè)操作,也可以用下面這個(gè)inf文件來實(shí)現(xiàn):
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall]
AddReg=My_AddReg_Name
DelReg=My_DelReg_Name
[My_AddReg_Name]
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1
[My_DelReg_Name]
HKLM,SYSTEM\CurrentControlSet\Services\Serv-U
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KAVRun
將它寫入c:\path\reg.inf然后用下面這個(gè)命令“安裝”:
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\reg.inf
幾點(diǎn)說明:
1,[Version]和[DefaultInstall]是必須的,AddReg和DelReg至少要有一個(gè)。My_AddReg_Name和My_DelReg_Name可以自定義。
0x00010001表示REG_DWORD數(shù)據(jù)類型,0x00000000或省略該項(xiàng)(保留逗號(hào))表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。
2323也可以用0x913代替。
關(guān)于inf文件的詳細(xì)信息,可以參考DDK幫助文檔。
2,InstallHinfSection是大小寫敏感的。它和setupapi之間只有一個(gè)逗號(hào),沒有空格。
128表示給定路徑,該參數(shù)其他取值及含義參見MSDN。
特別注意,最后一個(gè)參數(shù),必須是inf文件的全路徑,不要用相對(duì)路徑。
3,inf文件中的項(xiàng)目都是大小寫不敏感的。
1,讀取注冊表
先將想查詢的注冊表項(xiàng)導(dǎo)出,再用type查看,比如:
C:\>regedit /e 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
C:\>type 1.reg | find "PortNumber"
"PortNumber"=dword:00000d3d
C:\>del 1.reg
所以終端服務(wù)的端口是3389(十六進(jìn)制d3d)
2,修改/刪除注冊表項(xiàng)
先echo一個(gè)reg文件,然后導(dǎo)入,比如:
echo Windows Registry Editor Version 5.00 >1.reg
echo. >>1.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0] >>1.reg
echo "TelnetPort"=dword:00000913 >>1.reg
echo "NTLM"=dword:00000001 >>1.reg
echo. >>1.reg
regedit /s 1.reg
將telnet服務(wù)端口改為2323(十六進(jìn)制913),NTLM認(rèn)證方式為1。
要?jiǎng)h除一個(gè)項(xiàng),在名字前面加減號(hào),比如:
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]
要?jiǎng)h除一個(gè)值,在等號(hào)后面用減號(hào),比如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"KAVRun"=-
3,用inf文件訪問注冊表
上面對(duì)注冊表的三個(gè)操作,也可以用下面這個(gè)inf文件來實(shí)現(xiàn):
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall]
AddReg=My_AddReg_Name
DelReg=My_DelReg_Name
[My_AddReg_Name]
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1
[My_DelReg_Name]
HKLM,SYSTEM\CurrentControlSet\Services\Serv-U
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KAVRun
將它寫入c:\path\reg.inf然后用下面這個(gè)命令“安裝”:
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\reg.inf
幾點(diǎn)說明:
1,[Version]和[DefaultInstall]是必須的,AddReg和DelReg至少要有一個(gè)。My_AddReg_Name和My_DelReg_Name可以自定義。
0x00010001表示REG_DWORD數(shù)據(jù)類型,0x00000000或省略該項(xiàng)(保留逗號(hào))表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。
2323也可以用0x913代替。
關(guān)于inf文件的詳細(xì)信息,可以參考DDK幫助文檔。
2,InstallHinfSection是大小寫敏感的。它和setupapi之間只有一個(gè)逗號(hào),沒有空格。
128表示給定路徑,該參數(shù)其他取值及含義參見MSDN。
特別注意,最后一個(gè)參數(shù),必須是inf文件的全路徑,不要用相對(duì)路徑。
3,inf文件中的項(xiàng)目都是大小寫不敏感的。
您可能感興趣的文章:
- dos(cmd)中刪除、添加、修改注冊表命令
- 用VBScript實(shí)現(xiàn)對(duì)Windows注冊表的修改詳解
- VC++實(shí)現(xiàn)文件與應(yīng)用程序關(guān)聯(lián)的方法(注冊表修改)
- 直接雙擊啟動(dòng)tomcat中的startup.bat閃退原因及解決方法
- 解析C#自定義控件的制作與使用實(shí)例的詳解
- C# 自定義異??偨Y(jié)及嚴(yán)格遵循幾個(gè)原則
- 自定義實(shí)現(xiàn)Json字符串向C#對(duì)象轉(zhuǎn)變的方法
- C#中自定義事件和委托實(shí)例
- 在asp.net(C#)中采用自定義標(biāo)簽和XML、XSL顯示數(shù)據(jù)
- C#設(shè)置自定義文件圖標(biāo)實(shí)現(xiàn)雙擊啟動(dòng)(修改注冊表)
相關(guān)文章
服務(wù)器應(yīng)用自動(dòng)重新啟動(dòng)IIS批處理
本站原創(chuàng)的用bat實(shí)現(xiàn)重新啟動(dòng)服務(wù)器的IIS服務(wù)器2008-01-01批處理FINDSTR正則表達(dá)式用法實(shí)例分析
dos或批處理下findstr正則用法,會(huì)了這個(gè)我們就可以用批處理實(shí)現(xiàn)文本等搜索替換等2008-08-08bat腳本實(shí)例實(shí)現(xiàn)只允許運(yùn)行一個(gè)實(shí)例(安裝程序、創(chuàng)建快捷方式腳本)
這篇文章主要介紹了一個(gè)bat腳本實(shí)例,功能是只允許運(yùn)行一個(gè)實(shí)例、安裝程序、卸載程序、創(chuàng)建快捷方式,需要的朋友可以參考下2014-04-04Windows環(huán)境bat腳本獲取文件的創(chuàng)建時(shí)間
最近都在寫ftp windows環(huán)境的一些bat腳本,為了方便顯示,想要記錄一下每次操作的時(shí)間,所以在這里總結(jié)一下windows環(huán)境bat腳本獲取時(shí)間的常用命令,感興趣的朋友一起看看吧2022-03-03