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

非常运维

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

 

作者:高玉涵

时间: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系统内,全省第一版系统定制标准,我有幸全程参与回想当时,强制要求各厂家开发并免费提供桌面管理系统,就是为了应对此次情况,为同行减少重复性操作,减轻工作负担,这是我的初衷。此文的意义在于,将我如何使用桌面管理系统、编写自动化系统配置、软件安装脚本,经验、思路方法做个梳理与总结,同时与大家分享。最终目的是为每个渴望实现自动化运维人员提供指导。

系统环境与需求

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

非常运维 一体化终端安全管理系统自动安装脚本详解_第1张图片

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

 

安装包分析

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

非常运维 一体化终端安全管理系统自动安装脚本详解_第2张图片

(图1-1

非常运维 一体化终端安全管理系统自动安装脚本详解_第3张图片

 

(图1-2

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

 

非常运维 一体化终端安全管理系统自动安装脚本详解_第4张图片

(图1-3

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

编写自动化脚本

一、执行流路(图1-4

非常运维 一体化终端安全管理系统自动安装脚本详解_第5张图片

 

(图1-4

二、脚本源码

(图1-5

非常运维 一体化终端安全管理系统自动安装脚本详解_第6张图片

(图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批处理文件。至此,一个自动化安装包制作完成。您只需要在目标计算机上执行这个封装包,即可实现自动化安装的目地。具体如何操作,可根据您最习惯的方式。比如我是通过“桌面管理”程序推送下去(参见视频),这里就不在赘叙了。

非常运维 一体化终端安全管理系统自动安装脚本详解_第7张图片

 

你可能感兴趣的:(OS/Network)