0

下面的注册表文件夹中有两个键 - 它们被命名为:

名称:1 数据:somedate (REG_SZ) 名称:2 数据:somedata (REG_SZ)

键的名称称为“1”和“2”。这导致我在尝试使用每个键时在 powershell 中出现问题,因为 Powershell 认为有问题。

所以,我首先找到键的属性:

$acceptedsnmppackets = Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers | Select-Object -ExpandProperty Property

然后,当我想使用其中一个键通过执行以下操作从中获取值时:

$acceptedsnmppackets1 = $(Get-ItemProperty hklm:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers).1

我收到以下错误:

Unexpected token '.1' in expression or statement.
At :line:108 char:120
+                         $(Get-ItemProperty hklm:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers).1 <<<< 

当我在代码中的其他地方使用另一个实际上有名称而不是字符的键执行此操作时,它可以正常工作。“1”和“2”引起了我的问题,我无法更改键的名称。

我要做的就是读取每个键的数据。

有任何想法吗?

谢谢,

4

1 回答 1

1

这有帮助吗?

$path = 'HKLM:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers'
(Get-ItemProperty -Path $path -Name 1).'1'
于 2012-12-28T16:17:41.073 回答