豆子昨天需要配置一个组策略在windows 8上安装tightVNC。这种配置安装程序,一般要么是直接通过GPO的software installation配置,要么是写个命令行的批处理文件,用GPO登陆脚本安装。


这次我打算用Software installation 直接安装。

首先需要下载一个Orca的MSI文件编辑器,因为手动安装的话最后需要设置2个密码,我们需要把必要的改动生成一个mst文件。


下载最新的tightVNC 安装文件, 用 Orca打开,如下所示。

GPO 安装 tightVNC 并检测安装结果_第1张图片


点击 Transform -> New Transform


然后修改下面的两个属性,输入预设的密码


GPO 安装 tightVNC 并检测安装结果_第2张图片


然后点击 Transform -> Generate Transform, 保存为对应的mst 文件。


wKioL1WlvEHRHeQKAABsLEyziuM159.jpg


然后创建一个共享文件,把msi和mst文件都放进去,修改共享属性,确认计算机可以访问!


GPO 安装 tightVNC 并检测安装结果_第3张图片


然后创建一个新的GPO


Computer Configuration -> Policies -> Software settings-> New Package


选择msi文件,方式选择 Advanced, 否则无法修改modification

GPO 安装 tightVNC 并检测安装结果_第4张图片


然后在Modification里面选择之前生成的mst文件。

GPO 安装 tightVNC 并检测安装结果_第5张图片


理论上,现在就完事了,计算机重启之后应该就能自动安装。


但是事实上,很多时候,包括软件安装,网络磁盘映射等等貌似配置正确,但是就是不工作。很重要的一个缘故就是windows 的默认登陆方式是所谓的“快速登陆”,计算机启动或者用户登录的时候,网络连接不一定是完成了的,很多组策略其实是登陆之后异步更新的。这导致一些开机脚本异常,因为他们自动执行的时候网络根本还没接通嘛!


因此 我们还需要修改一条策略 Computer Configuration ->Policies -> Administrative Template -> System -> Logon  强制计算机等待网络接通之后才可以登陆启动;坏处自然是登陆时间变长,好处则是确保GPO更新

GPO 安装 tightVNC 并检测安装结果_第6张图片


最后在客户机上执行 gpupdate /force之后重启, tightvnc已经成功安装了。


如果为了确保所以的机器都成功安装了,豆子还用powershell写了一个小程序进行判断,可以参考

http://beanxyz.blog.51cto.com/5570417/1695998