注册表操作命令
概述
Windows注册表是存储系统配置信息的层次数据库,包含硬件、软件、用户偏好等设置。
reg命令
reg - 注册表控制台工具
reg命令
用于在命令行中操作注册表的命令行工具。
查询注册表
| Text Only |
|---|
| reg query keyname [/v valuename | /ve] [/s] [/se separator] [/f data] [/k] [/d] [/c] [/z]
|
示例:
| Text Only |
|---|
| # 查询键下的所有值
reg query HKLM\Software\Microsoft\Windows\CurrentVersion
# 查询特定值
reg query HKLM\Software\Microsoft\Windows\CurrentVersion /v ProductName
# 查询默认值
reg query HKLM\Software\Microsoft\Windows\CurrentVersion /ve
# 递归查询子键
reg query HKLM\Software\Microsoft /s
# 搜索包含特定数据的键
reg query HKLM\Software /f "Microsoft" /s
# 搜索键名
reg query HKLM\Software /f "Windows" /k /s
# 搜索数据
reg query HKLM\Software /f "3.11" /d /s
|
添加注册表项
| Text Only |
|---|
| reg add keyname [/v valuename | /ve] [/t type] [/s separator] [/d data] [/f]
|
数据类型:
- REG_SZ:字符串
- REG_MULTI_SZ:多字符串
- REG_EXPAND_SZ:可扩展字符串
- REG_DWORD:32位整数
- REG_QWORD:64位整数
- REG_BINARY:二进制数据
- REG_NONE:无类型
示例:
| Text Only |
|---|
| # 添加字符串值
reg add HKCU\Software\MyApp /v Version /t REG_SZ /d "1.0" /f
# 添加DWORD值
reg add HKCU\Software\MyApp /v Enabled /t REG_DWORD /d 1 /f
# 添加二进制值
reg add HKCU\Software\MyApp /v Data /t REG_BINARY /d fe340ead /f
# 添加默认值
reg add HKCU\Software\MyApp /ve /d "Default" /f
# 强制覆盖(不提示确认)
reg add HKCU\Software\MyApp /v Name /t REG_SZ /d "Test" /f
|
删除注册表项
| Text Only |
|---|
| reg delete keyname [/v valuename | /ve | /va] [/f]
|
示例:
| Text Only |
|---|
| # 删除特定值
reg delete HKCU\Software\MyApp /v Version /f
# 删除默认值
reg delete HKCU\Software\MyApp /ve /f
# 删除键下所有值
reg delete HKCU\Software\MyApp /va /f
# 删除整个键(包括子键)
reg delete HKCU\Software\MyApp /f
|
复制注册表项
| Text Only |
|---|
| reg copy keyname1 keyname2 [/s] [/f]
|
示例:
| Text Only |
|---|
| # 复制键
reg copy HKCU\Software\MyApp HKCU\Software\MyAppBackup /s /f
|
比较注册表项
| Text Only |
|---|
| reg compare keyname1 keyname2 [/v valuename | /ve] [/s] [/oa | /od | /os | /on]
|
示例:
| Text Only |
|---|
| reg compare HKCU\Software\MyApp HKCU\Software\MyAppBackup
reg compare HKCU\Software\MyApp HKCU\Software\MyAppBackup /s
|
导出注册表
| Text Only |
|---|
| reg export keyname filename [/y]
|
示例:
| Text Only |
|---|
| # 导出整个键
reg export HKCU\Software\MyApp myapp.reg
# 导出HKLM
reg export HKLM\Software\Microsoft\Windows\CurrentVersion version.reg
# 覆盖已有文件
reg export HKCU\Software\MyApp myapp.reg /y
|
导入注册表
示例:
保存注册表配置单元
| Text Only |
|---|
| reg save keyname filename [/y]
|
示例:
| Text Only |
|---|
| reg save HKLM\Software software.hiv
|
还原注册表配置单元
| Text Only |
|---|
| reg restore keyname filename
|
示例:
| Text Only |
|---|
| reg restore HKLM\Software software.hiv
|
加载注册表配置单元
| Text Only |
|---|
| reg load keyname filename
|
示例:
| Text Only |
|---|
| reg load HKLM\TempHive c:\temp\hive.hiv
|
卸载注册表配置单元
示例:
注册表根键
| 缩写 |
完整名称 |
说明 |
HKCR |
HKEY_CLASSES_ROOT |
文件关联和COM信息 |
HKCU |
HKEY_CURRENT_USER |
当前用户设置 |
HKLM |
HKEY_LOCAL_MACHINE |
本地机器设置 |
HKU |
HKEY_USERS |
所有用户配置文件 |
HKCC |
HKEY_CURRENT_CONFIG |
当前硬件配置 |
常用注册表路径
系统启动
| Text Only |
|---|
| # 开机启动程序
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
# 服务
HKLM\System\CurrentControlSet\Services
|
Windows设置
| Text Only |
|---|
| # Windows版本
HKLM\Software\Microsoft\Windows NT\CurrentVersion
# 系统策略
HKLM\Software\Policies\Microsoft\Windows
# 用户策略
HKCU\Software\Policies\Microsoft\Windows
|
网络设置
| Text Only |
|---|
| # TCP/IP设置
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
# 网络适配器
HKLM\System\CurrentControlSet\Control\Network
|
安全设置
| Text Only |
|---|
| # 安全策略
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies
# Windows Defender
HKLM\Software\Policies\Microsoft\Windows Defender
|
PowerShell注册表操作
查看注册表
| PowerShell |
|---|
| # 列出注册表驱动器
Get-PSDrive -PSProvider Registry
# 查看键
Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion
# 查看值
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion
# 获取特定值
(Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion).ProductName
# 递归搜索
Get-ChildItem HKLM:\Software -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*Windows*"}
|
创建注册表项
| PowerShell |
|---|
| # 创建键
New-Item -Path HKCU:\Software\MyApp -Force
# 创建值
New-ItemProperty -Path HKCU:\Software\MyApp -Name "Version" -Value "1.0" -PropertyType String -Force
New-ItemProperty -Path HKCU:\Software\MyApp -Name "Enabled" -Value 1 -PropertyType DWord -Force
New-ItemProperty -Path HKCU:\Software\MyApp -Name "Data" -Value ([byte[]]@(0xfe,0x34,0x0e,0xad)) -PropertyType Binary -Force
|
修改注册表值
| PowerShell |
|---|
| Set-ItemProperty -Path HKCU:\Software\MyApp -Name "Version" -Value "2.0"
|
删除注册表项
| PowerShell |
|---|
| # 删除值
Remove-ItemProperty -Path HKCU:\Software\MyApp -Name "Version"
# 删除键
Remove-Item -Path HKCU:\Software\MyApp -Recurse -Force
|
检查注册表项是否存在
| PowerShell |
|---|
| if (Test-Path HKCU:\Software\MyApp) {
Write-Host "Registry key exists"
}
|
导出注册表
| PowerShell |
|---|
| reg export HKCU\Software\MyApp myapp.reg /y
|
导入注册表
实用脚本
禁用Windows Update自动重启
| Text Only |
|---|
| reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f
|
显示文件扩展名
| Text Only |
|---|
| reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f
|
显示隐藏文件
| Text Only |
|---|
| reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f
|
禁用防火墙
| Text Only |
|---|
| reg add "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v EnableFirewall /t REG_DWORD /d 0 /f
|
添加开机启动项
| Text Only |
|---|
| reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v MyApp /t REG_SZ /d "C:\MyApp\app.exe" /f
|
备份重要注册表项
| Text Only |
|---|
| @echo off
set backup_dir=C:\RegBackup
mkdir %backup_dir%
reg export "HKLM\SOFTWARE" "%backup_dir%\HKLM_Software.reg" /y
reg export "HKLM\SYSTEM" "%backup_dir%\HKLM_System.reg" /y
reg export "HKCU\Software" "%backup_dir%\HKCU_Software.reg" /y
echo Backup completed
|
搜索注册表中的特定字符串
| PowerShell |
|---|
| Search-Registry -Path HKLM:\SOFTWARE -SearchString "Microsoft" -Recurse
|
注意事项
注册表操作风险
- 修改注册表可能导致系统不稳定
- 操作前务必备份注册表
- 不熟悉的键值不要随意修改
- 建议创建系统还原点
备份注册表:
| Text Only |
|---|
| reg export HKLM hklm_backup.reg /y
reg export HKCU hkcu_backup.reg /y
|
创建还原点:
| PowerShell |
|---|
| Checkpoint-Computer -Description "Before registry changes"
|
参考资料