2017-04-19 9 views
4

私の機能では、特定のサブキーのデータ部分の特定の文字列を検索したいと思います。関数内のコードの一部は次のとおりです。powershellを使用してキー内のレジストリ値のデータ値を取得する方法

foreach ($CurrentPath in $Path) { 
    $Items = Get-Item -Path Registry::$CurrentPath 
    ForEach ($Property in $Items) { 
     $Key = $Property 

私は$Key = $Property後まっすぐデバッグし、入力したホストコマンドウィンドウに移動し、$Keyを入力し、キーを押したとき。

 
Hive: hkcu 

Name       Property 
----       -------- 
ABC       Test : ababab\MSSQLSERVER_2014\ababab 

私の機能では、regeditに添付されている画像のようにデータ部分を検索したいと思います。私は、検索を実行するにはどうすればよい

Regedit image sample

+2

を私はあなたが必要だと思います'get-itemproperty'を使って見てください。 –

答えて

0

値の名前がわからない場合は、プロパティをループする必要があります。例Get-Itemを使用して:

$item = Get-Item -Path "Registry::HKEY_CURRENT_USER\Software\NuGet" 

foreach ($prop in $item.Property) { 
    if($item.GetValue($prop) -match '0') { "Match found in key $($item.PSPath) , value $($prop)" } 
} 

またはGet-ItemProperty

$item = Get-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\NuGet" 

foreach ($prop in $item.psobject.Properties) { 
    if($prop.Value -match '0') { "Match found in key $($item.PSPath) , value $($prop.Name)" } 
} 

あなたは価値の名前を知っている場合、それはGet-ItemPropertyWhere-Objectを使用する方が簡単です、例:

Get-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\NuGet" | Where-Object { $_.IncludePrerelease -match '0' } 
+0

Frode F.ありがとうございました。午後または明日後で見ていきます。何か他のものが現れました.. –

+0

Frode F.ありがとうございました。それは魅力的でした。:-) –

関連する問題