[Script] Mise à jour antivirus McAfee

Ici l'on parle de tout et de rien...

Messagepar JoShuA » 17 Mar 2005, 16:49

Bonjour,

Je me permets de vous faire partager un petit script (à améliorer) qui permet de se tenir au courant (et même de publier en interne dans cas d'entreprise) les mises à jours McAfee pour l'anvirus basé sur un moteur 4.x.

Quelques infos sur les besoins :

* Antivirus McAfee (entreprise et/ou Pro) basé sur le moteur 4.x
* aller poller le site de McAfee pour voir les mises à jour
* informer de la disponiblité d'une mise à jour
* télécharger et mettre à disposition la mise à jour
* Serveur Windows Image "simple" pas de Perl, pas de cygwin ...

Donc le programme se résume en :
* un fichier batch (disponible si dessous)
* wget.exe (et ces DLL) un outils qui permet d'aller récuperer les fichiers (la commande FTP du DOS ne gérant pas les proxy cette solution n'a pas été retenu)
* blat.exe le programme permettant d'envoyer un email en ligne de commande sur un serveur SMTP bien spécifique

Remarque wget (et ses DLL) et blat doivent Imperativement se trouver dans le répertoire ./bin par rapport au script ... (sinon à vous de modifier le script, cela sera surrement parametrable dans une future version)
Code: Tout sélectionner
@echo off
REM #################################
REM # McAfee New S-DAT checker      #
REM #                               #
REM # Version : 0.5b                #
REM #                               #
REM # Coded by : JoShuA             #
REM #                               #
REM # Contact : JoShuANet@Gmail.com #
REM #                               #
REM #################################


REM ############# OPTION GLOBAL #############
REM # Defini si l'on doit passer par un proxy FTP
REM # 1 = True / 0 = False
SET VSUPD_PROXY=0

REM # Adresse du proxy
REM # exemple :
REM #            SET FTP_PROXY=HTTP://192.168.0.1:8080
SET FTP_PROXY=

REM # Defini les chemins
REM # répertoire temporaire
SET VSUPD_TMP=.tmp

REM # répertoire des fichiers de configurations
SET VSUPD_CONF=.conf

REM # répertoire de stockage des mail
SET VSUPD_REP=.share

REM ############# OPTION MAIL #############
REM # Serveur SMTP
SET VSUPD_SMTP=mail.********.net

REM # Destinataire du mail
SET VSUPD_TO=JoShuA@***********.net

REM # Emeteur du mail
SET VSUPD_FROM=mcafee_update@***********.net

REM # Url du fichier de mise à jour
SET VSUPD_SERVER=http://service.*************.net/mcafee/

REM ##### Ne rien modificier apres cette ligne sauf en toute connaissance de cause

REM ############# OPTION URL #############
SET VSUPD_URL=ftp://ftp.mcafee.com/pub/antivirus/datfiles/4.x

REM ############# PROGRAM ################

REM # parametrage proxy
set VSUPD_OPTION=
if VSUPD_PROXY==1 set VSUPD_OPTION=-Y on

REM # la ceinture, les bretelles, ...
del %VSUPD_TMP%update.ini

REM # on télécharge le fichier d'information
.binwget %VSUPD_OPTION% %VSUPD_URL%/update.ini -O %VSUPD_TMP%update.ini

REM # on récupere le numéro de version courante
type %VSUPD_TMP%update.ini |find  "DATVersion=" > %VSUPD_TMP%version.txt
for /F "Tokens=1,2  skip=2 delims=,= " %%O in ('type %VSUPD_TMP%version.txt') do set VSUPD_VERSION=%%P

REM # on ne sait jamais ...
if NOT DEFINED VSUPD_VERSION goto erreur

REM # on fait le ménage
del %VSUPD_TMP%update.ini
del %VSUPD_TMP%version.txt


:check_NEW
REM # On verifie que l'on a pas déjà cette version (économie de bande passante ... 6 Mo quand meme la bete)
for /F "Tokens=1  delims= " %%O in ('type %VSUPD_CONF%last.txt') do set VSUPD_LASTVERSION=%%O
if %VSUPD_VERSION% GTR %VSUPD_LASTVERSION% goto download_DAT
goto fin



:download_DAT

REM #$$#
REM # Si vous ne souhaitez pas télécharger le fichier mais juste etre prévenu par mail ...
REM # Decommenter la ligne suivante (suppression du REM)
REM goto Backup_versioning

Set VSUPD_SDATFILE=sdat%VSUPD_VERSION%.exe
REM # on Télécharge la bete [img]http://forum-windows.com/forum/smileys-punbb/smile.gif[/img]
.binwget %VSUPD_OPTION% %VSUPD_URL%/%VSUPD_SDATFILE% -O %VSUPD_REP%%VSUPD_SDATFILE%

if NOT EXIST %VSUPD_REP%%VSUPD_SDATFILE% goto    erreur

:Backup_versioning
REM # On sauvegarde la nouvelle version
echo %VSUPD_VERSION% > %VSUPD_CONF%last.txt

:send_Mail

rem $$$ for futur version with mailing list $$$
rem .binblat %VSUPD_CONF%mail.txt -body "Une nouvelle version du fichier signature McAfee est disponible a l'adresse suivante %VSUPD_SERVER%%VSUPD_SDATFILE%" -tf %VSUPD_CONF%mailto.txt -f %VSUPD_FROM% -server %VSUPD_SMTP% -subject "[McAfee] Pattern %VSUPD_VERSION% Disponible"
rem $$$

REM # On envoit un joli petit mail ... il est possible ici dans le cas d'une utilisation standalone d'utiliser
.binblat %VSUPD_CONF%mail.txt -body "Une nouvelle version du fichier signature McAfee est disponible a l'adresse suivante %VSUPD_SERVER%%VSUPD_SDATFILE%" -to %VSUPD_TO -f %VSUPD_FROM% -server %VSUPD_SMTP% -subject "[McAfee] Pattern %VSUPD_VERSION% Disponible"


goto fin
:erreur
echo "une erreur est survenue"
goto :fin



:fin

Les programmes complémentaires :

Wget :
Téléchargement de WGET
Téléchargement des DLL de WGET

Blat :
Téléchargement de BLAT

Voici l'arborescence et l'emplacement des fichiers :
Code: Tout sélectionner
C:mcafee>tree /f
Structure du dossier pour le volume JOSHDEV01
Le numéro de série du volume est 71F1E346 809F:EFB4
C:.
│   update.cmd

├───bin
│       blat.exe
│       libeay32.dll
│       libiconv-2.dll
│       libintl-2.dll
│       libssl32.dll
│       wget.exe

├───conf
│       last.txt  <- derniere version téléchargée
│       mail.txt  <- fichier vide (que j'espere supprimer dans les nouvelles versions)
│       mailto.txt <- pour les futures versions

├───share <- localisation par défaut des fichiers SDAT
└───tmp <- répertoire temporaire

C:mcafee>

Si vous souhaitez de plus amples explications, car je reconnais que j'ai fais "simpliste" merci de me le faire savoir .

PS : je me doute que ce script ne sera pas utile à beaucoup de personne mais c'est surtout pour vous présentez ce que l'on peut faire en batch ...
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Retour vers Bavardages

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

  •  Liens commerciaux