PowerShellを使用して、文字列foo
を含む特定のハイブ内のすべてのレジストリキーと値を検索したい場合があります。キーを見つけることは難しいことではありません。PowerShellを使用してレジストリキーと値の文字列を検索する
get-childitem -path hkcu:\ -recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*foo*"}
問題は、私は私は先に時間のプロパティの名前を知っていないことを考えると、値を見つけるための最善の方法を知らないということです。私はこの試みた:
get-childitem -path hkcu:\ -recurse -erroraction silentlycontinue | get-itemproperty | where {$_.'(default)' -like "*foo*"}
をこのエラーを得た:
get-itemproperty : Specified cast is not valid.
At line:1 char:69
+ ... u:\ -recurse -erroraction silentlycontinue | get-itemproperty | where ...
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-ItemProperty], InvalidCastException
+ FullyQualifiedErrorId : System.InvalidCastException,Microsoft.PowerShell.Commands.GetItemPropertyCommand
私はget-itemproperty
に-ErrorAction SilentlyContinue
を追加した場合でも。
さらに、(default)
のキーの値のみが検索されます。
また、1つのコマンドですべてのハイブを検索することは可能ですか?
'-ErrorAction SilentlyContinue'?値は、キーに対して 'Get-ItemProperty'を呼び出すことで列挙できます。 –
@AnsgarWiechers、 '-ErrorAction SilentlyContinue'についての提案に感謝します。以前のコマンドでエラーを抑制できなかったので、私はそれをあきらめていましたが、これでうまくいくので、私はそれに応じて私の質問を編集しました。しかし、このコマンドを実行すると 'get-itemproperty:指定されたキャストは無効です'というエラーが表示されます: 'get-childitem -path hkcu:\ -recurse -erroraction silentlycontinue | | get-itemproperty | where {$ _ -like "* foo"} 'となります。私は何をする必要がありますか? – Alan
scriptblockのどこにあるプロパティにアクセスする必要がありますか。 '{$ _。PSParentPath -like" * foo "}'のようなものです。 – pandemic