繁体   English   中英

Windows注册表中对代理设置的更改无效

[英]Changes to proxy settings in Windows registry have no effect

在一天的过程中,我经常必须打开和关闭代理设置中的“使用自动配置脚本”选项,以访问被阻止的Web目标,反之亦然。 换句话说,此复选框:

在此处输入图片说明

我发现它更改了HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings AutoConfigURL属性HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings 选中此复选框时,该属性将设置为配置脚本URL,如果禁用,则该属性将被删除。 因此,我编写了一个简单的PowerShell脚本来完成这项工作:

$regKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
$propertyName = "AutoConfigURL"
$configurationScript = "http://example.com/config.dat"

$proxyStatus = (Get-ItemProperty -Path $regKey -ErrorAction SilentlyContinue).$propertyName

If ([string]::IsNullOrEmpty($proxyStatus)) {
    Set-ItemProperty -Path $regKey -Name $propertyName -Value $configurationScript
} Else {
    Remove-ItemProperty -Path $regKey -Name $propertyName
}

它以我需要的方式更改了注册表,但是这些更改没有效果。 我需要打开Internet属性/连接下的LAN设置窗口,然后才更改代理设置(我什至不需要按OK或Cancel按钮, 只需打开窗口即可 )。

对注册表进行更改以应用更改后,是否应该执行任何其他命令?

我在下面的Powershell脚本(这是写得很好的脚本)中找到了您问题的答案。

https://github.com/majkinetor/posh/blob/master/MM_Network/Update-Proxy.ps1

该脚本实际上强制/刷新Internet设置。 上面的脚本引用了msdn论坛,其中提到了C#解决方案。

https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/19517edf-8348-438a-a3da-5fbe7a46b61a/how-to-change-global-windows-proxy-using-c-net-with-立即生效?论坛=一般

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM