Démarrer avec la programmation Gestionnaire de configuration

Pour commencer à programmer pour Configuration Manager, il est avantageux d’avoir une compréhension fonctionnelle et architecturale de base de Configuration Manager. En outre, il existe un certain nombre d’outils et de ressources clés qui sont essentiels à la validation et à la résolution des problèmes des solutions. Vous trouverez ci-dessous des conseils et des ressources pour les personnes qui débutent dans la programmation pour Configuration Manager.

Importante

Vous devez reconnaître que Configuration Manager, anciennement Systems Management Server (SMS), a un historique assez long en tant que produit. En examinant les espaces de noms, les classes, les méthodes, les propriétés et les fichiers journaux, vous trouverez de nombreuses références contenant des « SMS ». En fait, la plupart des classes WMI commencent par « SMS_ » et le principal Configuration Manager espace de noms WMI est « SMS ». Au cours des années, de nombreuses classes, méthodes et propriétés héritées se sont accumulées , ce qui n’est pas apparent à un utilisateur administratif, mais lors de la programmation de l’historique/de l’héritage peut prêter à confusion.

Compréhension fonctionnelle

Pour automatiser ou étendre correctement Configuration Manager, il est extrêmement important d’acquérir une compréhension fonctionnelle du produit. Configuration Manager est un système de gestion distribué multiniveau, le plus souvent réparti sur de nombreux serveurs et de nombreux emplacements. Pour plus d’informations, consultez Principes de base de Configuration Manager.

Plus de ressources

Livres

Vidéos

Forums

Compréhension de l’architecture

Configuration Manager est un système de gestion distribué multiniveau. Il est important de comprendre l’architecture générale de Configuration Manager. Vous trouverez ci-dessous un lien vers une vue d’ensemble de l’architecture Configuration Manager.

Outre les informations architecturales, il existe plusieurs points clés qui confondent généralement les administrateurs et les programmeurs qui ne connaissent pas Configuration Manager.

  • Serveur: D’une manière générale, la plupart des actions de programmation (en particulier l’automatisation) ont lieu sur un serveur de site Configuration Manager. Les actions ou les modifications de configuration sont propagées dans toute la hiérarchie Configuration Manager aux clients via la stratégie. La stratégie est extraite par le client selon un intervalle d’interrogation configurable NON envoyé immédiatement au client par le serveur. En règle générale, une fois qu’un client est installé, il n’y a aucune communication directe entre le serveur de site et le client ou le serveur de site . Toutes les communications s’effectuent par le biais de rôles serveur intermédiaires.

  • Client : les clients Configuration Manager sont des systèmes et des appareils gérés par Configuration Manager. Un « serveur » peut être un client Gestionnaire de configuration. Un serveur Exchange, un serveur Active Directory et un serveur Configuration Manager peuvent tous être Configuration Manager clients. En outre, les appareils Windows 10, Windows Phone et macOS peuvent tous être Configuration Manager clients.

Configuration Manager clients reçoivent la stratégie en interrogeant régulièrement un point de gestion Configuration Manager. L’intervalle d’interrogation pour la récupération de la stratégie de base est configurable, tout comme les autres paramètres. Pour cette raison, il existe des retards inhérents dans les actions ciblées du client lancées à partir du serveur de site Configuration Manager.

  • Console: Les fichiers binaires et les fichiers de la console Configuration Manager distants ne sont pas automatiquement mis à jour lorsque des modifications sont apportées sur le serveur de site. Les modifications et extensions doivent être copiées sur les systèmes exécutant la console Configuration Manager, manuellement ou à l’aide de Configuration Manager Gestion des applications/Distribution de logiciels.

  • Fournisseur SMS ou SQL Server : bien que Configuration Manager tire parti de SQL Server pour le stockage des données, SQL Server n’est PAS l’interface de programmation principale à Configuration Manager. L’interface de programmation principale pour Configuration Manager est le fournisseur SMS (WMI). La création et la modification d’objets doivent être effectuées via le fournisseur SMS. Vous devez considérer SQL Server comme fournissant un accès en lecture seule aux données Configuration Manager à des fins d’interrogation et de création de rapports. Ce n’est pas une question d’autorisations, mais plutôt de maintien de l’intégrité des données.

Espaces de noms et classes

Serveur

Espace de noms WMI principal : ROOT\SMS\SITE_< code de site>

Classes WMI du serveur :informations de référence sur l’API Configuration Manager

Client

Espace de noms WMI principal : ROOT\CCM

Classes WMI client :informations de référence sur l’API Configuration Manager

Importante

L’histoire de programmation côté client pour Configuration Manager évolue pour être principalement basée sur WMI. Dans le passé, un ensemble de classes COM côté client était la méthode principale utilisée pour accéder aux fonctionnalités du client, bien que d’autres classes/méthodes WMI côté client aient également été utilisées. Avec la publication de System Center 2012 Configuration Manager, le focus se déplace vers un ensemble de classes WMI dans l’espace de noms : root/ccm/ClientSDK. Naturellement, une abstraction, sous la forme de COM ou de classes sdk spécifiques, fournit une abstraction utile des modifications architecturales sous-jacentes au cours des mises à jour du produit.

Console

Classes managées liées à la console :

  • Microsoft.configurationmanagement.exe

  • Microsoft.configurationmanagement.managementprovider.dll

  • Microsoft.ConfigurationManagement.DialogFoundation.dll

  • AdminUI.DialogFoundation.dll

Rubriques d’introduction Configuration Manager Console :

Notions de base de la programmation

La section Notions de base de la programmation Configuration Manager du Kit de développement logiciel (SDK) fournit des exemples d’utilisation des différents types d’objets et de structures disponibles dans Configuration Manager. Configuration Manager contient des objets/concepts qui peuvent au départ prêter à confusion. Les propriétés incorporées (utilisées avec le fichier de contrôle de site) et les propriétés différées (utilisées dans les classes Configuration Manager) sont particulièrement intéressantes. Vous trouverez ci-dessous des liens vers les principes de base de la programmation (et d’autres sous-sections) du Kit de développement logiciel (SDK). Ces sections contiennent des exemples de code montrant comment utiliser les différents types d’objets.

Importante

Le Kit de développement logiciel (SDK) fournit le plus souvent des exemples de code en VBScript et C#. Cela ne signifie pas que les autres langues ne fonctionneront pas avec le fournisseur SMS. Le fournisseur SMS est indépendant du langage, tant que les objets et les constructions corrects peuvent être échangés. Utilisez le langage (outil) le plus approprié pour votre environnement. C# est utilisé en interne comme base de référence pour tester les extraits de code du SDK. Par conséquent, des exemples de manipulation d’objets et de constructions de code sont le plus souvent fournis en C#. Si vous utilisez une autre langue, vous devriez être à l’aise pour traduire du langage C# vers la langue de votre choix.

Outils de base

WBEMTEST

Si vous passez beaucoup de temps à Configuration Manager vous vous rendez compte qu’une grande partie de celle-ci passe par WMI. WMI est « Windows Management Instrumentation » et est Microsoft’implémentation d’une norme Internet appelée WBEM (Web Based Enterprise Management). Il existe de nombreux outils WMI. Toutefois, WBEMTEST est immédiatement disponible sur la plupart des systèmes, au lieu d’être téléchargé au préalable. Vous pouvez penser à cela comme Notepad.exe : il existe des éditeurs de texte avec des fonctionnalités plus riches disponibles, mais Notepad.exe est toujours là lorsque vous avez besoin d’afficher ou de créer un fichier texte.

Introduction à WBEMTEST

Conseil

En interne, l’outil le plus couramment utilisé pour résoudre les problèmes liés au fournisseur SMS (création, modification et suppression d’objets) est WBEMTEST.

CMTrace

CMTrace : CMTrace est une visionneuse de fichiers journaux personnalisée qui est utile pour surveiller et résoudre les problèmes Configuration Manager. CMTrace fournit une vue continue des modifications du fichier journal (plutôt que d’avoir à recharger pour surveiller l’activité journalisée) et est particulièrement utile lors de la surveillance/résolution des problèmes de création ou de modification d’objets via le fournisseur SMS (voir SMSProv.log ci-dessous).

CMTrace se trouve sur le serveur de site Configuration Manager, sous le dossier «< répertoire> d’installation Configuration Manager\tools ».

SMSProv.log : Le fichier journal du fournisseur SMS (<Configuration Manager Répertoire> d’installation\Logs\SMSProv.log) journalise l’activité du fournisseur SMS et fournit des informations de bas niveau qui sont utiles pour surveiller/résoudre les problèmes lors de la création ou de la modification par programmation d’objets Configuration Manager via le fournisseur SMS.

Client Spy and Policy Spy

Client Spy : Outil qui vous aide à résoudre les problèmes liés à la distribution, à l’inventaire et au contrôle des logiciels sur les clients System Center 2012 Configuration Manager.

Policy Spy: Visionneuse de stratégies qui vous permet d’examiner et de dépanner le système de stratégie sur les clients System Center 2012 Configuration Manager.

Exemple de programme Configuration Manager de base

Vous trouverez ci-dessous un lien vers un programme Configuration Manager très simple montrant certaines opérations de base communes à de nombreux programmes Configuration Manager :