使用 Windows PowerShell 管理注册表

Marion Paul Kenneth Mendoza 2023年1月30日 2022年5月16日
  1. 什么是 PowerShell 中的注册表
  2. 在 Windows PowerShell 中保护备份注册表
  3. 在 PowerShell 中导入注册表文件
  4. 使用 PowerShell 获取注册表的值
使用 Windows PowerShell 管理注册表

注册表编辑器在编辑注册表时可能很方便,但仍有可能出现人为错误。此外,编辑注册表非常精细,大多数本地机器都依赖它。

在 Windows PowerShell 中,我们可以轻松管理注册表,在本文中,我们将向你展示如何使用 Windows PowerShell 安全地管理这些注册表。

什么是 PowerShell 中的注册表

Windows 注册表存储硬件设备、软件程序、用户首选项和操作系统配置的许多设置和信息。

例如,安装新应用程序时,会将一组新的操作系统配置和程序引用添加到程序特定位置的注册表中。

其他可能与之交互的人可能会参考注册表以获取在程序中使用的设置,以获取更多信息,例如文件所在的位置等等。

在许多方面,Windows 注册表可以被比作 Windows 操作系统的一种 DNA,并且尽可能地,除非我们需要,否则我们不应该篡改它。

在 Windows PowerShell 中保护备份注册表

最好在对其进行任何更改之前备份你的注册表。如前所述,注册表中的任何意外和不必要的更改都可能导致你的文件、软件或更糟的是整个操作系统出现错误。

但是,通过将你要更改的注册表的备份副本安全地存储在不同的目录中,我们知道你可以撤消任何可能导致系统出现问题的更改,我们会感到很自在。

你可以使用旧命令 reg export 快速备份你的注册表。例如,下面的语法将备份整个 HKLM 注册表。

reg export HKLM C:\RegBack\HKLM.Reg /y

在 PowerShell 中导入注册表文件

你备份的注册表项将以 .REG 文件格式导出。因此,你可以通过双击注册表文件并按照提示快速恢复备份的注册表项。

但是,如果我们需要在脚本中包含导入注册表文件的功能,我们可以使用旧命令 reg import 来简化此过程。

reg import C:\RegBack\HKLM.Reg

使用 PowerShell 获取注册表的值

Get-ItemProperty 是一个 PowerShell cmdlet,用于以比其相关命令 Get-Item 更易读的格式返回注册表项。

我们还可以使用 Get-ItemProperty cmdlet 获取特定注册表项的值。

Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

输出:

ProgramFilesDir
CommonFilesDir
ProgramFilesDir (x86)
CommonFilesDir (x86)
CommonW6432Dir
DevicePath
MediaPathUnexpanded
ProgramFilesPath
ProgramW6432Dir
SM_ConfigureProgramsName
SM_GamesName
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn