Table des matières

WPKG

WPKG est un outil de déploiement de logiciel pour les machines équipées d'un système d'exploitation de qualité douteuse Microsoft Windows. Il permet de simplifier l'installation, la mise à jour ou la suppression d'un grand nombre de programmes sur un parc de machines. Je vous invite à aller lire la documentation officielle.

Cette page recense simplement les quelques logiciels que nous déployons. La plupart sont tirés des exemples disponibles sur le site officiel, avec quelques modifications

Logiciels

Mises à jour locales

Pour accélérer les mises à jour, il faut les exécuter en locale, et donc synchroniser le dépôt entier depuis un serveur central vers le poste, puis, détecter si il y a eu des changements depuis la dernière exécution, et si oui, lancer les mises à jour

Pour synchroniser, on peut le faire avec RobotCopy, depuis un point webdav.

mkdir %SystemDrive%\wpkg\
mkdir %SystemDrive%\wpkg\repository
mkdir %SystemDrive%\wpkg\status

Il faut d'abord augmenter la taille max des fichiers récupérés par webdav:

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
"FileSizeLimitInBytes"=dword:ffffffff
@echo off
 
SET USER=deploiement
SET PASS=p@ssw0rd
SET REPO=https://sme.domain.tld/wpkg/
REM SET REPO=\\192.168.7.1\wpkg
 
echo %DATE% %TIME% > %SystemDrive\wpkg\status\sync_in_progress.txt
 
net use W: %REPO% /USER:%USER% %PASS%
 
robocopy /MIR /R:10 /LOG:%SystemDrive%\wpkg\status\sync_log.txt W:\ %SystemDrive%\wpkg\repository\

REM Fatal Error
if %ERRORLEVEL% EQU 16 goto cleanup
REM Copy done, with errors, mismatches and new files not copied
if %ERRORLEVEL% EQU 15 goto cleanup
REM Copy failed, with mismatches and new files not copied
if %ERRORLEVEL% EQU 14 goto cleanup
REM Copy done, with errors and mismatches
if %ERRORLEVEL% EQU 13 goto cleanup
REM Copy failed with mismatches
if %ERRORLEVEL% EQU 12 goto cleanup
REM Copy done with errors and new files not copied
if %ERRORLEVEL% EQU 11 goto cleanup
if %ERRORLEVEL% EQU 10 echo FAIL + XTRA & goto end
REM Copy done with errors
if %ERRORLEVEL% EQU 9 goto cleanup
REM Copy failed
if %ERRORLEVEL% EQU 8 goto cleanup
REM Copy done, with mismatches and new files not copied
if %ERRORLEVEL% EQU 7 goto cleanup
REM Mismatches and new files not copied
if %ERRORLEVEL% EQU 6 goto cleanup
REM Copy done with mismatches
if %ERRORLEVEL% EQU 5 goto cleanup
REM Mismatches
if %ERRORLEVEL% EQU 4 goto cleanup
REM Copy done, new files not copied
if %ERRORLEVEL% EQU 3 goto cleanup
REM New files not copied
if %ERRORLEVEL% EQU 2 goto cleanup
REM Copy done, we have new files, updates is required
if %ERRORLEVEL% EQU 1 goto exec
REM No error, nothing copied, no updates
if %ERRORLEVEL% EQU 0 goto cleanup

:exec
echo %DATE% %TIME% > %SystemDrive%\wpkg\status\updates_pending.txt
goto :EOF

:cleanup
del %SystemDrive\wpkg\status\sync_in_progress.txt
schtasks.exe /Create /tn "sync_wpkg" /sc hourly /mo 3 /ru "SYSTEM" /tr "%SystemDrive%\bin\sync_wpkg.bat"