Get-ItemPropertyValue

Get-ItemPropertyValue

有人知道如何在 PowerShell 中读取注册表项值吗?图片上可以看到 CMD 中的等效请求。

等效于 CMD

答案1

可以使用 Get-ChildItem,快捷方式如下:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion'

更多示例在这里:https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-keys

如果要获取某个特定的键值:

$val = (Get-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName').ComputerName

以及如何适当设置/编辑 https://blogs.technet.microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell/

答案2

Get-ItemPropertyValue

对于注册表操作,请使用:

  • Get-ItemPropertyGet-ItemPropertyValue读取注册表值和数据
  • Get-Item获取注册表项和子项(但不读取注册表值和数据)
  • Get-ChildItem列出键和配置单元内的子键
  • 可选地,使用New-PSDrive它来创建注册表驱动器(默认情况下仅存在 HKCU 和 HKLM)。请注意,您也可以使用长格式而不安装(更多详细信息见下文)

有关详细信息,请参阅For more information, see注册提供商

例子

使用您的示例作为起点,即使用键值对注册表根键,我将查找菜单栏颜色,因为您拥有的密钥在我的系统上不可用。

命令

reg query "HKEY_USERS\.DEFAULT\Control Panel\Colors" /v MenuBar

电源外壳

使用Get-ItemPropertyValue

PS C:\> Get-ItemPropertyValue 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors' -Name MenuBar
240 240 240

使用Get-ItemProperty

PS C:\> (Get-ItemProperty 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors').MenuBar
240 240 240

使用New-PSDrive安装键值对作为香港大学

PS C:\> New-PSDrive -PSProvider Registry -Root HKEY_USERS -Name HKU
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
HKU                                    Registry      HKEY_USERS
PS C:\> Get-ItemPropertyValue 'HKU:\.DEFAULT\Control Panel\Colors' -Name MenuBar
240 240 240
PS C:\>

文档

注册提供商

注册表分为项、子项和条目。有关注册表结构的更多信息,请参阅注册表结构

在一个註冊驱动器,每个键都是一个容器。一个键可以包含任意数量的键。具有父键的注册表键称为子键。您可以使用Get-ChildItem来查看注册表键并 Set-Location导航到键路径。

注册表值是注册表项的属性。在註冊 驱动器,它们被称为项目属性。注册表项可以同时具有子项和项属性。

...

每个注册表项也可以有子项。当您对注册表项使用 Get-Item 时,不会显示子项。该Get-ChildItemcmdlet 将显示“Spooler”项的子项,包括每个子项的属性。使用 时不会显示父项属性Get-ChildItem

获取项目

此命令显示 Microsoft.PowerShell 注册表项的内容。您可以将此 cmdlet 与 PowerShell Registry 提供程序一起使用来获取注册表项和子项,但必须使用该Get-ItemPropertycmdlet 来获取注册表值和数据。

答案3

这种格式虽然非常相似,但也可以使用:

$username = Get-ItemProperty -path "HKCU:\Volatile Environment"

这将创建一个对象。可以使用以下方式调用属性:

$username.username

相关内容