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 :
- 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.
- Créer des configurations en combinant des ressources DSC de base et des configurations spécifiques pour différents départements ou clients.
- 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 :

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 :

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.

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 +.

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".

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.

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.

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.

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

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. 🙌