利用AutoIT自动化重复性管理工作

网络 自动化
朋友小孙打来电话求救。原来他们单位的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%\system32\dhcpmgmt.msc /s”命令,按下回车键打开“DHCP”配置窗口。

这几步操作的AutoIT代码如下:

Send("#r");

打开“运行”对话框

WinWaitActive(“运行","")

inActive("运行","")

sleep(1000)

Send("%SystemRoot%\system32\dhcpmgmt.msc /s")

在“运行”对话框中输入 %SystemRoot%\system32\dhcpmgmt.msc /s命令

Send("{enter}")

下面脚本编写过程与此过程相似,每当打开一个新的窗口时,都需要使用AutoIt的窗口信息工具捕获此页的信息,以便做出正确的响应。

然后,使用send("")命令发送键盘操作及输入相应的命令行。

第四步:编译脚本

此时编写的脚本必须要在AutoIT环境中运行。

如果要想让编写的脚本脱离AutoIT环境使用,可以通过右键单击文件max-auto.au3在弹出的快捷菜单中选择“Compile Script”命令编译脚本,AutoIT编译程序将该脚本编译成exe文件,如图2所示。经过编译后的脚本,就可以脱离AutoIT环境独立运行了。

小孙使用这个AutoIT脚本,重新安装完DHCP服务后,在很短的时间内就完成了MAC地址的绑定。在问题得到解决后,小孙打来电话兴奋地对我说:“AutoIT脚本可真算得上是网络管理员的一个好帮手啊!”。

【编辑推荐】

  1. AutoIt教程资源及autoit学习方法
  2. AutoIt Windows的自动化脚本
责任编辑:张恬恬 来源: CIO360
相关推荐

2023-09-21 09:28:23

编写代码

2023-03-29 14:02:24

RPA自动化

2009-02-05 19:03:05

动态资源分配虚拟机迁移Novell

2023-04-27 07:57:52

AutoIt自动化工具

2019-02-11 13:55:03

Linux重复性压迫损伤命令

2022-08-18 15:03:17

项目管理供应链IT

2012-12-27 16:21:11

2017-12-17 21:58:18

2011-09-01 10:42:14

Objective-CCocoa内存管理

2023-06-20 10:11:25

自动化人工智能

2009-04-16 17:14:52

2020-05-22 11:59:48

漏洞管理新基建

2013-08-14 16:06:25

IT运维虚拟化

2016-12-02 15:53:08

自动化设备安装运维

2012-10-22 14:54:48

2022-03-24 08:57:30

Linux BashShell代码

2011-06-20 06:14:15

ibmdwLinux

2016-07-15 10:44:56

座席 管理

2009-01-15 09:53:00

远程管理局域网

2021-05-27 08:00:00

自动化机器人工具
点赞
收藏

51CTO技术栈公众号