Une approche modulaire des configurations dynamiques de l'ASN

Développer des processus de base pour déployer et maintenir des configurations DSC sur des centaines de systèmes pour des entreprises ou les réutiliser pour différents clients en tant que MSP.
Image de Ante

Ante

Table des matières

PowerShell DSC est une plateforme de gestion dans PowerShell qui vous permet de gérer votre infrastructure informatique et de développement sous forme de configuration en tant que code. Comme DSC utilise une syntaxe déclarative et PowerShell comme base, il est rapidement devenu l'une des plateformes de configuration en tant que code les plus populaires.

Avec la augmentation des modules construits par la communauté En dépit de l'amélioration des fonctionnalités, certaines limitations et certains défis ont été introduits. Les plus importants sont probablement la complexité des grandes configurations et la gestion des versions des modules et des configurations DSC.

Pour déployer des configurations DSC et les maintenir sur des centaines de systèmes si vous êtes une entreprise, ou pour réutiliser les mêmes configurations de base pour différents clients si vous êtes un MSP, vous devez développer certains processus de base. ✅

Comment XOAP peut-il vous aider ?

En combinant différentes fonctionnalités, vous pouvez relever ces défis grâce à trois étapes simples :

  1. Créez un module DSC de base à l'aide de notre Modèle de module DSC avec tous les paramètres que vous souhaitez déployer en tant que ligne de base.
  2. Créer des configurations en combinant des ressources DSC de base et des configurations spécifiques pour différents départements ou clients.
  3. Déployer des configurations et installer des applications en combinant des groupes de configuration et des rôles d'application, et enregistrer votre système (nœud) dans le groupe spécifique.

Avant d'expliquer comment tout configurer avec XOAPPour plus d'informations, veuillez consulter le schéma suivant qui présente la logique et les relations entre le module de base et les configurations :

XOAP schema that displays the logic and relations between the baseline module and configurations

Configurations sont des scripts PowerShell déclaratifs qui définissent et configurent les instances de ressources.

Ressources sont la partie "faire en sorte que" de DSC. Ils contiennent le code qui place et maintient la cible d'une configuration dans l'état spécifié.

Dans le monde réel, les configurations peuvent devenir longues et complexes, appelant de nombreuses ressources différentes et définissant un grand nombre de propriétés. Pour remédier à cette complexité, vous pouvez utiliser une configuration Windows PowerShell Desired State Configuration (DSC) comme ressource pour d'autres configurations, appelées modules DSC.

Modules combinent plusieurs ressources qui peuvent être intégrées de manière dynamique dans différentes configurations.

Le module de base du diagramme définit des ressources qui définissent des paramètres spécifiques pour tous les clients ou départements. Ces ressources peuvent être réutilisées et intégrées séparément dans différentes configurations DSC pour des cas d'utilisation spécifiques. 

L'utilisation de modules pour créer des ensembles de ressources spécifiques pour certains cas d'utilisation rend ces modules réutilisables et dynamiquement assignables à différentes configurations DSC qui font référence au module et à la ressource spécifique contenue dans ce module.

Avec cette approche, nous avons un versionnage au niveau du module. Comment faire pour que cela fonctionne avec XOAP ? C'est parti ! ⬇️

Étape 1 : Créer un module DSC de base

➡️ Pour créer le module de base, vous pouvez utiliser notre modèle disponible sur GitHub.

Téléchargez le contenu, naviguez jusqu'à l'emplacement du dossier de téléchargement, modifiez la commande suivante avec vos valeurs et exécutez-la :

.\NNew-CompositeResource.ps1 -Module XOAPModuleTemplateDSC' (modèle de module) -Version ‘0.0.1’ -Ressources DSCResource

Cela créera une structure de dossier comme celle-ci :

XOAPModuleTemplate
          |
          |_0.0.1
                     |
                     |DSCResources
                     | |_DSCResoursce
                     |
                     |Exemples

Dans le DSCResource, vous trouverez deux fichiers : DSCResoursce.psd1 et DSCResoursce.schema.psm1.

Modifiez le fichier DSCResoursce.schema.psm1. et insérez-y votre code de configuration DSC.

Exemple :

				
					Configuration 'XOAPRemoteDesktopServicesDSC'
{
	Import-DSCResource -Module 'XOAPRemoteDesktopServicesDSC' -Name 'XOAP_RDSQuickStartConfiguration' -ModuleVersion '0.0.1'

    param
        (
            [string[]]$ConnectionBrokerServerName = 'connectionbroker.domain.com'
            [string[]]$SessionHostServerName = 'sessionhost.domain.com'
            [string[]]$AllowedUserGroup = 'domain\group'
        )

	        Node 'XOAPRemoteDesktopServicesDSC'
	        {
            XOAP_RDSQuickStartConfiguration 'Exemple'
            {
                ConnectionBrokerServerName = $ConnectionBrokerServerName
                SessionHostServerName = $$SessionHostServerName
                AllowedUserGroup = $$AllowedUserGroup
            }
	         }
	        }
XOAPRemoteDesktopServicesDSC -OutputPath 'C:\XOAPRemoteDesktopServicesDSC'
				
			

La commande Import-DSCResource vous permet de charger des paramètres spécifiques à partir d'autres modules en définissant le nom du module, le nom de la ressource et la version du module.

De plus amples informations sur l'écriture des ressources composites DSC sont disponibles. ici.

Une fois créé, vous devez télécharger le module dans votre espace de travail XOAP. Vous trouverez plus d'informations sur la manière de procéder sur notre site Web. page de documentation.

Étape 2 : Créer des configurations

Ensuite, créez des configurations combinant vos ressources DSC de base et des configurations spécifiques pour différents départements ou clients.

Pour créer des configurations, naviguez jusqu'au module Configuration Management et cliquez sur +.

Créez une configuration pour votre service ou votre client en utilisant les ressources du module téléchargé et combinez-la avec d'autres modules.

Dans l'assistant de configuration, cliquez sur "Ajouter des ressources", sélectionnez le module, la version et la ressource. Dans "Créer une nouvelle ressource", remplissez les données requises :

Create new resource in XOAP

Lorsque vous avez rempli toutes les données, cliquez sur Économiser pour ajouter la ressource à la configuration.

Pour créer une configuration, cliquez sur Économiser et saisissez les informations relatives à la version. Dans la fenêtre "Enregistrer la configuration", cliquez sur Économiser lorsque vous êtes prêt.

Save configuration in XOAP wizard

Pour plus d'informations sur l'utilisation de l'assistant de configuration, voir dans nos documents.

Étape 3 : Attribuer des configurations

Pour attribuer une configuration à plusieurs systèmes (nœuds), utilisez les "groupes". Pour créer un nouveau groupe, naviguez vers Configuration Management > Groupes et cliquez sur +.

Groups option

Dans la fenêtre "Ajouter un groupe", entrez le nom du groupe et sélectionnez une "Configuration", une "Version" spécifique et une "Politique". Si vous souhaitez installer des applications sur les systèmes, vous pouvez également sélectionner un "rôle d'application".

Add groups in XOAP

En exécutant le script d'enregistrement ou la commande d'enregistrement sur les nœuds, vous pouvez les ajouter au groupe. La configuration sera alors appliquée.

Groups options menu

Pour plus d'informations, consultez le site cette page de documentation.

Maintenir les configurations à jour

Comment maintenir les configurations à jour, ou mieux encore, comment les entretenir ?

Si vous devez mettre à jour des configurations liées à un client, naviguez vers "Configurations", localisez la configuration spécifique et cliquez sur le menu d'action pour Editer il.

Edit option in menu of Configurations

Chaque modification sauvegardée d'une configuration crée une nouvelle version. Cette version peut être attribuée aux groupes que vous avez créés précédemment. Dès que vous mettez à jour la version de configuration au sein du groupe, les nœuds assignés mettront à jour leurs configurations sur la base de l'intervalle de mise à jour spécifié dans la politique assignée.

Cela vous permet d'attribuer des versions spécifiques d'une configuration à un groupe et de contrôler les paramètres appliqués. En créant des groupes différents pour les tests, l'acceptation et la production, vous pouvez créer un processus de livraison des modifications.

Si vous avez mis à jour votre module de base et téléchargé une nouvelle version, accédez à la configuration et, dans le menu d'action, sélectionnez Recompilation.

Re-compile option in Configurations

Une fenêtre "Re-Compile" s'ouvre alors, dans laquelle vous pouvez sélectionner la nouvelle version de votre module.

Re-compile configuration in XOAP

La recompilation enregistrera automatiquement une nouvelle version de la configuration, intégrant toutes les ressources mises à jour du module. Suivez les étapes décrites ci-dessus pour mettre à jour la version de la configuration au sein de vos groupes.

Améliorez votre processus dès aujourd'hui

XOAP vous permet de créer facilement des configurations modulaires et dynamiquesLe module de base, qui combine les ressources d'un module de base avec des modules spécifiques à un client ou à un service.

Cela permet de minimiser les erreurs humaines et de mettre en place un processus clair de gestion de la configuration avec des procédures de test définies, ainsi que des capacités de mise à jour et de retour en arrière faciles à mettre en œuvre.

Si vous souhaitez en savoir plus ou si vous avez besoin d'aide pour démarrer avec des cas d'utilisation spécifiques, vous pouvez réserver une démonstration. 🙌

Plus d'articles de blog comme celui-ci

EUC Hexagrid 2025 by Dizzion
Actualités

L'Hexagrid de l'EUC et notre rôle

XOAP est l'un des principaux acteurs de l'écosystème de l'informatique pour l'utilisateur final (EUC). Consultez l'Hexagrid EUC pour un aperçu technique détaillé.

fr_FR
Retour en haut