
レジストリ キーのセットを更新しようとしています。プロパティのセットは、古い値に基づいて新しい値で更新する必要があります。
以下を使ってみました:
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value { $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
しかし、これにより uri プロパティの値は次のように設定されます。{ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
私は試した:
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value ${ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
そして
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value ( $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" )
しかし、それは価値を明らかにします。
できるだけ少ない行数で、複数のキーの複数のレジストリ値を更新したいと考えています。レジストリをエクスポートし、メモ帳を使用して検索と置換を行い、レジストリ エントリを再インポートすることですでに機能していますが、これは不正行為のように感じました。Powershell を使用してこれを実現する方法を本当に知りたいです。
私が試した他のこと:$(...)
、、名前を付けたオプション(...)
を省略します:S。-Value
$_.Value
を および に置き換えてみました$_.Uri
が$_
、それでもうまくいきませんでした。
答え1
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}