Поиск и замена значения реестра с использованием 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.
Я пытался заменить $_.Value
с $_.Uri
а также $_
, тоже не работал.
1 ответ
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}