您现在的位置是:首页 > IT基础架构 > 网络与安全 >
用AutoIT自动化重复性管理工作
2008-10-07 21:49:00作者:王冠雄 来源:
摘要AutoIt最早是为台式机进行自动批处理而设计的,用来对数千台计算机进行同样的配置,不过随着v3版本的到来,它已经很适合用于家庭自动化和编写,用以完成重复性任务的脚本。...
朋友小孙打来电话求救。原来他们单位的DHCP服务器中了病毒,需要重新安装,但有一些MAC地址与IP地址是绑定的,重新安装完DHCP服务器后还需要重新绑定MAC地址,工作量太大。问我有没有比这简单的办法。
小孙所在单位的网络是通过ISA连接到Internet的,在ISA服务器上安装了DHCP服务,为所属的客户端计算机分配IP地址。网络中大部分计算机都是笔记本电脑,移动性比较强,如果笔记本电脑使用固定IP,就会带来很多麻烦——笔记本电脑的使用者每移动到一个新的网络环境中,就需要手动改变网络参数。还有网络中有一些特殊的IP地址是需要分配给特定的计算机的,这样即方便管理也可以防止病毒的攻击。
批处理重复性工作
其实小孙遇到的问题可以通过使用AutoIT编写一个脚本来解决。AutoIT是一款具有自动化功能的控制软件,它可以根据事先编写好的脚本完成事先指定的工作。AutoIT虽然是一种脚本控制程序,也需要编程,但AutoIT的脚本比Windows脚本要简单得多——它不需要记忆众多的参数,也不需要学习复杂的语法。值得一提的是,AutoIT的应用目标非常明确:凡是在计算机上可以由人工手动完成的一些固定的操作,尤其是经常重复的一些操作,都可以通过编写AutoIT脚本自动来完成。
AutoIt是一款免费软件,它可以用来编写具有BASIC语言风格的脚本程序,它被设计用来在Windows GUI(Windows图形界面)中进行自动化操作。通过AutoIT可以模拟键盘按键动作(例如,按下某个键、同时按下某几个键、按下某个键几次)、鼠标移动、鼠标按键和Windows 窗口或控件操作等以实现自动化操作。这是其他语言所无法做到,或者说尚无可靠的方法来实现的。
AutoIt最早是为台式机进行自动批处理而设计的,用来对数千台计算机进行同样的配置,不过随着v3版本的到来,它已经很适合用于家庭自动化和编写,用以完成重复性任务的脚本。
AutoIt 可以执行以下几个功能:
·执行Windows及DOS下的可执行文件;
· 模拟击键动作(支持大多数键盘布局);
· 模拟鼠标移动和单击动作;
·对窗口进行移动、调整大小等操作;
·直接与窗口的控件交互,如设置或获取文字、移动、关闭窗口等;
· 配合剪贴板进行剪切的复制、粘贴文本操作;
·对注册表进行操作。
AutoIT最新版本已经达到3.2。用户可以从其网方网站下载最新的版本,也可以从AutoIT中文论坛下载其汉化版本。
AutoIt运行时读取一个指定的脚本文件。这个脚本文件使得AutoIt完成一系列操作,包括:
·执行Windows应用程序、DOS命令等;
·发送键盘和鼠标操作;
·窗口操作,如最小化、隐藏、恢复、等待、激活等;
·剪贴板操作。
AutoIt是一款共享软件,在使用上没有任何限制。AutoIT按照人们事先制定的脚本来实现相应的功能,这类似于DOS中的批处理、Word中的宏。许多情况下都可以通过AutoIT来提高IT效率。
比如说,人们上班后的第一件事就是打开IE浏览器,登录邮箱检查新的邮件。登录邮箱时,需要输入邮件服务器地址、用户及密码等信息,这些都可以通过AutoIT来完成。
再比如说,在软件的安装过程中有些软件需要接受许可协议、输入产品安装序列号,安装完成后还需要打上最新的补丁,以及做一些必要的配置等操作也可以通过AutoIT来完成。
对于网络管理员来说,每次安装完操作系统后,都需要进行一些重复的操作。比如说,当Windows Server 2003安装完成后,由于其安全性问题,在每次开机时都会弹出“管理您的服务器”页面,需要打开组策略,选择“禁用”这一项也可以通过AutoIT来完成。
以上三种情况的操作都可以制作相应的脚本,并且把脚本编译成可执行程序,运行编辑后的可执行程序,而且还可以在其他类似的计算机上进行相应的操作。
四步完成一组操作
因此,小孙遇到的问题也可以通过编写一个AutoIt脚本来完成。这个脚本的编写思路主要如下:
第一步:获取MAC地址与IP地址对照表
登录网络中心的三层交换机(本文以华为的3526为例进行说明),使用display arp命令获取网络中的MAC地址表。然后将MAC地址表粘贴到Word文档中,使用查找/替换功能替换掉MAC地址中间的“-”,将IP地址与MAC地址中间的空格替换为回车,然后将 MAC地址粘贴到地址对照表mac-addr.txt文件中。地址对照表mac-addr.txt的内容如下:
172.20.1.1
00e04c4616a5
172.20.1.111
00016c2defac
172.20.1.99
00020c77209f
172.20.1.211
00020c7720c7
172.20.1.215
00020c7720a2
第二步:编写脚本配置文件
新建一个脚本配置文件mac.txt,用来保存脚本的配置信息。
配置文件max.txt中输入如下内容:
输入前面作用域已经创建的保留个数
5
输入在第几个作用域新建保留
2
输入新建保留名称的前一部分
no.
输入新建保留描述信息的前一部分
this is no.
输入新建保留的个数
5
这个配置文件中保存着自动绑定MAC地址AutotIT脚本的一些配置信息。
第三步:编写脚本
下面就可以开始编写自动绑定MAC地址的AutoIT脚本了。新建一个max-auto.au3文件,通过同时按下WIN+R键打开“运行”对话框,在此打开AuotIT的窗口信息工具捕获此页的信息,以便做出正解的响应。
在“运行”对话框中输入:“%SystemRoot%system32dhcpmgmt.msc /s”命令,按下回车键打开“DHCP”配置窗口。
这几步操作的AutoIT代码如下:
Send("#r");
打开“运行”对话框
WinWaitActive(“运行","")
inActive("运行","")
sleep(1000)
Send("%SystemRoot%system32dhcpmgmt.msc /s")
在“运行”对话框中输入 %SystemRoot%system32dhcpmgmt.msc /s命令
Send("{enter}")
下面脚本编写过程与此过程相似,每当打开一个新的窗口时,都需要使用AutoIt的窗口信息工具捕获此页的信息,以便做出正确的响应。
然后,使用send("")命令发送键盘操作及输入相应的命令行。
第四步:编译脚本
此时编写的脚本必须要在AutoIT环境中运行。
如果要想让编写的脚本脱离AutoIT环境使用,可以通过右键单击文件max-auto.au3在弹出的快捷菜单中选择“Compile Script”命令编译脚本,AutoIT编译程序将该脚本编译成exe文件,如图2所示。经过编译后的脚本,就可以脱离AutoIT环境独立运行了。
小孙使用这个AutoIT脚本,重新安装完DHCP服务后,在很短的时间内就完成了MAC地址的绑定。
在问题得到解决后,小孙打来电话兴奋地对我说:“AutoIT脚本可真算得上是网络管理员的一个好帮手啊!”
(本文不涉密)
责任编辑: