我試圖更新一組註冊表項,一組屬性需要根據舊值更新爲新值。使用PowerShell搜索並替換註冊表項值
我嘗試使用以下內容:
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。
我試圖用$_.Uri
和$_
代替$_.Value
,也沒有工作。
現在問題已經解決,答案用於指導how to update your TFS project collection settings for the new Team Foundation Services。
嘗試更改'()'中的'{}'爲'-Value'值。 –
@Christian試過,沒有骰子。將值設置爲「」 – jessehouwing
和$ _。Value.Replace(「.mydomain.com」,「.mynewdomain.com」)? –