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
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"