Я пытаюсь обновить набор ключей реестра, необходимо обновить набор свойств с новым значением, основанным на старом значении.
Я пытался использовать следующее:
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
и $_
тоже не сработали.