3

レジストリキーのセットを更新しようとしています。プロパティのセットは、古い値に基づいて新しい値で更新する必要があります。

私は以下を使ってみました:

 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を使用してこれを実現する方法を本当に知りたいです。

私が試した他のこと:$(...)、、あなたが名前を付け(...)たオプションを省略し-Valueます:S。

とに置き換え$_.Valueてみましたが、どちらも機能しませんでした。$_.Uri$_

これで問題が解決され、新しいTeamFoundationServicesのTFSプロジェクトコレクション設定を更新する方法に関するガイダンスを提供するために回答が使用されました。

4

1 に答える 1

3
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}
于 2012-11-02T14:31:10.507 に答える