前些天,同事给我抱怨,公司的GPO强制更改了笔记本的IE代理服务器,在办公室还好,一回家就上不了网了,必须手动更改代理设置,真是麻烦。我想了想,proxy.pac自动代理文件应该可以解决这个问题,于是想到就做。

Proxy.pac文件的本质是javascript的一个函数,通过设定各种条件(域名,IP等等),从而让浏览器加载的时候自动去寻找对应的代理服务器。比如说

function FindProxyForURL(url, host) {

if(isInNet(myIpAddress(), "10.71.80.0", "255.255.255.0")){

return"PROXY 112.186.227.85:8080";

}

return"DIRECT";

}

当浏览器加载这个proxy.pac文件之后,就会自动比较自己的IP地址,如果属于10.71.80.0/24 这个范围,那么他就使用代理服务器112.186.227.85:8080,否则直接连接网络。

以IE为例,可以在Option->Connection->LAN setting 中进行设置。注意IE的格式是file://c:/proxy.pac, 而在某些浏览器里面需要改成file:///c:/proxy.pac

Proxy.pac文件写好以后,就需要配置在一个共享的服务器上以供下载。我把他放在文件服务器fileserver的一个共享文件夹中,我的思路是域用户登录客户机时,自动下载proxy.pac到本地文件夹中,同时通过配置GPO中的IE选项让IE绑定该文件。

我找了一个现成的vb脚本下载,稍加改动路径以便满足自己的需要。同时因为我要把文件拷贝到C:\WINDOWS\system32\drivers\etc\,默认普通用户是没有权限访问的,我还必须更改这个文件夹的权限。

Copy.vbs

Option Explicit

Dim WshShell

Dim fso

Dim USERPROFILE

Dim srcPath

Dim tgtPath

Dim computername

On Error Resume Next

Set WshShell =WScript.CreateObject("Wscript.Shell")

Set fso =WScript.CreateObject("Scripting.FilesystemObject")

USERPROFILE =WshShell.ExpandEnvironmentStrings("%USERPROFILE%")

'Set wshShell = WScript.CreateObject("WScript.Shell" )

'computername= wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%" )

'WScript.Echo "Computer Name: " & computername

srcPath = "\\fileserver\it\proxy\proxy.pac"

tgtPath =  "C:\WINDOWS\system32\drivers\etc\proxy.pac"

If Not fso.FileExists(tgtPath) Then

fso.CopyFile srcPath, tgtPath, True

'wscript.echo "Copy to "+tgtPath

ElseIf fso.FileExists(srcPath) Then

ReplaceIfNewer srcPath, tgtPath

End If

Sub ReplaceIfNewer(strSourceFile, strTargetFile)

Const OVERWRITE_EXISTING = True

Dim objFso

Dim objTargetFile

Dim dtmTargetDate

Dim objSourceFile

Dim dtmSourceDate

Set objFso =WScript.CreateObject("Scripting.FileSystemObject")

Set objTargetFile = objFso.GetFile(strTargetFile)

dtmTargetDate = objTargetFile.DateLastModified

Set objSourceFile = objFso.GetFile(strSourceFile)

dtmSourceDate = objSourceFile.DateLastModified

If (dtmTargetDate < dtmSourceDate) Then

objFso.CopyFile objSourceFile.Path,objTargetFile.Path,OVERWRITE_EXISTING

End If

Set objFso = Nothing

End Sub

最后是GPO配置结果

一个是针对文件夹权限的,需要在用户电脑的OU配置

一个是用户的登录脚本,比较更新时间下载最新版本的proxy.pac,同时绑定IE

经测试,在我的TMG代理服务器上能够成功检测到连接的客户session。客户机访问My IP显示的也是代理服务器的公网地址。Done!

本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1228975,如需转载请自行联系原作者

如何通过组策略配置proxy.pac相关推荐

  1. 使用组策略配置Windows 7的高级防火墙

    示例:使用组策略配置Windows 7的高级防火墙 微软河北技术支持中心的培训部门的员工不允许访问FTP站点,其他出站的流量允许.现在你需要使用组策略中配置培训部门的计算机的高级防火墙,实现出站流量的 ...

  2. 组策略配置客户端计算机使用WSUS服务器进行更新

    本文出自 "叶俊生" 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814 当WSUS服务器安装好以后,你还需要配置客 ...

  3. Windows Server 2012 R2 WSUS-5:组策略配置自动更新

    Windows Server 2012 R2 WSUS-5:组策略配置自动更新 https://blog.51cto.com/543925535/1406625 如果公司具备域环境的话,我们可以根据不 ...

  4. 如何在 Windows 10 上安装和配置 SNMP 服务并通过组策略配置 SNMP 设置

    简单网络管理协议或 SNMP用于企业网络上的监控.事件通知和网络设备管理.该协议由一组网络管理标准组成,包括应用层协议.数据库模式和一组数据对象.SNMP 可以从任何网络设备接收各种类型的信息(正常运 ...

  5. Chome和Edge通过组策略配置IE模式和总是允许Flash(官方方案)

    文章目录 前言 一.准备 二.配置 1.安装浏览器 2.导入政策模板 3.配置组策略 配置IE模式 方法1:直接添加 方法2:使用xml文件(推荐) 配置Flash 三.政策模板参考 四.参考资料 前 ...

  6. 如何在域环境中利用组策略配置墙纸?

    利用组策略配置墙纸 创建共享文件夹 创建组策略 链接 GPO 在域环境中,体现企业文化也好,让用户拥有一样的体验也罢,我们可以利用组策略为域中所有的用户配置一致的墙纸,具体步骤如下: 创建共享文件夹 ...

  7. XenApp_XenDesktop_7.6实战篇之十二:组策略配置

    在XenDesktop整个部署过程中,我们需要将ctxadmin加入到DDC.License Server等服务器的本地管理员组中.包括后期的桌面和应用程序交付时,ctxadmin必须具备Window ...

  8. 谷歌浏览器插件被禁用 浏览器组策略配置

    Chrome.adm是Chrome浏览器组策略模版插件,通过安装此插件可以在Windows系统中对Chrome的一些功能进行更加自由化的配置. Chrome.adm文件安装方法: 1.首先下载[Chr ...

  9. Horizon Cloud Service 云桌面水印组策略配置

    前言 有些企业出于安全考虑,禁止员工截屏或拍照传播桌面内内容,故在桌面顶层配置水印,同时起到安全提醒的作用.之前vmware 有一款水印的软件,目前随版本升级,组策略GPO里内置了水印的策略,下面我们 ...

最新文章

  1. 使用Python,OpenCV转换颜色空间,追踪对象的轨迹
  2. java frame paint_一个简单的java frame画图(paint)问题
  3. Safari回传值给应用程序
  4. retina 负样本回归增强loss
  5. 转)使用C/C++扩展Python
  6. VTK:图片之ImageAccumulateGreyscale
  7. 正则表达式 非捕获性分组
  8. python求n的阶乘_python求n的阶乘
  9. SQL点滴26—常见T-SQL面试解析
  10. shell脚本学习(一):shell脚本开发的基本规范和习惯
  11. Android多媒体开发-- android中OpenMax的实现整体框架
  12. 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI
  13. python是用来初始化_python的初始化运行了哪些?
  14. 启动linux的rpc服务的命令
  15. 被吹的神乎其神的Python到底都能干什么
  16. 禹洲:我们这一代人的困惑
  17. cmd命令不识别exp_GRAT2:一款功能强大的命令amp;控制(C2)工具
  18. 网络管理中的安全保障
  19. u-boot之添加一块新板子的支持
  20. np.roll的作用

热门文章

  1. 谁能坐上云计算的第二把交椅?
  2. 在UE4中创建高斯模糊后期材质
  3. 钉钉企业内部H5应用IOS点击下载pdf附件后乱码问题
  4. 【毕业设计之python系列】基于Flask的在线学习笔记的设计与实现
  5. 如何隐藏CSDN博客文章
  6. I2S传输PCM音频数据分析总结
  7. MATLAB bwareaopen函数删除二值图像中小面积白色对象
  8. 使用快客引流脚本,你不得不知的引流脚本相关知识
  9. 苹果CEO乔布斯用人九法则:没有B计划
  10. 用html5做节日页面,如何利用H5进行节日营销