2024年3月30日发(作者:)

域环境推送exe程序并自动安装教程

一、思路

微软可以通过组策略对域中的计算机实现对MSI格式的软件程序实现派发后自动运行,但对于.exe格

式的软件无法实现指派。

对于此问题,可以通过组策略设置运行脚本,受控主机

1

通过脚本实现下载程序包并自动运行exe格式

的软件程序。脚本分为启动和关机脚本,分别需要实现的功能包括:

启动脚本:

1、 判断受控主机是否运行了指定进程

2、 如果运行指定进程,则直接退出

3、 如果未运行指定进程,则从网络共享文件夹拷贝软件安装包到受控主机的本地目录

4、 在本地目录运行exe程序

5、 执行后退出脚本

关机脚本:

1、 判断受控主机是否存在安装时的临时文件

2、 如果不存在,则退出

3、 如果存在,则删除该临时文件夹

4、 执行删除后退出

1

受控主机是指在域中的计算机

二、脚本

以下是详细脚本,“#”后是注释说明

开机脚本:

@echo off #本行包括以下各行,隐藏命令输入,只显示命令执行结果

#检查进程中是否存在进程,如果存在则errorlevel的tasklist /nh|find /i ""

返回值为0

if %errorlevel%==0 ( exit ) else (

否则则执行以下命令

md c:lansecs_temp

#如果errorlevel的值为0,则退出脚本(即本机已经安装该程序)。

#在本地创建临时文件夹

#间隔时间2秒。该命令用于设置时间间隔,无其他意义,下ping -n 2 127.1>c:lansecs_tempnull

echo内网安全软件更新维护中……

echo 请勿关闭此对话框。

#显示信息,下同

ping -n 2 127.1>c:lansecs_tempnull

net use 192.168.10.35share password /user:192.168.10.19administrator #打开网络共享连

接,其中192.168.10.35share为网络共享的文件夹,administrator为共享用户名,password为密码。

192.168.10.19该地址在此脚本中无意义,用于格式要求

ping -n 4 127.1>c:lansecs_tempnull

copy 192.168.10.35shareEDPInstall_jingmo c:lansecs_temp >c:lansecs_tempnull

装包到本地文件夹

ping -n 4 127.1>c:lansecs_tempnull

echo 请耐心等待,更新时间约2分钟……

start c:lansecs_

ping -n 2 127.1>c:lansecs_tempnull

net use 192.168.10.35 /delete #断开网络共享文件夹的连接。有的服务器会有连接数限制,此命

#执行程序

#拷贝静默安

令是为了避免过多的连接导致共享目录无法访问的问题

ping -n 50 127.1>c:lansecs_tempnull

exit #退出

) #if else语句的格式要求

关机脚本:

if exist C:lansecs_ ( rd /s /Q C:lansecs_temp ) else ( goto exit ) #判断是否存在

C:lansecs_,如果存在则执行删除C:lansecs_temp文件夹。如果不存在

C:lansecs_,则退出。

三、域控步骤

可以针对站点或者OU设置组策略。因为整个站点中可能包含敏感部门,建议是按照OU逐个设置组策

略,以下是以单个OU为例。

1、点击右键,属性,找到“组策略”选项卡

2、点击“新建”,设置名称为“lansecs”,然后点击“编辑”,进入组策略编辑界面

3、逐个展开“计算机配置”>”windows设置”>”脚本”

4、双击右侧的“启动”,设置开机启动脚本

5、 点击“添加”,然后点击“浏览”

6、 将脚本通过复制、粘贴拷贝至其中

7、 选中后选择“打开”,然后点击“确定”,完成启动脚本的设置

8、 同样方法,将加入至关机脚本中

9、 完成启动和关机脚本添加后,脚本设置完成。

10、 在关闭相关的窗口后,下一步,在CMD中,运行gpupdate /force 刷新组策略。默认域控的组

策略更新时间是5分钟。

至此,域控上的操作完成。下一步,受控终端在收到组策略后,将在系统启动和关机时候执行脚本(受

控主机组策略更新时间是90分钟,可以通过gpupdate /force立即刷新)

四、实施、排错

1、 建立共享文件夹,并将包括.exe程序的安装包拷贝共享文件夹中。然后测试共享文件夹通过用户名、

密码能否正常访问及拷贝数据(注意共享文件夹名称及用户名、密码要与脚本中对应)

2、 本地运行脚本,测试能否自动执行.exe程序。如果本地存在指定进程,测试能否自动退出脚本

3、 运行关机脚本,测试能否将安装时建立的临时文件夹删除

4、 在域控中,对OU设置组策略,加入脚本

5、 域控上,使用gpupdate /force刷新组策略

6、 在受控主机上,使用,查看是否接收到了“脚本(启动/关机)”

7、 重启受控主机,测试能否通过组策略自动执行.exe程序

五、小结

此脚本在实施环境中测试成功,并成功部署。但其中一些信息可能不准确,例如组策略的默认更新时

间等。

最后,欢迎沟通指正!

峰巅世界

2013.8.21