Procura e substitui o valor de entrada do registro usando o powershell

1

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.

    
por jessehouwing 02.11.2012 / 15:15

1 resposta

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