Get-ItemProperty -Path HKCU:\Software\xxxxx\*.mydomain.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace ".mydomain.com/", ".mynewdomain.com/" )}
Estou tentando atualizar um conjunto de chaves do Registro, um conjunto de propriedades precisa ser atualizado com um novo valor com base 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/" }
Eu 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.
Eu quero atualizar vários valores de registro em várias chaves com o menor número de linhas possível. Eu já comecei a trabalhar, exportando o registro, use o bloco de notas para pesquisar e substituir e, em seguida, reimportar as entradas do registro, mas isso parecia trapaça. Eu realmente quero saber como posso conseguir isso usando o Powershell.
Outras coisas que eu tentei: $(...)
, (...)
, omitindo a opção -Value
que você nomeou: S.
Eu tentei substituir $_.Value
por $_.Uri
e $_
, também não funcionou.