Gestion des KB sur une machine
Ce script permet une gestion succinte des KB sur une machine Windows.
@echo off
cls
TITLE Gestion des KB
REM
REM Gestion des KB install‚s sur la machine
REM
REM O.BRizard 2022
REM
REM Le script doit etre execut‚ en tant qu'administrateur
:_start
echo.
echo 1 - Rechercher d'un KB install‚.
echo 2 - Supprimer un KB install‚.
echo 3 - Lister les KB install‚s.
echo 4 - Lancer Windows Update.
echo 5 - Installer un KB (en test)
echo.
echo *****
echo q - Quitter
echo.
:loop
set /p choix=Votre choix:
if /i "%choix%"=="1" goto :recherche
if /i "%choix%"=="2" goto :suppression
if /i "%choix%"=="3" goto :liste
if /i "%choix%"=="4" goto :update
if /i "%choix%"=="5" goto :installKB
REM Pour quitter
if /i "%choix%"=="" goto :end
if /i "%choix%"=="q" goto :end
goto :loop
:recherche
set KBID=
:findLoop
set /p KBID= Le KB … rechercher, format KBxxxxxxx:
if /i "%KBID%"=="" goto findLoop
echo.
wmic qfe |findstr /r /s /i /m /c:" %KBID% "
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic qfe ^|findstr /r /s /i /m /c:" %KBID% "^|find /C " %KBID% "`) DO SET var=%%F
if "%var%"=="0" (
echo. && echo *** Le KB %KBID% n'est pas install‚ ***
echo.
)
goto _start
:suppression
:suppLoop
set KBID=
set /p KBID= Le KB … supprimer (sans les letrres KB):
if /i "%KBID%"=="" goto suppLoop
echo.
set /p suppConfirm= Vous ˆtes sure [o/N] ? :
if /i "%suppConfirm%"=="o" cls && wusa /uninstall /kb:%KBID%
if /i not "%suppConfirm%"=="o" echo Annulation de la suppression.
goto _start
:liste
echo.
REM Liste des tous les KB install‚s
wmic qfe get Description,HotFixID,InstalledOn
goto _start
:update
echo.
REM Lance une mise … jour
control update
cls
goto _start
:installKB
REM en powershell
:installLoop
set KBID=
set /p KBID= Le KB … installer:
if /i "%KBID%"=="" goto installLoop
REM On verifie qu'il n'est pas d‚j… install‚
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic qfe ^|findstr /r /s /i /m /c:" %KBID% "^|find /C " %KBID% "`) DO SET var=%%F
if "%var%"=="1" (
echo. && echo *** Le KB %KBID% est d‚j… install‚ ***
echo.
timeout /T 5
goto _start
)
REM On install le module powershell pour gerer les updates
powershell -Command "& {Install-Module PSWindowsUpdate}"
REM On lance l'installation du KB
powershell -Command "& {Get-WindowsUpdate -KBArticleID %KBID% -Install}"
REM On v‚rifie que le KB est bien install‚
echo.
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic qfe ^|findstr /r /s /i /m /c:" %KBID% "^|find /C " %KBID% "`) DO SET var=%%F
if "%var%"=="1" echo Le KB %KBID% est bien install‚
if "%var%"=="0" echo Erreur d'installation du KB %KBID%
echo.
timeout /T 5
goto _start
:end
echo.
echo A bientot...
timeout /T 01>nul
exit 1
Dernière modification : le 2023/03/03
