'############################################################ '# Server Protect For Linux Pattern ファイルの配布 '# '# 実行方法:コマンドコンソールから実施する '# D:\task\splx>cscript //nologo Z10_Main.vbs > splxpatcopy.log & '# '# UPDATE 2013/09/06 '# '# RELATE PARAMERWE VALUE & MASHINE ENVIROMENT '# PARM : BLANK -> XXM1XV01 (プロキシ有) '# 1 -> XXV1DM12 ,XXV1DM13 (プロキシ無) '# '# '############################################################ Option Explicit ' グローバル定義 Dim sGparm_Proxy 'パラメータ1 1:プロキシ無 Dim iStepNo : iStepNo = 1 'ステップ番号 Dim msg : msg = "" 'メッセージ Dim sComputer Dim URL '************************************************************ ' 定数 '************************************************************ ' ' IVMIXVI01のリクエスト対象のURL (インターネットサイト) 'Const XXMIXVI01 = "http://downloadcenter.trendmicro.com/index.php?clk=tab_pattern&clkval=109®s=jp&lang_loc=13" Const URL_XXMIXVI01 = "http://localhost:8080/examples/dl.html" ' SAV1DM12のリクエスト対象のURL (社内サイト:XXMIXVI01) 'Const URL_XXV1DM12 = "http://999.18.137.8/officescan/splxdownload/Z10_Main.ini" Const URL_XXV1DM12 = "http://localhost:8080/examples/Z10_Main.ini" ' SAV1DM13のリクエスト対象のURL (社内サイト:XXV1DM12) 'Const URL_XXV1DM13 = "http://999.18.145.50/officescan/splxdownload/Z10_Main.ini" Const URL_XXV1DM13 = "http://localhost:8080/examples12/Z10_Main.ini" ' Trend Micro Server Protect Download Center Base Url 'Const TO_URL_BASE_TMSP = "http://www.trendmicro.com/ftp/products/aupattern/japan_offline/" Const TO_URL_BASE_TMSP = "http://localhost:8080/examples/" ' IVMIXVI01 Site Base URL 'Const TO_URL_XXMIXVI01 = "http://999.18.137.8/officescan/splxdownload/" Const TO_URL_XXMIXVI01 = "http://localhost:8080/examples/" ' SAV1DM12 Site Base URL 'Const TO_URL_XXV1DM12 = "http://999.18.145.50/officescan/splxdownload/" Const TO_URL_XXV1DM12 = "http://localhost:8080/examples12/" ' SAV1DM13 Site Base URL 'Const TO_URL_XXV1DM13 = "http://999.18.145.50/officescan/splxdownload/" Const TO_URL_XXV1DM13 = "http://localhost:8080/examples13/" ' カレントパス Const CURRENT_PATH = "D:\task\splx" ' ダウンロード設定ファイルのパス Const DWLDFILE_INI = "D:\task\splx\Z10_Main.ini" ' レスポンスを内容を一時出力のパス Const RESPONS_TEXT = "D:\task\splx\tmp\GetDLC_Site.txt" ' 処理候補リスト Const LIST_FILE_TM = "D:\task\splx\tmp\tmcmFList.txt" ' 外部共通部品のファイル Const INCLD_SCRIPT = "D:\task\splx\scripts\stdlib.vbs" ' ダウンロード先と展開先のディレクトリ Const ZIP_BASEPATH = "D:\Program Files (x86)\Trend Micro\OfficeScan\PCCSRV\splxDownload" ' IVMIXVI01 Site Base URL Const PARM_MODE1 = 1 'プロキシ経由なし ' ドライブのリミット値(空容量 バイト) Const DRIVE_FREE_LIMIT = 1100000000 ' 候補リストパターン Const PATTERN_ZIP = "tmcm_patternupdate" '************************************************************** ' 1.0 処理全体 '************************************************************** Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") 'Wscript.Echo objShell.CurrentDirectory Set objShell = Nothing 'カレントパス取得 Dim objPath Set objPath = CreateObject("Scripting.FileSystemObject").GetFolder(".") 'Wscript.Echo objPath Dim s Main_Init() Main_Prosess() Main_Terminate() WScript.Quit (0) '************************************************************** ' 1.2 メイン処理 '************************************************************** Sub Main_Prosess() '--------------------------------------------------------- '-- 1.2 メイン処理(1) リクエスト対象のURL ------------- '--------------------------------------------------------- ' 設定ファイルを作成する Dim sMain_Prosess Dim sGetDLC_Site Dim sURI,sFile Dim iPos,str Dim objFso, objFile sMain_Prosess = "" SetLogStepStart 1,"SITE HTML GET **********************" 'Http GetでダウンロードするZIPの情報の保管先から引出す IF sComputer = "XX09716" THEN sGetDLC_Site = GetDLC_Site(URL,"2") ELSE sGetDLC_Site = GetDLC_Site(URL,"") END IF '取りこんだファイルから必要なURL情報を引き出す sFile = GetUrlFile(sGetDLC_Site) '自環境のMain.Iniへ ダウンロードするURLを書き出す) 'URIと連結させて、URLをファイルへ書き出す。 IF sComputer = "XXV1DM12" THEN sGetDLC_Site = TO_URL_IVMIXVI01 & sFile End IF IF sComputer = "XXV1DM13" THEN sGetDLC_Site = TO_URL_SAV1DM12 & sFile End IF WScript.Echo now & MSGLEVEL_I & "URL =" & URL WScript.Echo now & MSGLEVEL_I & " ( " & GetURI(sGetDLC_Site) & " " & GetUrlFile(sGetDLC_Site) & " ) " Set objFso = CreateObject("Scripting.FileSystemObject") Set objFile = objFso.OpenTextFile(DWLDFILE_INI, 2, True) IF Err.Number > 0 THEN WScript.Echo now & MSGLEVEL_E & "NG Open Error " & DWLDFILE_INI WScript.Quit (10) ELSE objFile.WriteLine sGetDLC_Site END IF objFile.Close WScript.Echo now & MSGLEVEL_I & "RE_WRITE OK " & DWLDFILE_INI Set objFile = Nothing Set objFso = Nothing SetLogStepEnd 1, "SITE HTML GET ********************** "
'--------------------------------------------------------- '-- 1.2 メイン処理(2) パターンファイをダウンロード - '--------------------------------------------------------- SetLogStepStart 2,"Pattern File DownLoad **************" Dim sURLPattern,savefile Dim sRet ' 定義ファイルを読み込んで、変数ファイル名を編集する sURLPattern= trim(ReadTextLine(DWLDFILE_INI)) savefile = ZIP_BASEPATH & "\" & GetUrlFilename(sURLPattern) WScript.Echo now & MSGLEVEL_I & "From : " & sURLPattern & vbCrLf & _ vbtab & vbtab & vbtab & "TO : " & savefile sRet = GetDLC_ZIP( sURLPattern, savefile) WScript.Echo now & MSGLEVEL_I & "結果:" & sRet IF left(trim(sRet),2) = "NG" THEN WScript.Echo now & MSGLEVEL_E & "** 実行中止 ********************************************" & vbCrLf WScript.Quit (10) END IF SetLogStepEnd 2, " Pattern File DownLoad ***********" '--------------------------------------------------------- '-- 1.2 メイン処理(3) 展開する ------------------------ '--------------------------------------------------------- SetLogStepStart 3,"Extract File ***********************" Dim ExtractFrom ' 展開元ファイル Dim ExtractTo ' 展開先 Dim s Dim sType s = trim(ReadTextLine(DWLDFILE_INI)) ExtractFrom = ZIP_BASEPATH & "\" & GetUrlFilename(s) ExtractTo = ZIP_BASEPATH sType = Unzip_Tmcm(ExtractFrom,ExtractTo) WScript.Echo now & MSGLEVEL_I & "From : " & _ ExtractFrom & vbCrLf & _ vbtab & vbtab & vbtab & "TO : " & ExtractTo SetLogStepEnd 3, "Extract File ***********************" 'Main_Prosess = s End Sub '************************************************************** ' 1.1 初期処理 '************************************************************** Sub Main_Init() IncludeScript INCLD_SCRIPT ' VBS起動するWSHコマンドがcScriptでない場合は ' エラーコード99で終了する IF Not(IsCscript()) THEN WScript.Quit (99) END IF msg="**Note:CScript Only Run**" sComputer = SetLogHeader(msg) IF sComputer = "XXMIXVI01" THEN URL = URL_XXMIXVI01 END IF ' SAV1DM12のリクエスト対象のURL IF sComputer = "XXV1DM12" THEN URL = URL_XXV1DM12 END IF ' SAV1DM13のリクエスト対象のURL IF sComputer = "XXV1DM13" THEN URL = URL_XXV1DM13 END IF Call GetParam() End Sub '----------------------------------------------- ' 1.1.1 パラメータ取得処理 '----------------------------------------------- Sub GetParam() Dim i Dim objParm sGparm_Proxy = "" ' モード Set objParm=WScript.Arguments For i=1 To objParm.Count WScript.echo now & MSGLEVEL_I & "** (" & i & ") " & objParm.Item(i - 1) IF i = 1 THEN sGparm_Proxy = objParm.Item(i - 1) END IF Next End sub '************************************************************** ' 1.3 終了処理 '************************************************************** Sub Main_Terminate() Dim s Dim patternchr patternchr = PATTERN_ZIP '----------------------------------------------------- '-- 1.3.1 ファイルをコピーする ----------------------- '----------------------------------------------------- SetLogStepStart 4,"COPY FILE **************************" Dim sToFile sToFile = ZIP_BASEPATH & "\" & "Z10_Main.ini" Z10_CopyFile DWLDFILE_INI,sToFile WScript.Echo now & MSGLEVEL_I & "OK Copy:FROM " & DWLDFILE_INI & vbcrlf & vbtab & "TO:" & sToFile 'ダウンロードしたパターンファイルを現在のバージョンを除くものを削除する 'tmpにデイレクトリ一覧を作成して(今ダウンロードしたものは除く) s= trim(ReadTextLine(DWLDFILE_INI)) Call TmcmProcLst(GetUrlFilename(s),patternchr) ' 候補リストに従い、削除する Call TmcmProcDel() SetLogStepEnd 4, "COPY FILE **************************" WScript.Echo now & MSGLEVEL_I & "** NORMAL_END *****************************************" & vbCrLf WScript.Quit (0) End Sub '************************************************************ ' 関数: IncludeScript ' 用途:外部スクリプトをロードする ' 入力: テキストファイルパス '************************************************************ Sub IncludeScript( strFileName ) Dim efso,efile Set efso = CreateObject("Scripting.FileSystemObject") Set efile = efso.OpenTextFile( strFileName ) ExecuteGlobal efile.ReadAll efile.Close End Sub