1

Я пытаюсь обновить набор ключей реестра, необходимо обновить набор свойств с новым значением, основанным на старом значении.

Я пытался использовать следующее:

 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 ответ1

1
 Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .