• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于AutoIt開發(fā)內(nèi)網(wǎng)系統(tǒng)補丁更新應用

    2022-07-26 08:05:28王大權
    網(wǎng)絡安全技術與應用 2022年7期
    關鍵詞:子網(wǎng)補丁列表

    ◆王大權

    基于AutoIt開發(fā)內(nèi)網(wǎng)系統(tǒng)補丁更新應用

    ◆王大權

    (大慶油田有限責任公司第二油廠第七作業(yè)區(qū)技術管理室 黑龍江 163000)

    文章對利用AutoIt V3腳本語言開發(fā)系統(tǒng)補丁自動下載與自動更新的主要步驟進行了分析,并闡明了用該語言開發(fā)的工具體積小、免安裝、占用系統(tǒng)資源低,適用于網(wǎng)絡環(huán)境一般、規(guī)模小的局域網(wǎng)進行系統(tǒng)補丁更新管理。

    系統(tǒng)補??;AutoIt;正則表達式

    1 引言

    WSUS和SMS是內(nèi)網(wǎng)中常用的補丁管理系統(tǒng),它們通過中心服務器來滿足內(nèi)網(wǎng)終端對系統(tǒng)補丁管理的需求,對于大規(guī)模甚至是跨區(qū)域的內(nèi)網(wǎng),可通過逐級建立級聯(lián)子服務器的方式來滿足計算機對補丁管理的需求。對于規(guī)模較大局域網(wǎng)(以下簡稱內(nèi)網(wǎng))中的某些子網(wǎng),它們遠離上一級網(wǎng)絡,存在因天氣、施工、設備故障或管理等原因,造成子網(wǎng)暫時與周邊網(wǎng)絡不能通訊的問題,這直接影響到這些子網(wǎng)內(nèi)的計算機對補丁更新管理的需求。此外,這些子網(wǎng)內(nèi)一些分公司、前線小隊所使用的網(wǎng)絡,規(guī)模不大或網(wǎng)速一般,在使用上一級補丁服務器更新時,存在補丁更新不及時或打不上的可能,因此,在子網(wǎng)本地建立一個條件要求低、容易快速搭建、能快速實現(xiàn)補丁更新的工具,解決了上述問題,對現(xiàn)有的補丁管理方式也是一種補充。

    2 開發(fā)語言

    AutoIt v3(以下簡稱AU3)是用以編寫并生成具有 BASIC 語言風格的腳本程序的免費軟件,適用于微軟公司W(wǎng)indows2000及以上系統(tǒng),支持Windows GUI,支持強大的字符串處理語言——正則表達式,擁有眾多功能強大的網(wǎng)絡應用函數(shù),用它開發(fā)的工具,體積小、免安裝且不會向系統(tǒng)目錄和注冊表寫入任何信息,能被編譯成.exe類型文件,因此,AU3語言適合用于局域網(wǎng)補丁工具的開發(fā)。

    3 工具實現(xiàn)系統(tǒng)補丁自動更新原理

    工具是一個客戶端軟件,與內(nèi)網(wǎng)中已建立的Web補丁頁面構成了主從式架構。在客戶端運行工具,通過將本地已打補丁信息與網(wǎng)站所提供的補丁信息名稱的KB部分對比,可以實現(xiàn)自動篩選出計算機尚未更新的補丁信息,在利用AU3提供的相關函數(shù)實現(xiàn)系統(tǒng)補丁自動下載與自動更新。

    4 工具執(zhí)行系統(tǒng)補丁自動下載與更新的主要實現(xiàn)步驟

    4.1 工具提取計算機已更新補丁列表

    首先,利用微軟系統(tǒng)補丁文件名稱中的KB部分的唯一特性,通過AU3自帶函數(shù)EnumKey()、_WinAPI_RegOpenKey()、_WinAPI_RegQueryInfoKey()從客戶端計算機注冊表相關項中提取計算機已更新補丁列表。圖1顯示了整個過程。

    圖1 工具提取計算機已更新補丁列表

    以上代碼實現(xiàn)了對計算機已更新補丁列表的提取。其中在枚舉

    Uninstall分支過程中,應注意該分支下的信息不完全是補丁的KB信息,通過正則表達式“.*?(KBd+)[^d]*?.*','$1”加上宏@extended的條件判斷來準確提取出補丁KB信息。對Updates分支下的多層子項枚舉過程中,RegEnumKey()函數(shù)會漏掉部分KB信息,改用WINAPIex.AU3的子函數(shù)_WinAPI_RegOpenKey()和_WinAPI_RegQueryInfoKey()對其進行深層遞歸枚舉后,實現(xiàn)了對該分支的KB序列的精確提取。最后,將已更新補丁KB信息寫入到FixedList.ini中。

    4.2 工具提取計算機尚未更新補丁列表

    利用函數(shù)_IECreate()、_IELinkGetCollection()獲取WEB頁面補丁鏈接地址信息并利用StringSplit()提取其中的KB部分,與FixedList.ini文件中的KB信息進行比較,篩選出的不同KB信息的文件就是計算機尚未更新補丁列表信息,并將這些信息寫入到NewList.ini文件內(nèi)。過程如下:

    If @OSVersion = "WIN_2003" Then

    $oIE = _IECreate("http://補丁頁面.htm")

    Else

    EndIf

    $oLinks = _IELinkGetCollection($oIE)

    $iNumLinks = @extended

    Func _GetLinkKB()

    For $oLink In $oLinks

    $file = StringSplit($oLink.href,"/",1)

    $filekb = StringSplit($file[6],"-",1)

    If IniRead("FixedList.ini","已經(jīng)安裝的補丁",$filekb[2],"") = "" Then

    IniWrite("NewList.ini","未安裝補丁",$j,$oLink.href)

    EndIf

    $j += 1

    Next

    EndFunc

    4.3 批量下載

    通過IniReadSection()函數(shù)讀取NewList.ini文件中的補丁文件鏈接地址信息,使用InetGet()函數(shù)完成補丁文件的批量下載并將下載文件保存在工具文件所在目錄下的Update子目錄下。

    Func _DownLoad()

    $var = IniReadSection("NewList.ini","未安裝補丁")

    If @error Then

    MsgBox(4096,"","讀NewList.ini文件出錯")

    Else

    For $i = 1 To $var[0][0]

    $file = StringSplit($var[$i][1],"/",1)

    $down = InetGet($var[$i][1],$Update & "" & $file[6],1,1)

    Do

    Sleep(250)

    Until InetGetInfo($down,2)

    InetClose($down)

    Next

    EndIf

    EndFunc

    4.4 一鍵修復

    使用_FileListToArray()函數(shù)從Update目錄下逐一讀取補丁文件,使用RunWait()函數(shù)實現(xiàn)補丁一鍵修復。

    Func _OneKeyFixed()

    Dim $filelist[1]

    $filelist = _FileListToArray($Update,"*.exe",1)

    If IsArray($filelist)= 0 Then

    _Exit()

    Else

    For $j = 1 To $filelist[0]

    $result = RunWait(@ScriptDir & "Update" & $filelist[$j] & " /u /z /n /o /q");

    Next

    EndIf

    EndFunc

    5 結論

    5.1 使用后效果

    工具實現(xiàn)了廠內(nèi)網(wǎng)安裝WinXP、Win2003操作系統(tǒng)的終端計算機自動快速的系統(tǒng)補丁更新需要。

    5.2 結語

    作為一名基層系統(tǒng)運維人員,完全依賴于網(wǎng)絡上提供的免費工具,進行系統(tǒng)清理與優(yōu)化、系統(tǒng)恢復或打補丁等這些日常工作,可能會給計算機帶來潛在安全風險威脅,也可能會影響到內(nèi)網(wǎng)已部署的安全工具的正常使用。因此,自主開發(fā)一些實用系統(tǒng)運維工具,是有實際意義的。AU3作為一種小眾語言,它功能強大,易于快速開發(fā)出眾多實用系統(tǒng)運維工具,非常適合從事系統(tǒng)與網(wǎng)絡管理人員來學習,在此拋磚引玉,希望能吸引更多的人來關注和學習AU3語言,為不斷提高系統(tǒng)運維水平和幫助用戶輕松、簡單的管理自己的計算機作出貢獻。

    [1]“科普中國”科學百科詞條編寫與應用工作項目.系統(tǒng)漏洞[OL].https://baike.baidu.com,2018-02-12.

    [2]AutoIt快速開發(fā)指南[EB].https://www.autoitx.com,2019-07-01.

    [3]鄒國奎.基于AutoIt開發(fā)的局域網(wǎng)系統(tǒng)補丁更新應用[J].硅谷,2012(03):14.

    猜你喜歡
    子網(wǎng)補丁列表
    巧用列表來推理
    一種簡單子網(wǎng)劃分方法及教學案例*
    計算機時代(2023年1期)2023-01-30 04:08:22
    學習運用列表法
    擴列吧
    子網(wǎng)劃分問題研究及應用
    健胃補丁
    學與玩(2018年5期)2019-01-21 02:13:06
    繡朵花兒當補丁
    文苑(2018年18期)2018-11-08 11:12:30
    補丁奶奶
    幼兒畫刊(2018年7期)2018-07-24 08:25:56
    子網(wǎng)劃分的簡易方法
    大病醫(yī)保期待政策“補丁”
    扬州市| 依兰县| 阳曲县| 哈巴河县| 新泰市| 云龙县| 乐都县| 遵化市| 阿城市| 乌兰浩特市| 长汀县| 武定县| 乐安县| 平利县| 乌兰县| 噶尔县| 临漳县| 旌德县| 乐都县| 永康市| 油尖旺区| 镶黄旗| 葵青区| 安塞县| 河池市| 昆山市| 碌曲县| 民权县| 巨鹿县| 威远县| 巴彦县| 商城县| 宁明县| 翁牛特旗| 绥江县| 阿克苏市| 禹州市| SHOW| 胶南市| 南郑县| 石阡县|