基于AutoIt3的运维工具
Posted mjy2wxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AutoIt3的运维工具相关的知识,希望对你有一定的参考价值。
#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, 400, 280) ; GUISetBkColor(0xffffff) GUISetBkColor(0x8ef5b2) $hostsbutton = GUICtrlCreateButton("打开hosts文件", 30, 200, 100, 30) $eipbutton = GUICtrlCreateButton("打开SSO网址", 160, 200, 100, 30) ; $okbutton = GUICtrlCreateButton("确定", 290, 200, 70, 30) ; 检测是否内网 $isInNetStr = isInNetOrNot() ; 输出您的IP $iplabel = "您好," & @UserName & "! 您的IP是:" & @IPAddress1 & " " & $isInNetStr & $myOsArch FileWriteLine($logfile, $iplabel) ;---------日志 GUICtrlCreateLabel($iplabel, 30, 250) GUISetState(@SW_SHOW) ; 判断是否云桌面用户,以切换eip网址对应的IP ; 检测是否云桌面 $isYun = 1 ; 0--CloudDesk | 1--NotCloud $isYunStr = isCloudOrNot() Global $testIP If $isYun == 1 Then $testIP = ‘192.168.2.172‘ Else $testIP = ‘172.30.17.248‘ EndIf ; ping IP 并返回 $piplabel = "测试是否能连接至 " & $testIP FileWriteLine($logfile, $piplabel) ;---------日志 GUICtrlCreateLabel($piplabel, 30, 20) Sleep(100) $mypiplabel = myping($testIP) FileWriteLine($logfile, $mypiplabel) ;---------日志 GUICtrlCreateLabel($mypiplabel, 30, 40) Sleep(100) ; 检测eip.hxgroup.com是否192.168.2.172 $tiplabel = "开始检测eip.hxgroup.com 是否 " & $testIP FileWriteLine($logfile, $tiplabel) ;---------日志 GUICtrlCreateLabel($tiplabel, 30, 70) Sleep(100) $netEqualIp = tcpEqualIp("eip.hxgroup.com", $testIP); 返回 1 表示正常 Global $myHostFile = @SystemDir & "\drivers\etc\hosts" If $netEqualIp == 1 Then $tcplabel = "eip.hxgroup.com 的IP地址 [ 是 ] " & $testIP FileWriteLine($logfile, $tcplabel) ;---------日志 GUICtrlCreateLabel($tcplabel, 30, 90) Else $tcplabel = "[ 不是 ] " & $testIP & " ,而是 " & $netEqualIp FileWriteLine($logfile, $tcplabel) ;---------日志 GUICtrlCreateLabel($tcplabel, 30, 90) ; 写hosts文件 GUICtrlCreateLabel("开始写入hosts文件", 30, 120) FileWriteLine($logfile, "开始写入hosts文件-" & $myHostFile) ;---------日志 ; 对于64位电脑是System32文件夹路径, 对于32位是SystemWoW64路径 ; GUICtrlCreateLabel($myHostFile, 30, 250) ; test for url ; 判断hosts文件是否存在 If FileExists($myHostFile) Then FileWriteLine($logfile, "hosts文件已存在") ;---------日志 GUICtrlCreateLabel("hosts文件已存在", 30, 140) $inhosts = strInHosts($myHostFile, $testIP, ‘eip.hxgroup.com‘) ; 海外要添加sso.hxgroup.com 至hosts文件中 $inhosts1 = strInHosts($myHostFile, ‘172.16.10.13‘, ‘sso.hxgroup.com‘) FileWriteLine($logfile, $inhosts & ‘ eip‘) ;---------日志 FileWriteLine($logfile, $inhosts1 & ‘ sso‘) ;---------日志 GUICtrlCreateLabel($inhosts, 30, 160) Else FileWriteLine($logfile, "hosts文件不存在,开始新建并写入hosts文件") ;---------日志 GUICtrlCreateLabel("hosts文件不存在,开始新建并写入hosts文件", 30, 140) writeHosts($myHostFile) FileWriteLine($logfile, "写入hosts文件完成") ;---------日志 GUICtrlCreateLabel("写入hosts文件完成", 30, 160) EndIf EndIf Sleep(100) ; writeHosts(‘hosts‘) ; 测试写入hosts文件 While 1 $msg = GUIGetMsg() Select Case $msg = $eipbutton $oIE = _IECreate("http://sso.hxgroup.com", 0, 1, 0); 打开网页 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的运维工具的主要内容,如果未能解决你的问题,请参考以下文章