
Estou tentando atualizar um conjunto de chaves de registro. Um conjunto de propriedades precisa ser atualizado com um novo valor baseado no valor antigo.
Eu tentei usar o seguinte:
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value { $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
Mas isso define o valor da propriedade uri como:{ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
Tentei:
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value ${ $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" }
E
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri
| set-itemproperty -Path { $_.PSPath } Uri -Value ( $_.Value -Replace ".mydomain.com/", ".mynewdomain.com/" )
Mas isso limpa o valor.
Quero atualizar vários valores de registro em várias chaves com o mínimo de linhas possível. Já fiz funcionar exportando o registro, usei o bloco de notas para pesquisar e substituir e depois reimportar as entradas do registro, mas parecia uma trapaça. Eu realmente quero saber como posso conseguir isso usando o Powershell.
Outras coisas que tentei: $(...)
, (...)
, omitindo a -Value
opção que você nomeia: S.
Tentei substituir $_.Value
por $_.Uri
e $_
, também não funcionou.
Responder1
Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}