诺顿的升级主要依赖安装目录下的VPDN_LU.exe这个程序,支持静默升级(需要配合参数/S),通过定制计划任务执行这个程序加上参数就可以实现自动升级了。
通常做计划任务时最容易出现的问题就是账号密码更改导致以该账号密码下运行的计划任务失效,所以可以考虑使用SYSTEM账号创建计划任务就不用担心这个问题了。WIN7以前的系统要想使用SYSTEM账号创建计划任务必须借助于bat命令或者script。批处理的话主要是使用Schtasks开关,但是批处理对路径中的空格以及参数不怎么好控制。个人还是偏向于script。复制以下脚本代码另存为诺顿自动更新.vbs:
On Error Resume Next
Const Programs = &H26&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Programs)
Set objFolderItem = objFolder.Self
strFolderPath = objFolderItem.Path
strFullPath = strFolderPath & "\"
Set objFolder = objShell.Namespace(Programs)
Set objFolderItem = objFolder.Self
strFolderPath = objFolderItem.Path
strFullPath = strFolderPath & "\"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objNewJob = objWMIService.Get("Win32_ScheduledJob")
strNAVPath = chr(34) & strFullPath & "Symantec AntiVirus\VPDN_LU.exe" & chr(34) & " /s"
errJobCreated = objNewJob.Create (strNAVPath, "20100101200000.000000+480", True , 1 OR 2 OR 4 OR 8 OR 16 OR 32 OR 64, , , JobID)
脚本注解:该脚本只能识别采取默认安装的Symantec AntiVirus,否则会造成路径错误;
2010010112000000表示计划任务开始时间即2010年01月01日12点00分00秒00毫秒,可根据需要自己定义;
+480为东八区时间,后面的1也就是2的0次方即周一,2等于2的1次方也就是周二,4...64依次类推,次方数0-6对应星期一到星期七,可以自行定义需要更新的日期。
本文转自yangye1985 51CTO博客,原文链接:http://blog.51cto.com/yangye/278660,如需转载请自行联系原作者