DOS環境下玩轉Windows注冊表
2020-10-31 15:50:31
供稿:網友
注冊表編輯器不僅可以在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。
補充:
//幫助信息,使用的時候刪除前面的"http://"符號就可以了,最好先本機測試通過.
//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下面使用)