2018-03-13

Symantec Definition Auto Downloader VBScript for SEPM

如果是在暗網 (Dark Network) 裡面使用 Symantec Endpoint Protection 的話
可能沒辦法透過全自動 Internet Update 來更新病毒碼
還好 Symantec 有提供了手動下載病毒碼並放到特定路徑讓 SEPM 自己去更新的辦法
但如果要人工下載實在太麻煩又會忘記
於是寫了一個簡單的 VBScript 來下載

因為不熟悉 VBS 連接 FTP 的語法
找不到怎麼取得檔案日期時間以便比對出最新的一個來下載
所幸 Symantec 的檔名應該是按照 Hex 版本號來命名
所以比對檔名也可以取得最後一個最新的病毒定義檔

該下載哪個版本的病毒定義檔要 到這裡來確認
改前面兩個參數指定下載來源與目的就可以了
如果未來 Symantec 有任何異動, 就自己改一下吧

===== 程式開始 =====

FTPSourcePath = "ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/norton_antivirus/jdb/"
TargetFolder = "D:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\data\inbox\content\incoming\"

Set fso = CreateObject("Scripting.FileSystemObject")

if not (fso.FolderExists(TargetFolder)) then
wscript.quit
end if

Set SAObject = CreateObject("Shell.Application")

Set FTPFolder = SAObject.NameSpace(FTPSourcePath)
Set TargetFolderNS = SAObject.NameSpace(TargetFolder)

LastVersion = 0
LastFileName = ""

For Each Item In FTPFolder.Items
if (LCASE(Item.Type) = "jdb file") then
FileName = Item.Name
CurrentVersion = CLng("&h" & Replace(Replace(FileName,"v",""),".jdb",""))
if (CurrentVersion >= LastVersion) then
LastVersion = CurrentVersion
LastFileName = Item.Name
end if
end if

Next

TargetFolderNS.CopyHere FTPSourcePath & LastFileName,4

Set SAObject = Nothing

===== 程式結束 =====

沒有留言: