Jean-Sébastien DUCHENE Blog's

Actualité, Tips, Articles sur l'ensemble des Technologies Microsoft (Microsoft Intune, ConfigMgr, Microsoft Defender, Microsoft Purview, Microsoft Azure, Windows...)

Un de mes clients m’a transféré un problème (merci à lui) qui survient sur la fonctionnalité Server Group de System Center Configuration Manager. Pour rappel, cette fonctionnalité permet de configurer les paramètres de groupe de serveurs d'une collection pour définir combien, quel pourcentage ou dans quel ordre les périphériques de la collection installeront les mises à jour logicielles. Vous pouvez également configurer des scripts PowerShell de pré-déploiement et post-déploiement pour exécuter des actions personnalisées.

Le problème décrit ici touche toutes les versions de System Center Configuration Manager depuis que la fonctionnalité est disponible (1606 à 1902). En l’occurrence, il intervient dans le scénario suivant :

  • Vous configurez une collection avec plusieurs machines.
  • L’option All devices are part of the same server group est activée.
  • Vous configurez les paramétrages pour utiliser mettre à jour 100% des machines au même moment. L’interface permet cette configuration bien qu’elle puisse paraître non censée vis-à-vis des cas d’usages initiaux de la fonctionnalité :

Le client souhaitait en l’occurrence utiliser la fonctionnalité Server Group pour exécuter des scripts de pré et post déploiement sur un ensemble de machines qui devaient être mises à jour en même temps.  

Dans ce cas de figure et dans les versions actuelles, la mise à jour est faite de manière séquentielle ; c’est-à-dire une machine après l’autre. Ceci ne correspond pas au comportement attendu.

Microsoft devrait modifier le comportement dans System Center Configuration Manager 1906. En attendant, vous pouvez appliquer la solution de contournement suivante :

  1. Via SQL Server Management Studio, connectez-vous au serveur de base de données.
  2. Ouvrez le nœud des procédures stockées (stored procedures) et identifiez la procédure SpDeploymentMutex
  3. Cette procédure est responsable de la délivrance du verrou utilisé par la fonctionnalité Server Group.
  4. Sauvegardez la procédure stockée en réalisant un export.
  5. Identifiez ensuite le code suivant dans la procédure :

if @UseClusterPercentage = 1 or @UseClusterPercentage = 2

        begin

            if @UseClusterPercentage <> 0

            begin

                set @AllowedCount = @ClusterCount

            end

  1. Remplacez ligne en gras par : if @UseClusterPercentage = 2
  2. Sauvegardez la procédure stockée.
  3. Validez le comportement sur votre infrastructure
Facebook Like