8. Utiliser les WAPT Windows Update Agent (WAPTWUA) WAPT Enterprise feature WAPT Enterprise feature

Indication

WAPT peut gérer les mises à jours Windows sur vos équipements et remplacer les mises à jour automatiques ou un serveur WSUS.

Responsabilités dans le processus de mise à niveau

Tranquil IT (WAPT) est responsable de:

  • Téléchargement des fichiers de mise à niveau (ISO, scripts) vers le point d’extrémité

  • Lancement de l’analyse de compatibilité ou de la mise à niveau via le fichier setup.exe de Microsoft

  • Return information to the wapt console

  • Nettoyage des fichiers de mise à niveau après le processus

Microsoft reste responsable de:

  • Exécution de l’analyse de compatibilité proprement dite

  • Exécution de la mise à niveau proprement dite (y compris le marquage des machines critiques et la sélection des appareils cibles)

  • Gestion des redémarrages pendant le processus de mise à niveau

  • Rapport sur le succès ou l’échec de la mise à niveau

Attention

Le WAPTWUA ne peut pas fonctionner en même temps que le Microsoft Store.

Ajouté dans la version 2.6.0.16881: changement important: Suppression de la possibilité d’installer les mises à jour Windows à l’arrêt dans waptexit car elle n’est plus supportée dans Windows 11 24h2. Dans waptsetup, la case à cocher est remplacée par une combobox de planification d’installation (si vide, pas d’installation automatique).

Note

WAPTWUA fonctionne avec l’API WUA de Windows.

Les fonctions internes de WAPTWUA sont basées sur l’API WUA. Pour plus d’informations : https://docs.microsoft.com/en-us/windows/win32/wua_sdk/using-the-windows-update-agent-api.

8.1. Principe de fonctionnement

Vidéo de démonstration :

Chaque Patch Tuesday, le Serveur WAPT télécharge un fichier mis à jour wsusscn2.cab depuis les serveurs de Microsoft.

Par défaut, le téléchargement se fait une fois par jour et aucun téléchargement ne se déclenche si le fichier wsusscn2.cab n’a pas changé depuis le dernier téléchargement.

Indication

Pour que WAPTWUA fonctionne, le Serveur WAPT doit avoir accès à :

  • windowsupdate.microsoft.com

  • ..windowsupdate.microsoft.com

  • ..update.microsoft.com

  • windowsupdate.com

  • download.windowsupdate.com

  • download.microsoft.com

  • download.windowsupdate.com

  • wustat.windows.com

  • ntservicepack.microsoft.com

  • go.microsoft.com

  • dl.delivery.mp.microsoft.com

Même si vous choisissez d’autres sources pour les mises à jour de Windows, les ports 443 et 80 doivent accepter le trafic entrant sur le Serveur WAPT.

Diagramme de flux des mises à jour Windows WAPT

Diagramme de flux des mises à jour Windows WAPT

Le fichier wsusscn2.cab est ensuite téléchargé par l’Agent WAPT à partir du dépôt du serveur WAPT, puis transmis à WUA l’utilitaire Windows pour décortiquer l’arbre de mise à jour pour l’hôte.

Régulièrement, l’hôte analysera les mises à jour disponibles en utilisant le fichier wsusscn2.cab. L’hôte enverra sa liste de mises à jour nécessaires au Serveur WAPT.

Si une mise à jour est en attente sur l’hôte et si cette mise à jour n’est pas présente sur le Serveur WAPT, le Serveur WAPT téléchargera la mise à jour nécessaire à partir des serveurs officiels de Microsoft.

Indication

Ce mode opératoire permet à WAPT de ne télécharger que les mises à jour nécessaires aux postes, gagnant ainsi de la bande passante, du temps de téléchargement et de l’espace disque.

Note

Sur le Serveur WAPT, les mises à jour téléchargées sont stockées :

  • sur les hôtes Linux dans /var/www/waptwua ;

  • sur les hôtes Windows dans C:\wapt\waptserver\repository\waptwua.

L’URL de téléchargement du dépôt de l’agent de mise à jour Windows WAPT est basée sur le paramètre repo_url de wapt-get.ini :

Note

  • En cas de dépôt répliqué, il est totalement possible de l’utiliser avec WAPT Windows Update afin de réduire l’utilisation de la bande passante.

Si un proxy est nécessaire pour accéder à Internet, veillez à définir le serveur proxy dans le fichier waptserver.ini.

8.2. Différences entre WAPTWUA et WSUS

WSUS va télécharger par défaut les mises à jours des catégories sélectionnées. Cela peut mener à une base de données vraiment conséquente et une forte utilisation de l’espace de stockage.

WAPT Windows Update ne va que télécharger ce dont il a besoin pour au moins un poste client. Cela aide à garder une base de données locale de petite taille (environ une 10aine de Gigaoctets) et il peut facilement se nettoyer si vous avez besoin de récupérer de l’espace.

WAPT Windows Update ne prend pas en charge HyperV Cluster Aware Updating. Il prend cependant en charge les méthodes de mise à jour standard HyperV non-CUA.

Nous pouvons néanmoins proposer un mode WSUS dans WAPT, dans lequel WAPT fait office de proxy vers ce serveur WSUS. Pour plus d’informations ici

Différences de sécurité entre WAPT et WSUS

WAPT, qui utilise Windows Update Agent (WUA), diffère considérablement de WSUS (Windows Server Update Services) en termes de sécurité, en particulier contre les vecteurs d’attaque connus tels que WSUSpect ou WSUSpendu (regarder ceci pour plus d’informations). Ces attaques exploitent des vulnérabilités de WSUS, telles que la communication HTTP non chiffrée par défaut et la possibilité de manipuler les paquets de mise à jour pendant la transmission, ce qui permet aux attaquants de déployer des mises à jour malveillantes.

Wapt fourni le fichier wsus2.cab aux agent Windows qui leur permet d’analyser les KB manquantes. Cette liste est transmises au serveur WAPT qui ne téléchargent que les KB nécessaire pour votre parc de machine et le met a disposition des machines.

Étant donné que WAPT WUA repose sur des téléchargements directs et la vérification des signatures, les attaques ciblant WSUS ne sont pas applicables. Il n’y a pas de serveur intermédiaire hébergeant les mises à jour qui pourrait être compromis, et les attaquants n’ont pas la possibilité d’injecter des mises à jour malveillantes dans le processus de mise à jour.

De par sa conception, WAPT WUA exploite l’infrastructure de mise à jour sécurisée de Microsoft, ce qui réduit considérablement la surface d’attaque par rapport aux configurations WSUS traditionnelles. Cependant, il reste essentiel de sécuriser l’écosystème WAPT au sens large afin de se protéger contre d’autres vulnérabilités potentielles.

8.3. Gestion des mises à jour spéciales de Windows dans WAPT

8.3.1. Les mises à jours majeures d’OS

Les mises à niveau majeures du système d’exploitation sont des mises à niveau d’une version du système d’exploitation à une autre. Cela inclut, par exemple, les mises à niveau de Windows 10 vers Windows 11, ou de Windows 11 22h2 vers Windows 11 23H2.

Les mises à jour de version majeures sont gérées de la même manière que les mises à jour d’OS mineures. Les mises à jour majeures sont gérées via le téléchargement du contenu de l’ISO de la nouvelle version (même contenu qu’une installation de base) puis lance le setup.exe avec les bons paramètres. Ce Processus est le même que pour WSUS, SCCM et les mises à jour WAPT Windows Updates.

Dans le cas de WAPT Windows Updates, vous aurez besoin de créer un paquet de mise à jour d’OS en utilisant un modèle de paquet fournit sur https://store.wapt.fr.

8.3.2. Les mises à jours de pilotes

Les mises à jour de pilote via WSUS ne sont pas recommandés puisqu »il est difficile de gérer correctement les effets de bord. Dans le cas de WAPT WindowsUpdates, LES PILOTES NE SONT PAS TELECHARGES puisqu’ils ne sont pas référencés dans les fichiers wsusscn2.cab fournis par Microsoft.

Il est recommandé de pousser les mises à jour des pilotes via un paquet WAPT personnalisé. Si le correctif du pilote est empaqueté sous forme de .msu, vous pouvez l’empaqueter comme un paquet WAPT standard.

Il suffit de sélectionner le fichier .msu et de cliquer sur Générer un modèle de paquet ‣ Modèle de paquet ‣ Paquet Windows Update (.msu) dans la Console WAPT pour lancer l’assistant de création simplifiée de package.

Si la mise à jour du pilote est emballée sous forme de .zip contenant le fichier .exe, vous pouvez créer un paquet WAPT contenant les fichiers nécessaires et le binaire setup.exe avec le flag silencieux correct.

8.3.3. Les KB Out of band (Hors bande)

Parfois, Microsoft fournit des mises à jours OOB qui sont en dehors de l’index du wsusscn2.cab. Ces mises à jour ne sont pas inclus dans les mises à jour principales car elles peuvent corriger un problème très spécifique ou peuvent avoir des inconvénients.

Si vous souhaitez déployer une KB de mise à jour OOB, vous pouvez la télécharger depuis le catalogue Microsoft https://www.catalog.update.microsoft.com/Home.aspx.

Il suffit de sélectionner le fichier .msu et de cliquer sur Générer un modèle de paquet dans la Console WAPT pour lancer l’assistant de création simplifiée de package.

Pour ce faire, vous pouvez suivre cette documentation pour construire des fichiers .msu pour ces mises à jour Out-of-band (Hors bande).

Attention

Vous devez vous montrer prudent avec les mises à jour OOB car elles peuvent détruire votre système, assurez-vous de lire les pré-requis sur le rapport Microsoft correspondant à la mise à jour et de tester cette dernière méticuleusement.

8.4. Différents modèles de gouvernance avec WAPTWUA :

WAPT propose trois modèles de gouvernance pour gérer le déploiement de Windows Update :

Modèle de liste blanche (approbation stricte) :

Toutes les mises à jour sont bloquées par défaut :

default_allow = 0

Les mises à jour doivent être explicitement approuvées via les paquets WUA.

Les packages WUA sont régulièrement mis à jour lors du traitement du fichier de métadonnées wsusscn2.cab.

Seules les mises à jour validées et packagées selon les règles WUA sont déployées.

Ce modèle offre un contrôle maximal et convient aux environnements hautement réglementés.

Modèle de liste de blocage (permissif) :

Toutes les mises à jour sont autorisées par défaut.

default_allow = 1

Les mises à jour peuvent toujours être explicitement refusées par le biais de règles.

Aucun filtrage basé sur la criticité n’est appliqué.

Ce modèle minimise les efforts administratifs, mais offre un contrôle moins précis.

Modèle hybride (approbation basée sur la criticité):

Ce modèle combine le blocage par défaut avec l’approbation automatique en fonction de la gravité.

Trois niveaux de criticité peuvent être définis pour les mises à jour Windows : Critical, Important et Moderate.

Exemple de configuration avec uniquement Critical autorisé :

default_allow = 0
allowed_severities = Critical

Dans cet exemple :

Seules les mises à jour critiques sont automatiquement autorisées. Toutes les autres KBs nécessitent une approbation explicite via les packages WUA.

Ce modèle est particulièrement adapté aux organisations qui souhaitent garantir un déploiement rapide des mises à jour critiques pour la sécurité tout en conservant un contrôle strict sur les mises à jour fonctionnelles, facultatives ou de moindre importance.

8.5. Configurer WAPTWUA sur l’Agent WAPT

8.5.1. Configuration du mode de scan de Windows Update

WAPTWUA prend en charge plusieurs modes de récupération et d’application des mises à jour Windows, gérés par le paramètre de configuration scan_service.

Ces modifications doivent être apportées dans le fichier wapt-get.ini de l’agent WAPT.

Valeur

Comportement

OFFLINE (default)

Mode WAPT classique. Les mises à jour sont téléchargées et distribuées par le serveur WAPT lui-même ; le client ne contacte pas directement les services en ligne de Microsoft. Il s’agit du comportement par défaut lorsque scan_service n’est pas explicitement défini.

WU

Le client effectue une analyse en ligne et procède à l’installation directement via le service Windows Update.

WSUS

Le client effectue l’analyse et l’installation via un serveur WSUS, défini par le paramètre wsus_server. WAPT fait office de proxy vers ce serveur WSUS.

Note

Lorsque scan_service est défini sur « WU », WAPT active automatiquement l’accès au service Windows Update sur le client. Sans cela, l’analyse peut échouer avec l’erreur 0x8024002e « L'accès à un serveur non géré n'est pas autorisé », car Windows Update refuse les analyses en ligne lorsqu’il estime être géré par un serveur externe (par exemple WSUS) sans autorisation appropriée.

Configurer les paramètres :

  • scan_service — définit la source de mise à jour utilisée par l’agent : WU, WSUS ou OFFLINE (par défaut).

  • wsus_server — obligatoire lorsque scan_service est défini sur WSUS ; définit l’adresse du serveur WSUS utilisé comme source de mise à jour.

8.5.2. Présentation des options de configuration de WAPTWUA :

WAPTWUA se configure dans wapt-get.ini dans la section [waptwua].

Vous aurez alors plusieurs options :

Options de configuration dans la section « [waptwua] » du fichier wapt-get.ini

Options (valeur par défaut)

Description

Exemple

enabled (default False)

Active ou désactive WAPTWUA sur cet hôte.

enabled = True

direct_download (default False)

Détermine si les mises à jour sont téléchargées directement depuis les serveurs Microsoft.

direct_download = True

default_allow (default False)

Détermine si les mises à jour manquantes sont autorisées par défaut.

default_allow = True

download_scheduling (default None)

Définit la récurrence de l’analyse de Windows Update (download_scheduling réalise un scan puis un téléchargement des KB ) (ne fera rien si la règle du paquet waptwua ou le fichier wsusscn2.cab n’ont pas changé). 1d, par exemple, signifie que toutes les 24 heures, si une mise à jour est en attente, l’ordinateur la téléchargera.

download_scheduling = 1d

install_scheduling (default None)

Définit la fréquence d’installation de Windows Update (la fonction install_scheduling effectue une analyse, un téléchargement et une installation). Par exemple, « 2h » signifie que toutes les deux heures, s’il y a une mise à jour en attente, l’ordinateur l’installera.

install_scheduling = 2h

install_delay (default None)

Définit un délai d’installation différée après la publication dans le référentiel Microsoft. La date de référence de la KB est celle du fichier wsusscn2.cab.

install_delay = 15d

allowed_severities (default None)

Définit une liste de criticité qui seront automatiquement pris en compte lors d’une analyse des mises à jour Windows effectuée par WAPT. Ex. : Important, Critique, Modéré.

allowed_severities = Important

waptexit_disable_skip_windows_updates (default False)

Détermine si la case à cocher Ignorer Microsoft Windows Update`de la fenêtre WaptExit est disponible (``False`) ou non (True).

waptexit_disable_skip_windows_updates = True

include_potentially_superseded_updates (default False)

Détermine si l’agent Windows Update affichera à la fois les articles de base de connaissances (KB) les plus récents et ceux qui ont été remplacés (True), ou uniquement les articles les plus récents (False). Attention : certains ordinateurs peuvent se bloquer en boucle lors de la recherche de mises à jour intermédiaires, ce qui entraîne un délai d’expiration. Définir ce paramètre sur « False » peut résoudre le problème.

include_potentially_superseded_updates = False

Indication

Ces options peuvent être configurées lors de la génération de l’Agent WAPT.

Exemple de section [waptwua] dans le fichier wapt-get.ini :

[waptwua]
enabled = True
default_allow = False
direct_download = False
download_scheduling = 7d
install_at_shutdown = True
install_scheduling = 12h
install_delay = 3d

8.5.3. Configurer WAPTWUA sur l’Agent WAPT:

Cette option est à privilégier, elle permet une configuration détaillée des paramètres WAPTWUA en fonction des postes de travail ou des unités organisationnelles (OU). Elle est également très facile à gérer, car le package peut être modifié à tout moment pour ajouter, supprimer ou modifier des comportements.


Accédez au panneau « Inventaire des paquets » et sélectionnez Générer un modèle de paquet → :guilabel:`Configuration dynamique de l’agent.

Pour créer un paquet de configuration, consultez ici.

Une fois le package de configuration prêt, affectez-le à des hôtes directs ou à une unité organisationnelle (OU).

Par exemple :

Exemple de package de configuration pour les postes de travail avec WUA

Exemple de package de configuration pour les postes de travail avec WUA

Comment lire cet exemple de package de configuration d’hôte pour WAPTWUA spécifique à un système d’exploitation

Une fois ce package de configuration attribué aux hôtes, il en résulte que :

  • La fonctionnalité WAPTWUA est activée

  • Les postes afficheront les mises à jours cumulatives.

  • Les hôtes installeront automatiquement toutes les notes de base de connaissances Microsoft classées « Critiques » et « Importantes », et excluront les autres.

  • Les serveurs rechercheront les mises à jour tous les trois jours et les installeront tous les sept jours, mais uniquement pour les articles de la base de connaissances Microsoft (KB) disponibles depuis plus de cinq jours.

L’option la plus globale, elle applique une configuration WAPTWUA à l’agent lors de son installation


Avantages

Considerations

Déploiement facile : Déploiement initial simple pour tous vos agents WAPT.

Aucune flexibilité : tous les hôtes de l’agent WAPT reçoivent la même configuration (serveur, poste de travail).

Une seule configuration : pas besoin de gérer plusieurs configurations.

Complexité de maintenance : pour modifier ou désactiver WAPTWUA, n’oubliez pas de réinstaller l’agent ou de le remplacer par des paquets de configuration de l’hôte.

Ces options peuvent être configurées lors de la génération de l’Agent WAPT.

Lorsque vous créez le waptagent.exe depuis votre Console WAPT, ces options correspondent à cela :

Par exemple :

Options de menu pour l'agent de mise à jour Windows WAPT

Options de menu pour l’agent de mise à jour Windows WAPT

Comment lire cet exemple de configuration de waptagent

Une fois ce package de configuration attribué aux hôtes, il en résulte que :

  • La fonctionnalité WAPTWUA est activée

  • Les serveurs installeront automatiquement toutes les notes de base de connaissances (KB) critiques, à l’exception des autres.

  • Les serveurs rechercheront les mises à jour tous les trois jours et les installeront tous les sept jours, mais uniquement pour les articles de la base de connaissances Microsoft (KB) disponibles depuis plus de cinq jours.

Avec un package vide, vous pouvez déployer de manière dynamique des configurations ou des logiciels en fonction de certains critères (par exemple, une adresse IP, une unité organisationnelle ou un type de machine) à l’aide de scripts, ce qui permet des déploiements flexibles et automatisés selon le principe « Infrastructure as Code » (IaC).


Avantages

Considerations

Une seule configuration : Gérez plusieurs configurations à l’aide d’un seul package.

priorité : Lorsque vous utilisez à la fois un paquet de code et un paquet de configuration, définissez des niveaux de priorité afin d’éviter tout conflit et de garantir l’application des paramètres corrects.

Note

Un éditeur de code doit être installé sur le poste de travail.

Ouvrez la console WAPT, accédez à Outils → Préférences → Panneau avancé, puis modifiez le champ « Éditeur de code » pour sélectionner l’éditeur de votre choix (par exemple, PyScripter, VSCode, etc.).

Accédez au panneau « Inventaire des paquets » et sélectionnez Créer un modèle de paquet à partir du fichier de configurationModèle de paquetPaquet videContinuer.

Remplissez les quelques champs avec les informations requises, puis cliquez sur Modifier manuellement.

L’éditeur s’ouvrira avec le paquet, ce qui vous permettra de modifier directement les fichiers.

Vous trouverez ci-dessous un exemple de méta-paquet qui répertorie les systèmes d’exploitation des machines sur lesquelles le paquet est installé. Selon que la machine est un poste de travail Windows 11 ou un serveur Windows Server 2025, il applique une configuration spécifique :

Exemple : méta-paquet pour les paramètres WAPTWUA spécifiques au système d'exploitation
def install():
    import platform

    windows_version = platform.platform()

    if "Server 2025" in windows_version:
        print("Applying WAPTWUA configuration for Windows Server 2025")
        inifile_writestring(WAPT.config_filename, 'waptwua', 'enabled', 'true')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'default_allow', 'false')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'allowed_severities', 'Critical')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'download_scheduling', '3d')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'install_scheduling', '10d')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'install_delay', '5d')

    elif "Windows-11" in windows_version:
        print("Applying WAPTWUA configuration for Windows 11")
        inifile_writestring(WAPT.config_filename, 'waptwua', 'enabled', 'true')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'default_allow', 'true')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'download_scheduling', '2d')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'install_scheduling', '5d')

    else:
        print("Applying default WAPTWUA configuration")
        inifile_writestring(WAPT.config_filename, 'waptwua', 'enabled', 'true')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'default_allow', 'true')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'download_scheduling', '2d')
        inifile_writestring(WAPT.config_filename, 'waptwua', 'install_scheduling', '5d')

    print('Reloading WAPT configuration')
    WAPT.reload_config_if_updated()

Comment lire cet exemple de méta-paquet pour WAPTWUA spécifique à un système d’exploitation

Une fois ce package de configuration attribué aux hôtes, il en résulte que :

Pour Windows Server 2025 :

  • Autorise uniquement l’installation des mises à jour critiques (et de celles approuvées manuellement via le package WUA).

  • Effectue un scan et un téléchargement tous les 3 jours.

  • Les mises à jour sont installées au bout de 10 jours, mais uniquement si la KB a été publié depuis plus de 5 jours.

Pour les postes de travail sous Windows 11 :

  • Effectue un scan et un téléchargement des KBs tous les deux jours.

  • Installe toutes les mises à jour proposées par Microsoft.

  • Installe les mises à jour au bout de 5 jours.

Une fois le package de configuration prêt, affectez-le à des hôtes directs ou à une unité organisationnelle (OU).

8.6. Utiliser WAPTWUA depuis la Console WAPT

  • Règles WUA dans l’onglet WAPT Packages :

    Création de paquets de regroupement de profils dans la Console WAPT

    Création de paquets de regroupement de profils dans la Console WAPT

    • Lorsque ce type de paquet est installé sur une machine, il indique à l’Agent WAPTWUA les KBs autorisées ou interdites.

    • Lorsque plusieurs paquets de règles waptwua sont installés sur la machine, les différentes règlesvont fusionner.

    • Lorsqu’une cab n’est ni mentionnée comme autorisée ni mentionnée comme interdite, les Agents WAPT vont alors prendre la valeur du default_allow dans wapt-get.ini.

    Note

    • Si la configuration de l’agent WAPTWUA est définit à default_allow = True, alors il sera nécessaire de spécifier les cab interdites.

    • Si la configuration de l’Agent WAPTWUA est définit à default_allow = False , il sera nécessaire de spécifier les cab autorisées.

    Indication

    • Pour tester les mises à jour sur un petit nombre d’ordinateurs, vous pouvez définir l’échéance par défaut du paquet WAPTWUA sur PREPROD.

    • Vous pouvez tester les mises à jour sur un petit groupe de postes et si tout se passe bien, vous pouvez lancer les mises à jour à votre flotte complète de postes.

  • L’onglet Windows Updates:

    Les mises à jour Windows en attente affichées dans la console WAPT

    Les mises à jour Windows en attente affichées dans la console WAPT

    L’onglet Liste Windows Update liste toutes les Mises à Jour Windows demandées.

    Important

    Le serveur WAPT ne scanne pas le wsussc2.cab lui-même, il laisse l’utilitaire Windows Update Agent présent sur tous les hôtes Windows le faire. Si une mise à jour semble manquer dans la liste, vous DEVEZ exécuter un scan sur l’un des hôtes présents dans la Console WAPT. Si vous exécutez un scan WUA WAPT sur un client Windows 10, les fichiers CAB et Windows 10 seront affichés dans l’onglet Windows Update.

    Le panneau de gauche affiche les catégories des mises à jour, vous permettant de filtrer par :

    • criticité ;

    • produit ;

    • classification.

    Dans le panneau de droite, si la colonne Téléchargée le est vide, cela signifie que les mises à jour n’ont pas encore été téléchargées par le Serveur WAPT et n’est pas présent sur le Serveur WAPT (Cette mise à jour n’est pas manquante sur les postes).

    • Vous pouvez forcer le téléchargement de la mise à jour en faisant clic-droit ‣ Télécharger les mises à jour sélectionnées.

    • Vous pouvez aussi forcer le téléchargement du fichier wsusscn2.cab avec le bouton Télécharger le cab WSUSScan depuis le site de Microsoft.

    • Vous pouvez voir le téléchargement des mises à jour Windows sur le serveur avec le bouton Afficher la tâche de téléchargement .

    Indication

    Toutes les 30 minutes, le Serveur WAPT va chercher les mises à jour qui ont été demandées au moins une fois par les client WAPT et qui n’ont pas été téléchargées en mises en cache. » Si une mise à jour est en attente, le Serveur WAPT var le télécharger depuis les sites officiels de Microsoft.

    Vous pouvez forcer ce scan avec le bouton Télécharger le cab WSUSScan depuis le site de Microsoft ; dans l’onglet Mises à jour Windows ‣ Liste Windows Updates

8.6.1. Nettoyer des vieilles Windows Update

Vous pouvez exécuter le nettoyage manuellement ou automatiquement.

Si la base de connaissances n’est pas installée sur l’hôte, elle est automatiquement supprimée sur le serveur WAPT tous les jours entre 2 h 30 et 3 h 30. Il est possible de désactiver la suppression automatique de la base de connaissances à l’aide de l’option cleanup_kbs dans le fichier de configuration waptserver.ini du serveur WAPT.

Ajoutez ce paramètre dans le fichier de configuration du serveur WAPT :

cleanup_kbs = False

Pour nettoyer le dossier waptwua, accédez à l’onglet Mise à jour Windows et cliquez sur le bouton Supprimer les fichiers KB inutilisés. En cliquant sur ce bouton, vous supprimerez tous les fichiers KB inutilisés stockés sur le serveur WAPT.

Bouton permettant de supprimer les bases de connaissances inutilisées dans la console WAPT

Il est possible de supprimer manuellement du serveur WAPT tout fichier Windows Update qui n’est plus nécessaire.

Le serveur WAPT ne téléchargera à nouveau les mises à jour supprimées que si l’un des agents WAPT en fait la demande.

Sur le Serveur WAPT, les mises à jour téléchargées sont stockées :

  • Sur les serveurs Linux, dans le répertoire /var/www/waptwua.

  • Sur les machines Windows, dans le répertoire C:\wapt\waptserver\repository\waptwua.

8.6.2. Lancer WUA sur les clients

Depuis la Console WAPT vous avez trois options.

Boutons d'action de Windows Update disponibles dans la Console WAPT

Boutons d’action de Windows Update disponibles dans la Console WAPT

  • Le bouton Lancer la recherche de mises à jour va lancer le scan sur le client et va lister toutes les mises à jour marquées pour l’OS.

  • Le bouton Lancer le téléchargement des Mises à jour Windows en attente va lancer le téléchargement des mises à jour en attente sur le client.

  • Le bouton Lancer l’installation des mises à jour Windows en attente va lancer l’installation des mise à jour téléchargées sur le client.

Indication

Lorsque des mises à jour en attente sont stockées en cache pour être installer, l’Agent WAPT va déclencher le service WUA.

L’Agent WAPT va activer et démarrer le service WUA temporairement pour installer les mises à jour. Lorsque les mises à jour sont installées, waptservice va couper et désactiver le service WUA jusqu’au prochain cycle.

8.6.3. État des mises à jour sur l’hôte

Les mises à jour Windows peuvent avoir 4 états sur un poste.

Statuts

Description

OK

Une mise à jour Windows qui s’est correctement installé.

MISSING

Une mise à jour Windows qui n’a pas encore été téléchargé sur le Serveur WAPT.

PENDING

Le Serveur WAPT sait qu’il doit télécharger une mise à jour depuis les serveurs officiels de Microsoft.

DISCARDED

Une mise à jour Windows interdites par des règles.

Les mises à jour Windows en attente affichées dans la Console WAPT

Les mises à jour Windows en attente affichées dans la Console WAPT

8.6.4. Notion d’UpdateID

Dans WAPT nous n’utilisons pas les kbids mais les updateids.

Cela permet d’être plus fin dans la gestion des mises à jour.

Liste montrant les KB en double dans la Console WAPT

Liste montrant les KB en double dans la Console WAPT

Dans cet exemple, la KB4537759 apparaît de multiples fois car il y a 3 différents updateids :

  • win10 1803 ;

  • win10 1903 ;

  • win10 1909 ;

Vous devriez également autoriser une mise à jour et non pas une kb ids.

8.7. WAPT ne force pas Windows à désinstaller une Windows Update

Attention

La désinstallation d’une mise à jour de Windows peut être dangereuse pour l’hôte.

Désinstaller une mise à jour Windows peut être dangereux pour la machine. Quand une mise à jour est détectée comme interdite par WAPT, sa désinstallation ne sera PAS forcée.

Indication

Si vous utilisez l’onglet « Mises à jour Windows », vous pouvez voir la colonne « désinstallable ». Cela permet de vérifier si le kb est désinstallable ou non.

wapt kb uninstalable status

wapt kb uninstalable status

Si vous souhaitez vraiment désinstaller une mise à jour, vous devez conditionner la KB que vous souhaitez désinstaller en tant que paquet WAPT standard.

Voici un exemple :

from setuphelpers import *
from setuphelpers import get_kb_dism_name

kbs = ['kb5012170']
def install():
  dism_data = get_kb_dism_name()
  with EnsureWUAUServRunning():
      for kb in kbs:
      if kb.lower() in dism_data:
          run('"%s" /Online /Remove-Package /PackageName:%s /Quiet /NoRestart' % (makepath(system32(), 'Dism.exe'), dism_data[kb.lower()]), timeout=900)
          print('reboot needed')
      else:
          print('kb %s not found' % kb)

Ensuite, vous devez redémarrer la machine et lancer un scan de mise à jour de Windows via WAPT pour voir que le kb a été désinstallé sur la machine.

8.8. WUA hors ligne

8.8.1. WUA hors ligne à partir de la console

En raison de contraintes spécifiques, votre serveur WAPT n’est pas directement accessible depuis Internet, mais vous souhaitez tout de même bénéficier de Windows Update (WUA) pour vos agents. Nous avons une solution adaptée à cette situation.

Le processus consiste à utiliser un agent WAPT pour télécharger les KB manquants à l’aide d’un fichier contenant des liens curl vers les mises à jour wsusscn2.cab et PENDING sur les postes de travail qui ne sont pas présents sur le serveur WAPT. L’agent téléchargera alors les fichiers nécessaires (tels que les fichiers .cab, .msu, etc.). Ces fichiers peuvent ensuite être importés directement sur le serveur WAPT. Une fois les fichiers disponibles sur le serveur, ils seront automatiquement proposés aux autres agents qui ont besoin de ces mises à jour.

Bouton d'action Gestion WUA hors ligne

Bouton d’action Gestion WUA hors ligne

  • Le bouton Gestion WUA hors ligne ; vous permet d’afficher les liens directs, les noms de fichiers des KB en attente et leurs hashs associés (sha1). En bas, les boutons Importer le fichier d’index wsusscn2.cab et Exporter en curl.

  • Le bouton Importer le fichier d’index wsusscn2.cab permet d’ouvrir un explorateur Windows sur votre poste de travail, afin de télécharger les fichiers de mise à jour directement sur le serveur WAPT.

  • Le bouton Import WUA CAB file permet d’ouvrir un explorateur Windows sur votre poste de travail, afin de télécharger les fichiers de mise à jour directement sur le serveur WAPT.

  • Le bouton Export as curl ; Un fichier est généré contenant les liens curl pour les mises à jour Windows manquantes. Vous pouvez alors exécuter une commande pour lancer le téléchargement des mises à jour KB spécifiées dans le répertoire souhaité.

8.8.1.1. Procédure de fonctionnement

Note

Vous devrez répéter la procédure chaque mois lorsque Microsoft publiera ses correctifs.

  1. Sur une machine avec accès à l’internet :

curl -O http://download.windowsupdate.com/microsoftupdate/v6/wsusscan/wsusscn2.cab
  1. Sur une console WAPT connectée au serveur WAPT isolé, allez dans l’onglet Windows Update, puis cliquez sur Gestion WUA hors ligne, Importer le fichier d’index wsusscn2.cab et importez le fichier cab téléchargé précédemment.

  2. Clic droit sur les machines, Lancer la recherche des Mises à jour Windows à appliquer.

  3. Les mises à jour manquantes apparaîtront alors dans l’onglet Mises à jour Windows, cliquez sur Gestion WUA hors ligne, Exporter en curl.

  4. Sur une machine disposant d’un accès à Internet, téléchargez les mises à jour à l’aide des commandes répertoriées dans le fichier d’exportation.

  5. Sur une console WAPT connectée au serveur WAPT isolé, allez dans l’onglet Mise à jour Windows, puis cliquez sur Gestion WUA hors ligne, Importer le fichier d’index wsusscn2.cab et importez les fichiers cab téléchargés précédemment.

  6. Des mises à jour sont désormais disponibles pour les agents de l’AMPT.

8.8.2. WUA hors ligne à partir d’un agent WAPT

Nous proposons également de mettre en œuvre ce processus de manière plus automatisée grâce à un package WAPT dédié.

Ce package, déployé sur une machine disposant d’un accès Internet et d’une connectivité au serveur WAPT, permet la mise à jour régulière du fichier wsusscn2.cab` et le téléchargement automatique des fichiers Windows Update requis vers le serveur WAPT, sans aucune intervention manuelle.

Pour garantir un fonctionnement correct, il est recommandé de lancer ce paquet (force) de manière à ce qu’il s’exécute au moins une fois par mois.

Avec cette approche, la machine désignée devient effectivement un nœud relais, chargé de récupérer les catalogues Windows Update et les fichiers associés à partir du catalogue Microsoft Update, puis de les transmettre automatiquement au serveur WAPT via son API.

Le serveur WAPT peut alors mettre ces éléments à la disposition des agents WAPT fonctionnant en mode WUA. Les machines clientes peuvent comparer leur état de mise à jour par rapport au catalogue synchronisé, identifier les KBs manquantes, puis télécharger et installer uniquement les mises à jour requises.

Le code du paquet à personalisé
import requests
import json
import os
import waptlicences
import sys

waptgetini = '/opt/wapt/wapt-get.ini'
username= "username" #personalize
password = "password" #personalize
proxies = {}

sys.path.append('/opt/wapt')
from common import Wapt
from waptpackage import WaptRemoteRepo
from common import get_requests_client_cert_session

from setuphelpers import wget
from waptutils import FileChunks,sha256_for_file

wsource = WAPT

t = waptlicences.waptserver_login(waptgetini,username,password)
session_cookies = t['session_cookies']['session']
session_cookies['Name'] = 'session'

wapt_url_source = wsource.waptserver.server_url
source_repo = WaptRemoteRepo(url=wsource.waptserver.server_url + '/wapt', verify_cert=wsource.waptserver.verify_cert)

sessionwaptsource = get_requests_client_cert_session(wsource.waptserver.server_url,cert=(t['client_certificate'],t['client_private_key'],t['client_private_key_password']),verify=wsource.waptserver.verify_cert)

sessionwaptsource.cookies.set(session_cookies['Name'], session_cookies['Value'], domain=session_cookies['Domain'])
sessionwaptsource.verify = wsource.waptserver.verify_cert

source_repo.client_certificate  = t['client_certificate']
source_repo.client_private_key  = t["client_private_key"]
source_client_private_key_password     = t["client_private_key_password"]

waptserver_url = wsource.waptserver.server_url
waptserver = sessionwaptsource

data = waptserver.get('%s/api/v3/show_download_missing_cabs' % waptserver_url)
urls_download = json.loads(data.content.decode('utf-8'))['result']

#wsusscn1.cab
wget("https://catalog.s.download.windowsupdate.com/microsoftupdate/v6/wsusscan/wsusscn2.cab","wsusscn2.cab",proxies=proxies)
filename = "wsusscn2.cab"
sha2file = sha256_for_file(filename)
chunks = FileChunks(filename=filename)
waptserver.post('%s/api/v3/upload_windows_updates?filename=%s&overwrite=1&hash=%s' % (waptserver_url,filename,sha2file),data=chunks.get())

# upload other file
for u in urls_download:
    filename = u.split('/')[-1]
    wget(u,filename,proxies=proxies)
    sha1file = filename.split('_')[1].split('.')[0]
    chunks = FileChunks(filename=filename)
    waptserver.post('%s/api/v3/upload_windows_updates?filename=%s&overwrite=0&hash=%s' % (waptserver_url,filename,sha1file),data=chunks.get())