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.

나는 and $_.Value로 교체하려고 시도했지만 작동하지 않았습니다.$_.Uri$_

답변1

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

관련 정보