verwenden Sie PowerShell, um die Suche nach einer Zeichenkette in der registry Schlüssel und Werte

Ich möchte mit der PowerShell zu finden, die alle registry-Schlüssel und Werte in einer bestimmten Struktur, die eine Zeichenfolge enthalten foo - möglicherweise eingebettet in einen längeren string. Das finden der Tasten ist nicht schwer:

get-childitem -path hkcu:\ -recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*foo*"}

Das problem ist, dass ich weiß nicht, der beste Weg, um die Werte gegeben, ich weiß nicht, die Namen der Eigenschaften vor der Zeit. Ich versuchte dies:

get-childitem -path hkcu:\ -recurse -erroraction silentlycontinue | get-itemproperty | where {$_.'(default)' -like "*foo*"}    

bekam aber diese Fehlermeldung:

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

selbst wenn ich Hinzugefügt -ErrorAction SilentlyContinue zu den get-itemproperty.

Darüber hinaus, dass nur noch die Werte der (default) Tasten.

Außerdem ist es möglich, suchen alle Bienenstöcke in einem einzigen Befehl?

-ErrorAction SilentlyContinue? Werte aufgelistet werden können durch aufrufen von Get-ItemProperty auf eine Taste.
danke für den Vorschlag über -ErrorAction SilentlyContinue. Ich hatte aufgegeben, weil er es unterlassen hatte, zu unterdrücken Fehler mit einer früheren Befehl habe ich versucht, aber es funktioniert mit diesem, so bearbeitete ich meine Frage entsprechend. Jedoch bekomme ich eine Fehlermeldung get-itemproperty : Specified cast is not valid wenn ich diesen Befehl ausführen: get-childitem -path hkcu:\ -recurse -erroraction silentlycontinue | get-itemproperty | where {$_ -like "*foo"} . Was müsste ich anders machen?
Sie müssen den Zugang zu Eigentum, wo scriptblock. where {$_.PSParentPath -like "*foo"} zum Beispiel

InformationsquelleAutor Alan | 2017-03-22

Schreibe einen Kommentar