voici une méthode pour déployer les maj de sécurité suite au ransomware de mi-mai 2017 :
Il faut que le service windows-update soit activé sur chaque station, on peut l'activer par GPO : stratégie ordinateur\ magret ordinateurs \ 05 services...
Les maj sont à télécharger sur ce site microsoft en chosissant toutes les versions adaptées à votre parc. Prendre (tant qu'à faire!) la version "Correctif cumulatif mensuel".
Par exemple, je n'ai que des w7 64 bits donc j'ai pris la KB4012215 que je renomme KB4012215.msu et que je place dans \\serveur01\packages\
je crée un répertoire \\serveur01\packages\recap\KB4012215 avec les droits en écritures pour les ordinateurs du domaine.
On place ces lignes dans un script d’extinction machine (méthode de création ici)(ou sinon dans le script \\netlogon\magoff.bat qu'on peut créer s'il n'existe pas et qui sera exécuté à la première déconnexion d'un utilisateur)
(Remarque : si vous ne le placez pas dans un script d'extinction de machine, il vaut peut être mieux enlever le "start /wait" avant WUSA pour éviter l'attente mais je n'ai pas testé si ça fonctionne)
- Code: Tout sélectionner
::===============MAJ Windows========================
if exist C:\KB4012215.txt goto fin_KB4012215
start /wait WUSA \\serveur01\packages\KB4012215.msu /quiet /norestart
echo %errorlevel% > \\serveur01\packages\recap\KB4012215\%computername%.txt
if %errorlevel%==3010 echo %errorlevel% > \\serveur01\packages\recap\KB4012215\%computername%.txt
if %errorlevel%==0 echo %errorlevel% > \\serveur01\packages\recap\KB4012215\%computername%.txt
if %errorlevel%==2359302 echo %errorlevel% > \\serveur01\packages\recap\KB4012215\%computername%.txt
if %errorlevel%==3010 echo %errorlevel% > c:\KB4012215.txt
if %errorlevel%==0 echo %errorlevel% > c:\KB4012215.txt
if %errorlevel%==2359302 echo %errorlevel% > c:\KB4012215.txt
:fin_KB4012215
::=======================================================
dans \\packages\recap\kbxxxxx on voit sur quelle station les maj sont faites et
si le code %errorlevel% est 0, c'est ok
si le code est 3010 c'est juste que le programme d'installation attend un redémarrage de la station
si le code est 2359302 c'est que la maj était déjà faite.
(ces code "erreurs" sont aussi indiquées dans C:\KB*******.txt sur la station)
Merci de me signaler les coquilles !

PS : si le package ne correspond pas à la version de windows, pas de pb, ça ne s'installera pas !
mais on peut fignoler le script en détectant la version de windows et en faisant des tests à l'aide de ce genre de script :
- Code: Tout sélectionner
@echo off
ver | find /i "version 10.0." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Insider Preview
ver | find /i "version 10.0.100" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Technical Preview
ver | find /i "version 10.0.10586" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Threshold 2
ver | find /i "version 10.0.10240" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Threshold 1
ver | find /i "version 6.4." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Technical Preview
ver | find /i "version 6.3." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 8.1-2012R2
ver | find /i "version 6.2." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 8-2012
ver | find /i "version 6.1." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 7-2008R2
ver | find /i "version 6.0." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows Vista-2008
ver | find /i "version 5.1." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows XP
ver | find /i "version 5.2." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 2003
ver | find /i "Windows 2000" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 2000
ver | find /i "Windows NT" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows NT
ver | find /i ">Windows ME" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows ME
ver | find /i "Windows 98" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 98
ver | find /i "Windows 95" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 95
echo OS : %$VERSIONWINDOWS%
if exist C:\progra~2 set Xos=64BIT || set Xos=32BIT
echo This is a %Xos% operating system
pause
Astuce de Jean-Yves A :
Si on a plein de maj, on peut aussi les mettre toutes dans un dossier \\serveur01\netlogon\msu
et les lancer avec la ligne :
- Code: Tout sélectionner
FOR %%I in (\\serveur01\netlogon\msu\*.msu) DO START /WAIT WUSA %%I /quiet /norestart
L'avantage de cette dernière méthode est que vous pouvez ajouter les .msu voulus quand bon vous semble...