这个serverfault问题在Google搜索中显得很高,这就是为什么我要回复它。我希望其他人觉得这很有用,因为这个问题对我来说真的很痛苦。
我们大约有50位用户的域上的几乎每台Windows 7计算机都受到了影响-就我而言,四处走动并重置IE是不可接受的,因此我最终如下解决:
首先,这里有几个有用但很难找到的链接:
http://blog.frankleonhardt.com/2011/wpad-and-windows-7-and-internet-explorer-8/
http://kb.k12usa.com/Knowledgebase/Proxy-Auto-Detect-WPAD-Issues-With-IE-Windows-7
http://infratalk.wordpress.com/2011/09/10/troubleshooting-windows-proxy-autodiscovery-wpad/
我建议您先阅读每个链接。
以下来自拳头链接的引文特别有趣:
“事实证明,Microsoft的那些聪明人已经实施了一项功能,可以在几次尝试失败后停止检查WPAD服务器。它认为它知道漫游机器在哪个网络上,如果没有,则在注册表中为自己留一个注释会再次打扰。如果只是实施它,则会大量使用。”
我在链接中发现了wpad reg键,这实际上是我在google中找到链接的方式。在测试过程中,我变得无情,发现以下工作原理:
关闭所有IE会话,打开“控制面板”->“ Internet选项”->“连接”选项卡->“局域网设置”,然后取消选中“自动检测设置”(以及所有其他选项)-不要再次打开IE。
删除以下注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad
打开控制面板-> Internet选项->连接选项卡->局域网设置,然后单击“自动检测设置”。
如果刷新注册表编辑器窗口(F5),则应该看到wpad reg密钥已重新创建,但是它将为空。
现在打开IE。再次刷新wpad reg,您应该看到它填充有包含各种wpad信息的子项。
这是一个修复程序,无需重置IE,但我仍然需要以某种方式在50台计算机上部署它。我这样做如下:
我通过使用如上所述重置的计算机创建了以下注册表(不要复制该逐字记录,因为它是根据我们的域创建的,并且我编辑了域名),因此手动添加了wpadOverride行:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]
"WpadLastNetwork"="{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}"
"WpadOverride"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\a4-0c-c3-62-7b-2d]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001
"WpadNetworkName"="example.local"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}\a4-0c-c3-62-7b-2d]
这已添加到用户登录脚本中,并且基本上删除了reg键并将其替换。
然后,我创建了一个GPO以禁用“自动检测设置”,并手动添加了wpad网址:
用户配置->策略-> Windows设置-> Internet Explorer维护->连接->自动浏览器配置| 取消勾选“自动检测配置设置”并勾选“启用自动配置”,然后将“ http://wpad.example.local/wpad.dat ”插入“自动配置URL”。
我还启用了“ IE WPAD决策缓存替代”(请参见上面的第二个链接)。
然后,我将其保留了几天,以尽可能多地部署到计算机上,然后禁用“自动配置URL”并再次勾选“自动检测配置设置”,并从登录脚本中删除了reg键。
我这样做是因为它似乎无法通过简单地取消选中然后通过GPO勾选“自动检测配置设置”框来起作用,因此最终可能不需要添加URL。
我曾希望WpadOverride可以在没有额外步骤的情况下工作,但不幸的是,在我看来,它不是。
顺带使用cname在我们的网络上效果很好。
之后,在修复期间关闭的所有计算机都将手动进行处理。
希望这对其他人像我通过Google一样遇到此问题有所帮助。微软的这种“功能”简直是愚蠢的。