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


发布评论