我正在使用PowerShell函数,该函数应该检查注册表中名为“ SQLArg4”和“ SQLArg5”的两个值(或其他两个数字)是否设置为某个值内容,如果没有,请设置它们。

问题是我无法枚举要遍历它们的值以比较所有值,如果不存在则添加我的两个值内容。

我尝试使用“ SQLArg”和$ i索引创建字符串,但是PowerShell不允许我使用该字符串作为变量的字段。

有任何想法吗?

===============>>#1 票数:0 已采纳

听起来您只需要使用一个注册表项即可(无需递归)。 试试这个代码。 它将获取$ key下所有以“ SQLArgs”开头的值,并将它们存储在$ values中。 它遍历一个数字序列,并测试是否存在名为SQLArgs#的键值。 当找到一个时,它将设置键值数据。

$key = "HKCU:\Andy"

$values = Get-ItemProperty -Path $key -Name SQLArg*

1..20 | % {
    if ($values."SQLArg$_" -ne $null) {
        Set-ItemProperty -Path $key -Name "SQLArg$_" -Value "Powershell Rocks"
    }
}

  ask by Andrew J. Brehm translate from so

未解决问题?本站智能推荐:

关注微信公众号