如何使用Get-ChildItem搜索子键,包括注册表中$ path的当前键?我正在搜索特定字符串的数据列/值的一部分。我当前的代码有效,但不包括搜索中我的路径字符串的当前键或最后一个键。
我在HKCU注册表中设置了ABC密钥以及其他子密钥。每个都包含值和数据。搜索开头的$ Path是' HKEY_CURRENT_USER \ ABC'
HKCU \ ABC,其中包含值及其数据
HKCU \ ABC \ DEF包含值及其数据
HKCU \ ABC \ DEF \ GHI包含值及其数据
我的功能代码(或其中的一部分)如下所示
$objProps = @()
$Key = Get-ChildItem -Path Registry::$Path -Recurse
ForEach ($SubKey in $Key) {
#$Key = Get-ItemProperty -Path Registry::$CurRegistryKey
ForEach ($Prop in $SubKey.Property) {
if (($SubKey.GetValue($Prop)) -match $ValueDataRegex) {
$objProps += @{
Key = $SubKey
ValueName = $Prop
ValueData = $SubKey.GetValue($Prop)
}
}
}
}
return $objProps
它只返回DEF和GHI的结果。我还希望它能够在ABC键中搜索数据。如果我使用' HKEY_CURRENT_USER \'作为我的$ Path它可以工作,但在搜索不必要的注册表项时需要很长时间。
答案 0 :(得分:0)
在迭代结果之前再做一次Get-ChildItem
调用:
$Key = @(Get-ChildItem -Path Registry::$Path -Recurse)
$Key += Get-Item Registry::$Path