Поиск и замена значения записи реестра с помощью PowerShell

Поиск и замена значения записи реестра с помощью 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/" )}

Связанный контент