根据计算机名称绕过或禁用代理

根据计算机名称绕过或禁用代理

我们正在尝试使用 MDT2010 和 MDT2012 部署一批新的 Windows 7(和一些旧的 XP)机器。

由于 IE 设置为“自动检测代理设置”,因此它会从 DHCP 服务器中定义的 proxy.pac/wpad.dat 获取设置。

问题在于,在部署期间,机器不在域中,因此无法对 WebMarshal 服务器进行身份验证,所以所有基于互联网的操作都会失败,除非有人“亲自动手”填写身份验证对话框。

我该如何做以下操作之一?

  1. 在应用程序安装开始之前禁用 XP 的自动代理配置
  2. 让 proxy.pac/wpad.dat 文件根据机器上可识别的内容绕过代理(主机名可以,但我记得 PAC 无法使用该主机名,但我可以从 MDT 设置的任何其他变量也可以)
  3. 配置 WebMarshal 以绕过特定计算机名称的身份验证

答案1

这是我使用的(我找到的 vbs):

DIM sKey,sValue,binaryVal
Dim oReg
Dim status
Set oReg=GetObject( "winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")    'For registry operations througout

Const HKCU=&H80000001

status = "off"
sKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"
sValue = "DefaultConnectionSettings"

oReg.GetBinaryValue HKCU, sKey, sValue, binaryVal

select case lcase(status)
  case "on"    binaryVal(8) = binaryVal(8) OR 8        'Force Autodetect on
  case "off"    binaryVal(8) = binaryVal(8) XOR 8        'Force Autodetect off
  case "show"    wscript.echo "Automatically detect is set to " & ((binaryVal(8) and 8) = 8)
  case else    wscript.echo "Invalid parameter - IEautomaticallydetect  on, off or show"
end select

if lcase(status)="on" or lcase(status)="off" then oReg.SetBinaryValue HKCU, sKey, sValue, binaryVal

对我来说运行完美,我从 .cmd 调用它

答案2

假设您有无需代理的出站互联网访问,那么您可以禁用“自动检测设置”并复制以下注册表项:

默认连接设置

HKCU\软件\微软\Windows\当前版本\Internet 设置\连接\

然后根据生产需要进行配置并进行另一次导出。然后您可以在适当的时候使用脚本进行切换。

请记住,大多数与代理相关的配置都存储在各种键中

HKCU\软件\微软\Windows\当前版本\Internet 设置\

这包括实际代理本身,以及例外情况等

答案3

另一个选择是,假设 webmarshal 支持它,则不对部署所需的域进行身份验证,这些域应该足够少,不会造成安全问题。

相关内容