116196535535054661
前言
Windows注册表管理
通过注册表编辑器管理注册表

通过CMD管理注册表
新增或修改注册表键值
<root_key>:根键
HKEY_CLASSES_ROOT、HKCR:文件关联
HKEY_CURRENT_USER、HKCU:当前用户配置
HKEY_LOCAL_MACHINE、HKLM:本机系统配置
HKEY_USERS、HKU:本机所有用户配置
HKEY_CURRENT_CONFIG、HKCC:当前硬件配置
<key_src>:项路径
/v <value_name>:指定键名
/t <value_type>:指定键值类型
REG_SZ:字符串值
REG_BINARY:二进制值
REG_DWORD:32位数值
REG_QWORD:64位数值
REG_MULTI_SZ:多字符串值,每行一个字符串值
REG_EXPAND_SZ:可展开环境变量字符串,读取它的程序通常会将%环境变量名%展开
/d <value_data>:指定键值
/f:强制执行,不再弹确认
1
| reg add "<root_key>\<key_src>" /v <value_name> /t <value_type> /d <value_data> /f
|
/ve:操作项的默认值
1
| reg add "<root_key>\<key_src>" /ve /d <value_data> /f
|
删除注册表指定键值对
1
| reg delete "<root_key>\<key_src>" /v <value_name> /f
|
1
| reg delete "<root_key>\<key_src>" /ve /f
|
删除注册表项
1
| reg delete "<root_key>\<key_src>" /f
|
查询注册表指定键值
1
| reg query "<root_key>\<key_src>" /v <value_name>
|
1
| reg query "<root_key>\<key_src>" /ve
|
通过PowerShell管理注册表
新增注册表项
1
| New-Item -Path '<root_key>:\<key_src>' -Force
|
修改注册表项的默认值
1
| Set-Item -Path '<root_key>:\<key_src>' -Value '<default_value>'
|
新增或修改注册表键值
-PropertyType <value_type>:指定键值类型
String:字符串值
Binary:二进制值
DWord:32位数值
QWord:64位数值
MultiString:多字符串值,每行一个字符串值
ExpandString:可展开环境变量字符串,读取它的程序通常会将%环境变量名%展开
-Force:值已存在时覆盖
1
| New-ItemProperty -Path '<root_key>:\<key_src>' -Name '<value_name>' -PropertyType <value_type> -Value <value_data> -Force
|
删除注册表指定键值对
1
| Remove-ItemProperty -Path '<root_key>:\<key_src>' -Name '<value_name>'
|
删除注册表项
1
| Remove-Item -Path '<root_key>:\<key_src>' -Recurse -Force
|
查询注册表指定键值
1
| Get-ItemPropertyValue -Path '<root_key>:\<key_src>' -Name '<value_name>'
|
通过inf文件管理注册表
<value_type>:指定键值类型,.inf文件中不能定义64位数值作为值
%REG_SZ%、0x00000000:字符串值
%REG_BINARY%、0x00000001:二进制值
%REG_DWORD%、0x00010001:32位数值
%REG_MULTI_SZ%、0x00010000:多字符串值,每行一个字符串值
%REG_EXPAND_SZ%、0x00020000:可展开环境变量字符串,读取它的程序通常会将%环境变量名%展开
ADDREG=:定义需要执行新增或修改操作的配置名
DELREG=:定义需要执行删除操作的配置名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [Version] Signature=$Windows NT$
[DefaultInstall] ADDREG=配置名1 DELREG=配置名2
[配置名1] ; 修改注册表项的默认值 <key_root>,"<key_src>",,<value_type>,"<default_value>" ; 新增或修改注册表键值 <key_root>,"<key_src>","<value_name>",<value_type>,"<value_data>"
[配置名2] ; 删除注册表项,包括子项及其所有键值对 <key_root>,"<key_src>" ; 删除注册表项内所有键值对 <key_root>,"<key_src>\" ; 删除注册表指定键值对 <key_root>,"<key_src>\",<value_name>
|
通过reg文件管理注册表
.reg文件编码使用UTF-16 LE,避免中文乱码
.reg文件中通过""定义的字符串中出现的特殊字符需要通过\转义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Windows Registry Editor Version 5.00
; 新增或修改注册表键值 [<key_root>\<key_src>] ; 修改注册表项的默认值 @="<default_value>" ; 新增或修改注册表键值 "<value_name_1>"="<value_data>" "<value_name_2>"=dword:00000001 "<value_name_3>"="hex(2):00,00,00,00" "<value_name_4>"="hex:00"
; 删除注册表项 [-<key_root>\<key_src>\DelAllItem]
; 删除注册表项内所有键值对 [<key_root>\<key_src>\ClearValOnly] ; 清空注册表项的默认值 @=- ; 删除注册表项内所有键值对 "<value_name_1>"=- "<value_name_2>"=- "<value_name_3>"=- "<value_name_4>"=-
; 删除注册表指定键值对 [<key_root>\<key_src>\DelSingleVal] "<value_name_1>"=-
|
通过IPC远程管理注册表
建立连接
<ip>:远程IP地址
<username>:用户名
<password>:密码
1
| net use \\<ip>\ipc$ <password> /user:<username>
|
通过服务允许远程管理注册表
1 2
| sc \\<ip> config remoteregistry start=auto sc \\<ip> start remoteregistry
|
管理注册表
传送门
完成
参考文献
少数派——Levinson
西瓜视频——爱比较
西瓜视频——爱比较