Pages

Friday, January 28, 2011

Actualizar e-Trust Antivirus ITM 8.1 con vbscript

Una vez instalado el antivirus en un ambiente corporativo, lo natural sería que lo primero que haga el mismo sea actualizarse contra el servidor de firmas central.


Bueno con CA, esto no sucede, si nos descuidamos tendremos el antivirus instalado con una firma del 2006 y probablemente una licencia inválida.


Como workaround a este problema con algunas líneas de vbscript podemos:

  1. Actualizar el archivo de licencia del equipo de trabajo
  2. Actualizar los parámetros del servidor de firmas
  3. Forzar una actualización de políticas
  4. Forzar una actualización de firmas.
El mismo debe correr en el servidor de firmas.

1- Actualizar el archivo de licencia del equipo de trabajo
ruta = "\\equipoDestino\c$\CA\SharedComponents\SubscriptionLicense"
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile "C:\Program Files\CA\SharedComponents\SubscriptionLicense\license.xml",ruta

2- Actualizar los parámetros del servidor de firmas
'Actualizo el servidor de distribucion de firmas en el cliente
CONST HKLM = &H80000002
servidorITM = "192.168.1.1"
puerto = 42511
set objReg = GetObject("winmgmts:\\" & equipo & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\ComputerAssociates\Shared\CAUpdate\ProductConfig\ITM\ServerConfig\Server0"
objReg.SetStringValue HKLM,strKeyPath,"Server",servidorITM
objReg.SetDWORDValue  HKLM,strKeyPath,"ServerPort",puerto

3- Forzar actualización de políticas y parámetros de discovery
'Forzar discovery
cadena = "winmgmts:\\" & listaEquipos(k) & "\root\default:StdRegProv"
servidorITM = Array(&Hc0,&Ha8,&H1,&H1) ' --- Aqui va la IP convertida a hexadecimal
servidorITMStr = "|192.168.1.1|"
IPServerITM = "192.168.1.1"
WScript.Echo "-- Actualizando claves del registro... --"
set objReg = GetObject(cadena)
strKeyPath = "SOFTWARE\ComputerAssociates\eTrustITM\CurrentVersion\NameCli"
objReg.SetBinaryValue HKLM,strKeyPath,"ServerList",servidorITM
strKeyPath = "SOFTWARE\ComputerAssociates\eTrustITM\CurrentVersion\PhoneHome"
objReg.SetStringValue HKLM,strKeyPath,"ServerList",servidorITMStr
        
WScript.Echo "-- Forzando discovery... --"
comando = "psexec \\" & equipo & " " & """c:\Archivos de programa\CA\eTrustITM\phonhome.exe""" & " " & IPServerITM
WScript.Echo "-- Ejecutando: " & comando
Set oexec = ws.Exec(comando)

No comments:

Post a Comment