轻松运维之软件安装自动化
时间:2010-09-12 来源:sr2009
一.前言
对于IT运维人员来说,软件的安装是日常工作中必不可少一项内容,又是很枯燥乏味的一个事情,尤其是在用户数量众多的环境中,更是频繁,甚至成为每天工作的主要内容之一。这将花费IT人员大量的时间,也降低了工作的效率,不仅仅对网络管理员而言,对于用户来说也如此。所以,如果能把软件的安装简单化、自动化,无疑是一件非常益的事情。
AutoIt可说是为此而生,它设计的用意就是为了能够对PC进行批量处理,它可以模拟键击鼠标的点击,捕捉按键控件的ID,来实现软件的自动化安装。这使得软件的安装变成一件非常简单的事情,对于用户来说,只需要双击自动化程序,然后就可以坐等软件的安装完成,中间不需要再做任何操作,甚至一个不了解计算机的人都可以很轻松的实现一款复杂软件的安装。对于IT运维人员来说,这无疑是一件高兴的事,将把他们从软件安装的泥潭里解救出来,可以把时间安排在其他的方面,同时也意味两边工作效率的提升。
二.测试
下面我们以一款常用的客户端软件“搜狗五笔输入法”为例,讲解AuotIt的使用方法。
首先,我们需要了解其正常的安装过程
双击安装程序,出现程序安装界面,点击下一步
点同意,
这里指定程序的安装位置,我们保留默认位置不变,点下一步
点击安装,程序开始安装
文件安装完成,点击完成
接下来会要求进行搜狗的个性化设置,由于我们是批量安装,所以保持它的默认设置即可,点击取消
弹出操作确认窗口,点击确定,至此搜狗五笔安装完成。
现在我们已经清楚该软件安装的整个过程,可以开始来编写该软件的自动化安装脚本,在这个过程中我们需要用到几个命令:
Run 运行指定目录下的文件
Winwait 该命令的作用是等待指定窗口出现时,才进行下一步的操作;
Sleep 设置暂停时间,因为脚本的操作速度非常快,可能用户都还没看清楚每个界面,就开始安装,为了用户的使用体验,一般我会在出现每个界面时插入该命令,暂停一小会,让用户可看清界面,该函数的最小单位是毫秒;
controlClick 很多人在安装软件时喜欢使用send命令来发送键盘操作,但建议最好是使用controlClick来进行操作,它可模拟鼠标点击相应按键,最重要的是就算窗口没被激活也可以正常完成,而这点是send做不到的。
另外,我们还需要用到AutoIt自带的一款软件:AutoIt Window Info,它的作用是用于捕捉相应窗口的文字和控件ID。
因为在程序运行过程中,AutoIt是根据窗口的标题和文字来确定指定的窗口,从而进行winwait、winwaitactive等相应命令,像controlclick还需要用到按键ID,使用该软件可以很方便的得到这些信息。可直接复制捕捉到文本,减少我们的误操作。
下面是完整的脚本
run("D:\sogou_wubi_20.exe")
WinWait("搜狗五笔输入法 2.0正式版 安装","在开始安装之前")
sleep(700)
ControlClick("搜狗五笔输入法 2.0正式版 安装","在开始安装之前",1)
WinWait("搜狗五笔输入法 2.0正式版 安装 ","许可证协议")
Sleep(700)
ControlClick("搜狗五笔输入法 2.0正式版 安装","在开始安装之前",1)
Sleep(700)
WinWait("搜狗五笔输入法 2.0正式版 安装 ","选择安装位置")
Sleep(700)
ControlClick("搜狗五笔输入法 2.0正式版 安装 ","选择安装位置",1)
Sleep(700)
WinWait("搜狗五笔输入法 2.0正式版 安装 ","选择“开始菜单”文件夹")
Sleep(700)
ControlClick("搜狗五笔输入法 2.0正式版 安装 ","选择“开始菜单”文件夹",1)
Sleep(700)
WinWait("搜狗五笔输入法 2.0正式版 安装 ","完成")
Sleep(700)
ControlClick("搜狗五笔输入法 2.0正式版 安装 ","完成",1)
WinWait("搜狗五笔输入法 个性化设置向导","欢迎您使用搜狗五笔输入法")
Sleep(700)
ControlClick("搜狗五笔输入法 个性化设置向导","欢迎您使用搜狗五笔输入法",2)
Sleep(700)
WinWait("操作确认","确定")
Sleep(700)
ControlClick("操作确认","确定",1)
这只是非常简单的一个安装过程,但从这里我们已经可以看到AutoIT在软件安装方面具有强大的功能,通过脚本的定制,可以实现各种软件的安装,这对IT运维人员来说无疑是一个福音。