新闻资讯
看你所看,想你所想

Registry Provider

Registry Provider

提供从Windows PowerShell对系统注册表项和注册表值的访问。

基本介绍

  • 中文名:注册表提供
  • 外文名:Registry Provider
  • 驱动器:HKLM:, HKCU:
  • 功能:ShouldProcess

简短说明

提供从 Windows PowerShell 对系统注册表项和注册表值的访问。

驱动器

HKLM:, HKCU:

详细说明

使用 Windows PowerShell Registry 提供程式,您可以获取、添加、更改、清除和删除 Windows PowerShell 中的注册表项和注册表值。
注册表项表示为 Microsoft.Win32.RegistryKey 类的实例。注册表值表示为 PSCustomObject 类的实例。
使用 Registry 提供程式,您可以访问由注册表项和子项组成的分层命名空间。注册表值和数据不是该层次结构中的组件。实际上,它们是每个注册表项的属性。
Registry 提供程式支持包含 Item 名词的所有 cmdlet (Item cmdlet),例如 Get-Item、Copy-Item 和 Rename Item。在处理注册表项和子项时使用 Item cmdlet。Registry 提供程式还支持包含 ItemProperty 名词的 cmdlet (ItemProperty cmdlet)。在处理注册表值和数据时使用 ItemProperty cmdlet。不能将包含 Content 名词的 cmdlet (Content cmdlet) 与 Registry 提供程式一起使用。
每个注册表项均由一个安全描述符进行保护。您可以使用 Get-Acl 来查看注册表项的安全描述符。

功能

ShouldProcess

示例

在注册表中导航
-------------------------- 示例 1 --------------------------
此命令将当前位置设定为 HKEY_LOCAL_MACHINE\Software 注册表项:
set-location hklm:\software
-------------------------- 示例 2 --------------------------
此命令显示当前位置:
get-location
管理注册表项
-------------------------- 示例 1 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的每个直接子项的信息:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的每个注册表条目的值名称和值数据:
get-childitem -path hklm:\software
只有当 Default 注册表条目具有注册表值时,才会返回该项。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子项下创建 TestNew 子项:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的 Temp 注册表条目的值名称和值数据:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令删除 HKEY_CURRENT_USER\Environment 注册表项的 TestNew 子项:此命令在 HKEY_CURRENT_USER 项中创建注册表条目 pstest,并将它的值设定为 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令将 TestNew 项複製到 TestCopy 子项:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值更新为 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的所有子项的信息:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值名称重命名为 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnewcopy 注册表项及其属性以及它的所有子项及其属性一起移动到 HKEY_CURRENT_USER\Environment\testnew:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 项:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 注册表项重命名为 HKEY_CURRENT_USER\Environment\test:此命令将 HKEY_CURRENT_USER\environment\testnewcopy 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 项:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令显示指定注册表项的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 项中的注册表条目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 来清除子项的默认注册表条目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 注册表项的默认条目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 1 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的每个直接子项的信息:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的每个注册表条目的值名称和值数据:
get-childitem -path hklm:\software
只有当 Default 注册表条目具有注册表值时,才会返回该项。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子项下创建 TestNew 子项:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的 Temp 注册表条目的值名称和值数据:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令删除 HKEY_CURRENT_USER\Environment 注册表项的 TestNew 子项:此命令在 HKEY_CURRENT_USER 项中创建注册表条目 pstest,并将它的值设定为 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令将 TestNew 项複製到 TestCopy 子项:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值更新为 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的所有子项的信息:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值名称重命名为 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnewcopy 注册表项及其属性以及它的所有子项及其属性一起移动到 HKEY_CURRENT_USER\Environment\testnew:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 项:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 注册表项重命名为 HKEY_CURRENT_USER\Environment\test:此命令将 HKEY_CURRENT_USER\environment\testnewcopy 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 项:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令显示指定注册表项的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 项中的注册表条目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 来清除子项的默认注册表条目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 注册表项的默认条目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 9 --------------------------
此命令从 HKEY_CURRENT_USER\Environment\testnew 注册表项中删除注册表条目 pstestnew:
remove-itemproperty -path hkcu:\environment\testnew `-name pstestnew
-------------------------- 示例 10 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 项中的默认注册表条目的值更新为“default value”:
set-itemproperty -path hkcu:\environment\testnew `-name "(default)" -value "default value"
也可以使用 Set-Item cmdlet 来更新注册表项的默认值。例如,以下命令更新 testnew 项的默认值: set-item -path hkcu:\environment\testnew -value "another default value"
管理注册表项
-------------------------- 示例 1 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的每个直接子项的信息:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的每个注册表条目的值名称和值数据:
get-childitem -path hklm:\software
只有当 Default 注册表条目具有注册表值时,才会返回该项。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子项下创建 TestNew 子项:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的 Temp 注册表条目的值名称和值数据:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令删除 HKEY_CURRENT_USER\Environment 注册表项的 TestNew 子项:此命令在 HKEY_CURRENT_USER 项中创建注册表条目 pstest,并将它的值设定为 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令将 TestNew 项複製到 TestCopy 子项:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值更新为 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的所有子项的信息:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值名称重命名为 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnewcopy 注册表项及其属性以及它的所有子项及其属性一起移动到 HKEY_CURRENT_USER\Environment\testnew:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 项:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 注册表项重命名为 HKEY_CURRENT_USER\Environment\test:此命令将 HKEY_CURRENT_USER\environment\testnewcopy 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 项:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令显示指定注册表项的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 项中的注册表条目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 来清除子项的默认注册表条目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 注册表项的默认条目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 1 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的每个直接子项的信息:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的每个注册表条目的值名称和值数据:
get-childitem -path hklm:\software
只有当 Default 注册表条目具有注册表值时,才会返回该项。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子项下创建 TestNew 子项:此命令显示 HKEY_CURRENT_USER\Environment 注册表项中的 Temp 注册表条目的值名称和值数据:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令删除 HKEY_CURRENT_USER\Environment 注册表项的 TestNew 子项:此命令在 HKEY_CURRENT_USER 项中创建注册表条目 pstest,并将它的值设定为 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令将 TestNew 项複製到 TestCopy 子项:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值更新为 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令显示有关 HKEY_LOCAL_MACHINE\Software 注册表项的所有子项的信息:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstest 的值名称重命名为 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnewcopy 注册表项及其属性以及它的所有子项及其属性一起移动到 HKEY_CURRENT_USER\Environment\testnew:此命令将 HKEY_CURRENT_USER\Environment 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 项:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 注册表项重命名为 HKEY_CURRENT_USER\Environment\test:此命令将 HKEY_CURRENT_USER\environment\testnewcopy 项中的注册表条目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 项:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令显示指定注册表项的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 项中的注册表条目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 来清除子项的默认注册表条目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 注册表项的默认条目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 9 --------------------------
此命令从 HKEY_CURRENT_USER\Environment\testnew 注册表项中删除注册表条目 pstestnew:
remove-itemproperty -path hkcu:\environment\testnew `-name pstestnew
-------------------------- 示例 10 --------------------------
此命令将 HKEY_CURRENT_USER\Environment\testnew 项中的默认注册表条目的值更新为“default value”:
set-itemproperty -path hkcu:\environment\testnew `-name "(default)" -value "default value"
也可以使用 Set-Item cmdlet 来更新注册表项的默认值。例如,以下命令更新 testnew 项的默认值: set-item -path hkcu:\environment\testnew -value "another default value"

动态参数

动态参数是由 Windows PowerShell 提供程式添加的 cmdlet 参数,且只可用于在启用了提供程式的驱动器中使用 cmdlet 的情况。
Type <Microsoft.Win32.RegistryValueKind>
指定在将值存储到注册表中时使用的数据类型,或标识注册表中的值的数据类型。
ValueDescription
String
指定以 Null 结尾的字元串。与 REG_SZ 等效。
ExpandString
指定一个以 Null 结尾的字元串,该字元串包含对环境变数的未展开引用,这些引用在检索值时展开。与 REG_EXPAND_SZ 等效。
Binary
指定任意格式的二进制数据。与 REG_BINARY 等效。
DWord
指定一个 32 位的二进制数。与 REG_DWORD 等效。
MultiString
指定一个包含以 Null 结尾的字元串的数组,该数组以两个 Null 字元终止。与 REG_MULTI_SZ 等效。
QWord
指定一个 64 位的二进制数。与 REG_QWORD 等效。
Unknown
指示不支持的注册表数据类型,如 REG_RESOURCE_LIST。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com