2014-06-16, 13:32:41
Bonjour tout le monde,
J'ai une question concernant mon script de déploiement de l'agent Fusioninventory via GPO.
En effet, j'aimerais que ce dernier installe l'agent sur les postes, lorsque ce dernier n'est pas présent. Si l'agent est déjà présent, j'aimerais alors qu'il vérifie la version de l'agent, et, si cette dernière est inférieur à la version la plus récente présente dans le répertoire ou les versions en .exe sont présentes, qu'il se mette à jour.
Je vous joint mon script, mais j'ai bien peur qu'il ne fonctionne pas. N'étant pas un pro du batch.
========== SCRIPT =====================================================================================================================================
ECHO **********************************************************************
ECHO **** Installation automatisée par GPO par l'agent FusionInventory ****
ECHO **** A utiliser via une GPO ****
ECHO **********************************************************************
rem **** Indique la version de l'agent qui est installé
set VERSION=232
rem **** URL d'accès au serveur GLPI
set FISERVER=http://x.x.x.x/glpi/plugins
rem **** Indiquez ici le chemin d'accès complet au serveur vers l'exécutable de l'installation de l'agent
set INSTALLSERVER=\\serveurglpi\Partage
rem **** Verification de l'architecture 32 ou 64bits
IF EXIST "%programfiles(x86)%" goto 64b
echo Système 32 bits détecté
set PROGFOLDER=%programfiles%
echo Dossier d'installation : %PROGFOLDER%\FusionInventory-Agent
goto suite
:64b
echo Système 64bits détecté
set PROGFOLDER=%programfiles(x86)%
echo Dossier d'installation : %PROGFOLDER%\FusionInventory-Agent
goto suite
uite
IF EXIST "%PROGFOLDER%\FusionInventory-Agent\" goto test
:test
set VERSIONLAPLUSRECENTE=<\\serveurglpi\Partage\VersionLaPlusRecente.txt
IF %VERSION% GEQ %VERSIONLAPLUSRECENTE% goto end
IF %VERSION% LSS %VERSIONLAPLUSRECENTE% goto upgrade
:upgrade
echo Upgrade requise
set N1=2
set N2=3
set N3=8
%INSTALLSERVER%\fusioninventory-agent_windows-x86_%N1%.%N2%.%N3%.exe /server="%FISERVER%/fusioninventory" /debug=1 /runnow /UPGRADE /acceptlicense /S
IF NOT ERRORLEVEL 0 goto end
echo %VERSIONLAPLUSRECENTE% > "C:\VersionFusionInventory.txt"
rem **** Etiquette d'installation de l'agent fusion inventory sur la machine cliente
echo Installation
%INSTALLSERVER%\fusioninventory-agent_windows-x86_2.3.2.exe /server="%FISERVER%/fusioninventory" /debug=1 /runnow /acceptlicense /S
IF NOT ERRORLEVEL 0 goto end
echo %VERSION% > "C:\VersionFusionInventory.txt"
goto end
REM **** Etiquette de vérifiation du fichier "DEPLOYEDVERSION.txt" si la version de l'agent FusionInventory est mis à jour
:end
ECHO INSTALLATION TERMINEE
pause
=======================================================================================================================================================
Pensez vous que ça pourrait fonctionner comme ça ? Ou mon script n'est pas du tout bon ?
Du coup, pour mettre à jour vers une version plus récente, il suffirait de changer la valeur dans VersionLaPlusRecente.txt, et les valeurs de N1, N2, et N3. Enfin, je vois ça comme ça
Merci à vous
Cordialement,
J'ai une question concernant mon script de déploiement de l'agent Fusioninventory via GPO.
En effet, j'aimerais que ce dernier installe l'agent sur les postes, lorsque ce dernier n'est pas présent. Si l'agent est déjà présent, j'aimerais alors qu'il vérifie la version de l'agent, et, si cette dernière est inférieur à la version la plus récente présente dans le répertoire ou les versions en .exe sont présentes, qu'il se mette à jour.
Je vous joint mon script, mais j'ai bien peur qu'il ne fonctionne pas. N'étant pas un pro du batch.
========== SCRIPT =====================================================================================================================================
ECHO **********************************************************************
ECHO **** Installation automatisée par GPO par l'agent FusionInventory ****
ECHO **** A utiliser via une GPO ****
ECHO **********************************************************************
rem **** Indique la version de l'agent qui est installé
set VERSION=232
rem **** URL d'accès au serveur GLPI
set FISERVER=http://x.x.x.x/glpi/plugins
rem **** Indiquez ici le chemin d'accès complet au serveur vers l'exécutable de l'installation de l'agent
set INSTALLSERVER=\\serveurglpi\Partage
rem **** Verification de l'architecture 32 ou 64bits
IF EXIST "%programfiles(x86)%" goto 64b
echo Système 32 bits détecté
set PROGFOLDER=%programfiles%
echo Dossier d'installation : %PROGFOLDER%\FusionInventory-Agent
goto suite
:64b
echo Système 64bits détecté
set PROGFOLDER=%programfiles(x86)%
echo Dossier d'installation : %PROGFOLDER%\FusionInventory-Agent
goto suite

IF EXIST "%PROGFOLDER%\FusionInventory-Agent\" goto test
:test
set VERSIONLAPLUSRECENTE=<\\serveurglpi\Partage\VersionLaPlusRecente.txt
IF %VERSION% GEQ %VERSIONLAPLUSRECENTE% goto end
IF %VERSION% LSS %VERSIONLAPLUSRECENTE% goto upgrade
:upgrade
echo Upgrade requise
set N1=2
set N2=3
set N3=8
%INSTALLSERVER%\fusioninventory-agent_windows-x86_%N1%.%N2%.%N3%.exe /server="%FISERVER%/fusioninventory" /debug=1 /runnow /UPGRADE /acceptlicense /S
IF NOT ERRORLEVEL 0 goto end
echo %VERSIONLAPLUSRECENTE% > "C:\VersionFusionInventory.txt"
rem **** Etiquette d'installation de l'agent fusion inventory sur la machine cliente
echo Installation
%INSTALLSERVER%\fusioninventory-agent_windows-x86_2.3.2.exe /server="%FISERVER%/fusioninventory" /debug=1 /runnow /acceptlicense /S
IF NOT ERRORLEVEL 0 goto end
echo %VERSION% > "C:\VersionFusionInventory.txt"
goto end
REM **** Etiquette de vérifiation du fichier "DEPLOYEDVERSION.txt" si la version de l'agent FusionInventory est mis à jour
:end
ECHO INSTALLATION TERMINEE
pause
=======================================================================================================================================================
Pensez vous que ça pourrait fonctionner comme ça ? Ou mon script n'est pas du tout bon ?
Du coup, pour mettre à jour vers une version plus récente, il suffirait de changer la valeur dans VersionLaPlusRecente.txt, et les valeurs de N1, N2, et N3. Enfin, je vois ça comme ça

Merci à vous

Cordialement,