Suchen und Ersetzen von Registrierungseintragswerten mithilfe von Powershell

Suchen und Ersetzen von Registrierungseintragswerten mithilfe von Powershell

Ich versuche, eine Reihe von Registrierungsschlüsseln zu aktualisieren. Eine Reihe von Eigenschaften muss basierend auf dem alten Wert mit einem neuen Wert aktualisiert werden.

Ich habe Folgendes versucht:

 Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri 
      | set-itemproperty -Path { $_.PSPath } Uri -Value { $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }

Dadurch wird der Wert der URI-Eigenschaft jedoch wie folgt festgelegt:{ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }

Ich habe es versucht:

 Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri 
      | set-itemproperty -Path { $_.PSPath } Uri -Value ${ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }

Und

 Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri 
      | set-itemproperty -Path { $_.PSPath } Uri -Value ( $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" )

Aber das löscht den Wert.

Ich möchte mehrere Registrierungswerte in mehreren Schlüsseln mit so wenig Zeilen wie möglich aktualisieren. Ich habe es bereits zum Laufen gebracht, indem ich die Registrierung exportierte, den Editor zum Suchen und Ersetzen verwendete und die Registrierungseinträge dann erneut importierte, aber das kam mir wie Schummeln vor. Ich möchte wirklich wissen, wie ich dies mit Powershell erreichen kann.

Andere Dinge, die ich versucht habe: $(...), (...), das Weglassen der -ValueOption, die Sie nennen :S.

Ich habe versucht, $_.Valuedurch $_.Uriund zu ersetzen $_, hat auch nicht funktioniert.

Antwort1

 Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}

verwandte Informationen