首页 > 解决方案 > Powershell 查找注册表值并将它们设置在引号中

问题描述

我想编写一个脚本来搜索每个名为uninstallstring 的注册表项,该值不在引号中,并将它们设置为引号。这是我到目前为止得到的。我的问题是,即使该值仍在引号中,它也会再次将值转为引号。

gci HKLM:\SOFTWARE\test -rec -ea SilentlyContinue |  
   % {  
      $g=get-itempropertyvalue -Path $_.PsPath -Name uninstallstring 
      IF(-NOT ($g -contains '"')){ Set-ItemProperty -Path $_.PsPath -name uninstallstring -Value "'$g'"}

   } 

标签: .netwindowspowershellregistrypowershell-5.0

解决方案


所以这对我来说效果很好。谢谢大家!

gci HKLM:\SOFTWARE\test -rec -ea SilentlyContinue |  
   % {  
      $g=get-itempropertyvalue -Path $_.PsPath -Name uninstallstring 
      IF(-NOT ($g.contains('"'))){ Set-ItemProperty -Path $_.PsPath -name uninstallstring -Value "`"$g`""}

   } 

推荐阅读