非常运维

一体化终端安全管理系统自动安装脚本详解

 

作者:高玉涵

时间:2019.03.13 13:52

博客:blog.csdn.net/cg_i

演示:https://v.youku.com/v_show/id_XNDA5NzE1MDMzNg==.html?spm=a2h3j.8428770.3416059.1

我觉得,只要不投降,就是成功。

-马可《新喜剧之王》

懒人改变世界。

-佚名

头发越来越少了。

-高玉涵

前言

为什么要写此文

我所在的单位,地处豫南的一个小县城,有着32家分支机构,遍布在全县各乡镇,有些位于山区,最远的机构相距有60公里左右。近年来随着各项业务讯速发展,上线了很多信息系统软硬件设施,作为这一切背后的IT服务支撑运维人员,传统的人工运维方式,像遇到此次新系统上线,仅将应用软件,统一部署到各家机构的电脑、终端(将近有400多台设备),一个月的时间,除去安装系统,这种重复性操作,就是奔波辗转在各家机构的路上,在山区里转圈圈(情不自禁唱起来:爱的魔力转圈圈,想你想到心花努放黑夜白天...)。已经无法满足业务的发展需求,需要走流程化、标准化、自动化去构建运维体系,其中流程化与标准化是自动化的前提条件,自动化的最终目标是提高工作效率、释放人力资源、节约运营成本、提高业务服务质量等。

我是所在单位科技部门主管,属省内系统的基层科技人员,人力紧张时,身份在系统设计人员、网络管理员、运维支持、最终用户之间不停的变换。其实也只有在基层才能修炼出“十八般武艺”。机缘巧合的原因,2014年系统内,全省第一版系统定制标准,我有幸全程参与。回想当时,强制要求各厂家,开发并免费提供桌面管理系统,就是为了应对此次情况,为同行减少重复性操作,减轻工作负担,这是我的初衷。此文的意义在于,将我如何使用桌面管理系统、编写自动化系统配置、软件安装脚本,经验、思路方法做个梳理与总结,同时与大家分享。最终目的是为每个渴望实现自动化运维人员提供指导。

系统环境与需求

我所处的内网环境,大量使用WindowsXP、Windows7系统,因业务的特殊性,每次启动系统,C盘恢复到初次安装的状态(类式的特性还有很多,如禁用U盘、用户权限管理等)。

人工方式安装,重复性操作,过程繁琐枯燥,设备多工作量大,一天下来,几乎让人瘫倒,我制定了上图的表格,只为减少纰漏。急需一款“自动化”的控制程序,来完成上述指定工作。

安装包分析

如果你手头上是使用业界标准的安装包,那么你就走运了,它将提供一组丰富强大的命令参数,通过它你将可以控制安装过程的各个方面。现实是很多软件并没有遵循标准,软件安装还需要人工来完成。你也不用绝望,还是有很多技术(VBScript、AutoIT等),可以让计算机模拟“人”手动完成的一些固定操作,尤其是经常重复的一些操作。绝望的是,我手里的这个软件,安装界面采用的是非标准控件(图1-1),传统方法是获取不到控件信息,就无法用程序来操作它,模拟“人”执行安装操作。但我并没有放弃,通过展开安装包,发现了一些有用的东西(图1-2)。

(图1-1)

(图1-2)

通过研究RegClient.ini文件(图1-3),从注释中得知(厂家还算有点良心)将RegeditMode=1,ShowRegResult=0可以采用静默安装方式安装,这也为自动化安装提供了重要条件。

(图1-3)

细心的你也一定发现,采用这种安装方式,没有办法输入特定的注册信息。实践中,不输入注册信息,并不影响软件的正常使用,且软件有专属的后台管理系统,可登录到后台逐台或批量完善注册信息。期间,我也简单的研究了一下,通过逆向工程找到存放注册信息的数据文件,原想写一个根据IP地址所属机构,将特定信息写到注册文件中的程序,考虑到这是个一次性任务,部署任务有时限要求,当前,首要任务还是以部署为主,就作罢了。

编写自动化脚本

一、执行流程路(图1-4)

(图1-4)

二、脚本源码

(图1-5)

(图1-6)

inst.bat

cd\

cd c:\auto

call au.bat

Au.bat

@echo off

REM ******************************************************************************************

REM * Author: 高玉涵

REM * File: au.bat

REM * Date: 20190313

REM * Declare: 配合一体化安全系统自动化安装脚本

REM *                       1.关闭无用用户,统一修改密码;

REM *                       2.XP打永恒之蓝病毒补丁;

REM *                       3.开启远程桌面;

REM *                       4.设置虚拟内存;

REM *                       5.添加NTP时间同步服务器;

REM ******************************************************************************************

ewfmgr c: -commitandDisable

ver|findstr /r/i "[版本 5.1.*]" > NUL && GOTO WindowsXP

ver|findstr /r/i "[版本 6.1.*]" > NUL && GOTO Windows7

:WindowsXP

net user "演练环境" /active:no

net localgroup administrators "其他用户" /delete

net user "综合前端系统" /passwordchg:no

REM "xxxxxxxxxxx",替换成你想设置的密码

net user "综合前端系统" "xxxxxxxxxxx"

net user "Administrator" "xxxxxxxxxxx"

call wannacry.bat

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d "administrator" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "xxxxxxxxx" /f

GOTO COMMON

:Windows7

net user "Admin" "xxxxxxxxxxx"

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d "Admin" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "xxxxxxxxxx" /f

GOTO COMMON

:COMMON

REM 添加时间NTP

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 0 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 1 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 2 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 3 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 4 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 5 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 6 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 7 /d 11.230.35.1 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v ntpserver /d 11.230.35.1,0x9 /t REG_SZ /f

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /d 0x12c /t REG_DWORD /f

REM 虚拟内存

wmic PageFileSet create name="D:\pagefile.sys", InitialSize="4096", MaximumSize="4096"

REM 开启远程桌面

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

REM 下次启动的脚本

reg add HKLM\software\microsoft\Windows\CurrentVersion\Run /v XPauto /t REG_SZ /d "c:\auto\yinst.bat" /f

shutdown -r -t 3 -c "第一次初始化完毕,请重启系统!"

yinst.bat

REM ******************************************************************************************

REM * Author: 高玉涵

REM * File: au.bat

REM * Date: 20190313

REM * Declare: 一体化安全系统自动化安装脚本

REM *      实测发现XP安装360后系统普遍卡、蓝屏,删除360安装包,不安装

REM ******************************************************************************************

@echo off

cd\

cd c:\auto

call cscript c:\auto\udisk.vbs

call "柜面终端安装包.exe"

@ECHO "开始安装一体化终端安全管理系统..."

cd 柜面终端安装包

ver|findstr /r/i "[版本 5.1.*]" > NUL && GOTO WindowsXP

ver|findstr /r/i "[版本 6.1.*]" > NUL && GOTO Windows7

:WindowsXP

REM 删除360安装包

del AddFile\360.exe

GOTO COMMCON

:Windows7

GOTO COMMCON

:COMMCON

call ClientRegist.exe

cd\

cd c:\auto

del.bat

wannacry.bat

@echo off

@REM XP安装永恒之蓝补丁

wmic qfe GET hotfixid|findstr /c:"KB4012598"

if %errorlevel% neq 0 (

call WindowsXP-KB4012598-x86-Custom-ENU.exe /quiet /norestart

)

udisk.vbs

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Author: 高玉涵

' Date: 20190313

' File: udisk.vbs

' Declare: 启用升腾终端USB设备卸载配置工具

' BUG:   简单模拟键盘输入,可能存在失败情况

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit

Dim wsh,WindowTitle1, WindowTitle2, strAppName

WindowTitle2="USB设备卸载配置"

WindowTitle1="密码验证"

strAppName="""C:\Program Files\udskUnmountsrv\UsbConfig.exe"""

set wsh=WScript.CreateObject("WScript.Shell")

wsh.run strAppName

'密码验证窗口

do while (wsh.AppActivate(WindowTitle1) <> true)

WScript.Sleep 3000

loop

wsh.AppActivate(WindowTitle1)

WScript.Sleep 1000

wsh.SendKeys "{TAB}"

WScript.Sleep 1000

wsh.SendKeys "{TAB}"

WScript.Sleep 1000

‘xxxxx,为发送的密码

wsh.SendKeys "xxxxxxxx"

WScript.Sleep 1000

wsh.SendKeys "{ENTER}"

'配置主界面

do while (wsh.AppActivate(WindowTitle2) <> true)

'等待3秒

WScript.Sleep(3000)

loop

wsh.AppActivate(WindowTitle2)

WScript.Sleep 1000

wsh.SendKeys "%{K}"

WScript.Sleep 1000

wsh.SendKeys "%{F4}"

set wsh=NoThing

WScript.quit

Del.bat

@echo off

REM 清除开机自登录

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /f

reg delete HKLM\software\microsoft\Windows\CurrentVersion\Run /v XPauto /f

REM 清理文件

del c:\inst.bat /q

del c:\auto\au.bat /q

del c:\auto\wannacry.bat /q

del c:\auto\WindowsXP-KB4012598-x86-Custom-ENU.exe /q

del c:\auto\yinst.bat /q

del c:\auto\柜面终端安装包.exe /q

rd c:\auto\柜面终端安装包 /s/q

REM 开启还原系统

ewfmgr c: -enable

shutdown -r -t 3 -c "安装完毕,请重启系统!"

最后,将所有脚本文件和安装包,封装成可自解压的压缩包(绝对路径),设置解压后运行inst.bat批处理文件。至此,一个自动化安装包制作完成。您只需要在目标计算机上执行这个封装包,即可实现自动化安装的目地。具体如何操作,可根据您最习惯的方式。比如我是通过“桌面管理”程序推送下去(参见视频),这里就不在赘叙了。

非常运维 一体化终端安全管理系统自动安装脚本详解相关推荐

  1. 【产品】智能管道设计运维一体化平台 - AIPIPE 2022R2版本新功能详解

    AIPIPE是由天洑软件自主研发的智能管道设计运维一体化平台,面向能源电力.石油化工.核电水利等相关领域的管网系统,提供力学分析.优化设计.健康监测运维等服务. AIPIPE 2022R2版本在202 ...

  2. 【运维能力提升计划-3】Java多线程详解

    Java多线程详解 学习链接 Java.Thread 线程简介 线程 进程 多线程 线程实现 Thread 继承Thread类 调用run方法只有主线程一个线程,调用start方法生成子线程与主线程并 ...

  3. 运维监控利器Nagios之:nagios配置详解

    一.nagios配置过程详解 1.nagios默认配置文件介绍  nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,每个文件或目录含义如下表所示: 2.配置文件 ...

  4. 我的一个学生在运维工作中写的自动日志清理脚本程序

    本文是我的一个学生在运维工作中写的自动日志清理脚本程序,我这里不评价该shell脚本写的好与坏,只是发出来,和大家做一个分享,如果能给大家带来一点点思路上的参考就够了. 自动日志清理脚本程序 #!/b ...

  5. 谈DevOps研发运维一体化解决方案PPT制作

    今天准备谈下DevOps产品解决方案PPT材料的制作和修订,在前面实际我分享过云原生和DevOps的相关技术解决方案材料,但是实际在和客户交流后并没有达到很好的效果,简单总结来说就是材料太偏技术化,没 ...

  6. 研发运维一体化平台是什么?众安用保险科技助力行业精细化运营

    如今,保险科技已成为保险公司转型升级的重要引擎和创新变革的关键因素,更为保险产品的完善升级提供了坚实的基础架构.同时,在消费者需求日渐多元化的趋势下,业务复杂程度也随之上升,考验着保险公司运维体系和产 ...

  7. 银行IT智能运维一体化建设实践分享

    [导读]智能运维一体化的先进理念在大型的金融和互联网机构形成了一些成功的应用案例,但是作为中小金融机构,从IT规模.人员配备.投资预算各方面都难以支撑商业大型一体化运维管理平台的实施与应用,某农商银行 ...

  8. 常见的自动化运维工具介绍及特点、安装ansible

    常见的自动化运维工具介绍及特点.安装ansible 一.什么是自动化运维? 简单来说,自动化运维就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人为参与. 将周期性.重复 ...

  9. 给运维工程师的Cheatsheets! 《Shell脚本速查手册》免费下!

    简介:Shell 作为 Linux 中的第一语言,几乎每一个使用 Linux 的人都用到或用过 Shell,但绝大多数人都并不能掌握 Shell 编程的基本能力和技巧. 2021 年,阿里云开发者学堂 ...

最新文章

  1. OpenCV-Python,计算机视觉开发利器
  2. OpenCV使用pointPolygonTest的实例(附完整代码)
  3. 同时阅读多个pdf文档怎么办?
  4. 原 R语言柱状图排序和x轴上的标签倾斜
  5. Not Wool Sequences(CF-239C)
  6. sql2005 reporting service,我总算找到一个完全程序化绑定报表(ado.net dataset 绑定reprot)的方案,谁能再给我些其他建议呢?...
  7. linux网络 (二):无线网络操作
  8. qq音乐linux版本下载地址,QQ音乐linux下载
  9. 携程后台开发笔试第二题
  10. ictclas4j java_Paoding, Ik, Jeasy, Ictclas4j分词工具
  11. 算法笔记 刷题2.6
  12. 一键铺货API(淘宝)
  13. Ubuntu打造家用NAS三——网盘与影视中心
  14. 英语CET6救命作文通用模板
  15. TS学习(二) :安装ts与ts配置
  16. 《Densely Connected Hierarchical Network for Image Denoising》阅读笔记
  17. fabric里的marble私有数据访问案例
  18. html在线ocr文字识别源码,OCR开源代码以及OCR公开训练测试数据集汇总
  19. linux内核优化,内核参数详解
  20. php怎么输出倒三角_典型的格式化输出算法,用*组成的倒三角形

热门文章

  1. 机器学习——动手从决策树实现随机森林
  2. 新手入门指南之玩转蓝桥云课
  3. 年龄到底怎么算才对_专升本的年纪是怎么算的(年龄到底怎么算才对)
  4. 不会编程?Axure一样可以做网站
  5. linux system 和 execl 函数对比
  6. 程序人生 - 退税教程(个人所得税)
  7. [计算机系统]之虚拟内存-第一部分(基本原理续)
  8. 视频教程-Scratch3.0趣味编程L2X-创意案例《保卫星球》-其他
  9. Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染
  10. Android实现换发型功能,实现一个Android中更换头像功能