#Region ;**** 编译指令由 AutoIt3Wrapper 选项编译窗口创建 ****
#AutoIt3Wrapper_Icon=favicon.ico
#AutoIt3Wrapper_Compile_Both=y
#EndRegion ;**** 编译指令由 AutoIt3Wrapper 选项编译窗口创建 ****
; #AutoIt3Wrapper_UseX64=n
#include <Constants.au3> ; for Ping
#include <GUIConstantsEx.au3> ; for GUI
#include <IE.au3> ; for 浏览器
#include <Date.au3> ; for data ; ************** 修改版本号时,请同时修改对应网址的版本 **************
; 在 EipFunc.au3 中修改版本号
#include <SsoFunc.au3> ; 我的自定义函数 Global $logfile = 'EipRepairLog-' & @MON & '-' & @MDAY &'.txt'
FileWriteLine($logfile, @CRLF & @YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & ":" & @MIN & ":" & @SEC) ;---------日志 ; 检测操作系统位数
$myOsArch = ' [' & OsArch() & '位]'
; 用户界面初始化 -- 版本自动更新
$headlabel = "通讯测试SSO-" & versionGet()
FileWriteLine($logfile, $headlabel) ;---------日志
GUICreate($headlabel, , )
; GUISetBkColor(0xffffff)
GUISetBkColor(0x8ef5b2) $hostsbutton = GUICtrlCreateButton("打开hosts文件", , , , )
$eipbutton = GUICtrlCreateButton("打开SSO网址", , , , )
; $okbutton = GUICtrlCreateButton("确定", , , , ) ; 检测是否内网
$isInNetStr = isInNetOrNot()
; 输出您的IP
$iplabel = "您好," & @UserName & "! 您的IP是:" & @IPAddress1 & " " & $isInNetStr & $myOsArch
FileWriteLine($logfile, $iplabel) ;---------日志
GUICtrlCreateLabel($iplabel, , )
GUISetState(@SW_SHOW) ; 判断是否云
$isYun = ; --CloudDesk | --NotCloud
$isYunStr = isCloudOrNot()
Global $testIP
If $isYun == Then
$testIP = 'xxx.xxx.xxx.xxx'
Else
$testIP = 'xxx.xxx.xxx.xxx'
EndIf ; ping IP 并返回
$piplabel = "测试是否能连接至 " & $testIP
FileWriteLine($logfile, $piplabel) ;---------日志
GUICtrlCreateLabel($piplabel, , )
Sleep()
$mypiplabel = myping($testIP)
FileWriteLine($logfile, $mypiplabel) ;---------日志
GUICtrlCreateLabel($mypiplabel, , )
Sleep() ; 检测eip.***.com是否xxx.xxx.xxx.xxx
$tiplabel = "开始检测eip.***.com 是否 " & $testIP
FileWriteLine($logfile, $tiplabel) ;---------日志
GUICtrlCreateLabel($tiplabel, , )
Sleep()
$netEqualIp = tcpEqualIp("eip.***.com", $testIP); 返回 表示正常
Global $myHostFile = @SystemDir & "\drivers\etc\hosts"
If $netEqualIp == Then
$tcplabel = "eip.***.com 的IP地址 [ 是 ] " & $testIP
FileWriteLine($logfile, $tcplabel) ;---------日志
GUICtrlCreateLabel($tcplabel, , )
Else
$tcplabel = "[ 不是 ] " & $testIP & " ,而是 " & $netEqualIp
FileWriteLine($logfile, $tcplabel) ;---------日志
GUICtrlCreateLabel($tcplabel, , )
; 写hosts文件
GUICtrlCreateLabel("开始写入hosts文件", , )
FileWriteLine($logfile, "开始写入hosts文件-" & $myHostFile) ;---------日志
; 对于64位电脑是System32文件夹路径, 对于32位是SystemWoW64路径
; GUICtrlCreateLabel($myHostFile, , ) ; test for url
; 判断hosts文件是否存在
If FileExists($myHostFile) Then
FileWriteLine($logfile, "hosts文件已存在") ;---------日志
GUICtrlCreateLabel("hosts文件已存在", , )
$inhosts = strInHosts($myHostFile, $testIP, 'eip.***.com')
; 海外要添加sso.***.com 至hosts文件中
$inhosts1 = strInHosts($myHostFile, 'xxx.xxx.xxx.xxx', 'sso.***.com')
FileWriteLine($logfile, $inhosts & ' eip') ;---------日志
FileWriteLine($logfile, $inhosts1 & ' sso') ;---------日志
GUICtrlCreateLabel($inhosts, , )
Else
FileWriteLine($logfile, "hosts文件不存在,开始新建并写入hosts文件") ;---------日志
GUICtrlCreateLabel("hosts文件不存在,开始新建并写入hosts文件", , )
writeHosts($myHostFile)
FileWriteLine($logfile, "写入hosts文件完成") ;---------日志
GUICtrlCreateLabel("写入hosts文件完成", , )
EndIf
EndIf
Sleep() ; writeHosts('hosts') ; 测试写入hosts文件 While
$msg = GUIGetMsg() Select
Case $msg = $eipbutton
$oIE = _IECreate("http://sso.***.com", , , ); 打开网页
FileWriteLine($logfile, "打开EIP-" & $oIE) ;---------日志
; ExitLoop
Case $msg = $hostsbutton
$openhosts = Run(@WindowsDir & "\Notepad.exe " & ' ' & @SystemDir & "\drivers\etc\hosts")
FileWriteLine($logfile, "打开hosts文件-" & $openhosts) ;---------日志
Case $msg = $GUI_EVENT_CLOSE
; 关闭对话框事件
FileWriteLine($logfile, "关闭退出" & @CRLF) ;---------日志
FileClose($logfile)
ExitLoop
EndSelect
WEnd

基于AutoIt3的运维工具的更多相关文章

  1. 基于canvas自动化运维工具

    首先我们的工具绝对顶尖,绝对绚丽.如果有需要代码,可以加我微信索取.18500591275 前几天有个客户找到我,问我这个能不能做,我看自己也干了10年前端了,实在做不了,后来人家说给你10000你能 ...

  2. Ansible自动化运维工具-上

    [Ansible特点] 1)Ansible与saltstack均是基于Python语言开发的 2)安装使用简单,基于不同插件和模块实现各种软件,平台,版本的管理以及支持虚拟容器多层级的部署 3)不需要 ...

  3. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  4. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  5. 自动化运维工具之ansible

    自动化运维工具之ansible   一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

  6. 自动化运维工具Ansible详细部署

    本文来源:http://sofar.blog.51cto.com/353572/1579894/ 前言 一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方 ...

  7. Linux实战教学笔记25:自动化运维工具之ansible (一)

    第二十五节 ansible之文件的批量分发 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转 ...

  8. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

  9. 企业级自动化运维工具应用实战-ansible

    背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...

随机推荐

  1. 加快liferay 7的启动速度

    在启动Liferay的过程中,你会发现在某个时刻,会特别慢,停留了很久,它是停在validate LPKGs,检验LPKG files是否被篡改,这个过程在开发的过程中十分令人头疼. 现在Lifera ...

  2. CNCF 旗下首个为中国开发者量身打造的云原生课程,《CNCF x Alibaba 云原生技术公开课》即将上线

    伴随着以 Kubernetes 为代表的云原生技术体系的日益成熟以及 CNCF 生态的逐渐壮大,“云原生”已然成为了未来云计算时代里一个当仁不让的关键词.但是,到底什么是“云原生”?云原生与 CNCF ...

  3. 超实用的Java数组技巧攻略分享!

    本文分享了关于Java数组最顶级的11大方法,帮助你解决工作流程问题,无论是运用在团队环境或是在私人项目中,你都可以直接拿来用! 声明一个数组(Declare an array) String[] a ...

  4. 2018-11-30-WPF-解决-ListView-的滚动条不显示

    title author date CreateTime categories WPF 解决 ListView 的滚动条不显示 lindexi 2018-11-30 19:24:57 +0800 20 ...

  5. python 子类中定义init方法

  6. 未能加载文件或程序集 XXX 或它的一个依赖项。参数错误

    引发原因 :电脑突然蓝屏重启 解决方法:删除 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 下的所有文件 ...

  7. python 缓冲区 subprocess 黏包 黏包解决方案

    一.缓冲区 二.两种黏包现象 两种黏包现象: 1 连续的小包可能会被优化算法给组合到一起进行发送 黏包现象1客户端 import socket BUFSIZE = 1024 ip_prort = (' ...

  8. s3c6410时钟初始化

        今天自己写bootloader做时钟初始化时遇到的问题,特记录下来.为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手冊.也希望看了本篇文章的同志多多參看数据手冊才干理解的更加透 ...

  9. HZOJ 连连看

    考场几乎想到了正解,然而我也不知道当时在想啥,在没有证伪的情况下只是觉得无法实现就否了…… 最后打的好象是达哥说的O(4*15*n*m),复杂度不是很会证反正T成了暴力…… 题解: 对于测试点8,9, ...

  10. ROS 用 roboware实现节点信息发送和接收

    在ros下实现节点编程,实现一个节点发送消息,另一个节点接收.实现方式有多种,可以直接在命令窗口创建工作空间包以及节点,用catkin_make进行编译,添加.bash路径,然后执行rosrun  p ...