我可以获得这样的注册表元素:
PS> $Registry_Key = "HKLM:\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\*\*\*"
PS> Get-ItemProperty -path $Registry_Key -name m_bSetBrowserPxySettings -ErrorAction SilentlyContinue
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\BMZ-GmbH\AdptList\Adpt00
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\BMZ-GmbH\AdptList
PSChildName : Adpt00
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
m_bSetBrowserPxySettings : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\BMZ-GmbH\AdptList\Adpt01
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\BMZ-GmbH\AdptList
PSChildName : Adpt01
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
m_bSetBrowserPxySettings : 1
但现在我想完全删除m_bSetBrowserPxySettings
,或者在此搜索中为每个匹配项将值更改为“0”。更改或删除无关紧要。为了达到这个目的,我需要添加什么来添加到脚本中?
答案 0 :(得分:3)
您可以按照以下方式执行此操作:
$Registry_Key = "HKLM:\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\*\*\*"
Get-ItemProperty -path $Registry_Key -name m_bSetBrowserPxySettings -ErrorAction SilentlyContinue | % { Set-ItemProperty -path $_.PSPath -name m_bSetBrowserPxySettings "0" }
您需要将Get-ItemProperty
命令传递给:
% { Set-ItemProperty -path $_.PSPath -name m_bSetBrowserPxySettings "0" }
%
代表ForEach-Object
cmdlet。它将做的是迭代你从Get-ItemProperty
命令中获得的集合中的每个项目。 $_
表示管道中的对象,因此每次迭代时都会更改为新项目。
$_.PSPath
是项目注册表项的路径。你可以在问题的表格中看到这个。您可以使用此值与您的姓名一起传递给Set-ItemProperty
,然后将值设置为您想要的任何值。
如果您想完全删除该项目,请转而使用以下内容:
% { Remove-ItemProperty -path $_.PSPath -name m_bSetBrowserPxySettings }
答案 1 :(得分:0)
而不是一直使用路径,你可以只处理项目本身:
$Registry_Key = "HKLM:\SOFTWARE\Wow6432Node\Lenovo\Access Connections\Locations\*\*\*"
$item = Get-Item $Registry_Key
$item | Get-ItemProperty -name m_bSetBrowserPxySettings -ErrorAction SilentlyContinue
然后将其设置为0:
$item | Set-ItemProperty -name m_bSetBrowserPxySettings "0"
或删除它:
$item | Remove-ItemProperty -name m_bSetBrowserPxySettings