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