Partager via


Importer des données à partir de Configuration Manager dans Service Manager

Cet article décrit comment créer, configurer, désactiver et activer un connecteur Configuration Manager et comment personnaliser le fichier SMS_def.mof étendu de Configuration Manager pour la collecte d'informations matérielles. Vous utilisez le connecteur pour importer des données de Configuration Manager dans Service Manager.

Le connecteur pour Configuration Manager reconnaît les affinités entre périphérique et utilisateur, ainsi que les appareils mobiles, puis les synchronise dans la base de données Service Manager.

Vous pouvez importer des données depuis la base de données du site Configuration Manager vers la base de données Service Manager. Cela crée et renseigne automatiquement des éléments de configuration pour le matériel et le logiciel que vous voulez gérer dans Service Manager. Après avoir importé des données depuis Configuration Manager, vous pouvez joindre des éléments de configuration respectifs aux incidents en question. Les informations relatives aux éléments de configuration seront ainsi disponibles pour les analystes travaillant à la résolution de l'incident.

À l'aide d'un connecteur Configuration Manager, vous pouvez importer des lignes de base de configuration depuis Configuration Manager et les utiliser pour générer automatiquement des incidents pour les éléments de configuration non conformes.

Pour plus d'informations sur l'implémentation des modifications et la configuration de Microsoft Operations Framework (MOF), voir Position of the Change and Configuration SMF Within the MOF IT Service Lifecycle (Position de la modification et configuration de SMF dans le cycle de vie des services informatiques MOF).

Terminer le processus d'inscription de l'entrepôt de données

Avant de créer le connecteur Configuration Manager, vous devez vous assurer que le processus d’inscription de l’entrepôt de données est terminé.

Données supplémentaires dans Configuration Manager

Les données supplémentaires dans Configuration Manager incluent notamment les données relatives à l'affinité entre périphérique et utilisateur, aux appareils mobiles et aux requêtes de logiciels. Les données relatives à l'affinité entre périphérique et utilisateur de Configuration Manager permettent de déterminer plus précisément qui est le principal utilisateur d'un ordinateur ou d'un appareil. Ces données relatives à l'affinité entre périphérique et utilisateur, qui sont collectées par le connecteur Service Manager Configuration Manager System, sont utilisées pour alimenter les informations relatives à UsesComputer et PrimaryUser dans la base de données Service Manager.

Les données relatives aux appareils mobiles tels que les téléphones Windows Phone, les téléphones mobiles Windows et les appareils Nokia, seront collectées par le connecteur Service Manager Configuration Manager. Les données d’autres appareils mobiles tels que iPhone, BlackBerry et les téléphones Android sont collectées lorsque vous utilisez le connecteur Configuration Manager Exchange Server. Les données relatives aux appareils mobiles seront importées dans la base de données Service Manager en tant qu'éléments de configuration, et pourront être associées à des éléments de travail, ou à une gestion des incidents et des modifications.

Les données relatives aux demandes de logiciels sont utilisées dans le cadre de l'intégration des requêtes de logiciels libre-service avec Configuration Manager. Les données relatives à la catégorie administrative provenant de Configuration Manager sont utilisées pour sélectionner les modèles de demande de service à appliquer lors de la création d'une requête depuis le portail libre-service.

Planifier

Vous pouvez configurer le connecteur Configuration Manager pour mettre à jour la base de données Service Manager selon une planification récurrente. Vous pouvez également interrompre temporairement l'importation des données depuis Configuration Manager en désactivant le connecteur. Par exemple, vous pouvez désactiver le connecteur lorsqu'une tâche de maintenance est effectuée dans la base de données du site Configuration Manager, car vous savez que le processus de maintenance crée temporairement des données incorrectes. Lorsque cela est approprié, vous pouvez réactiver le connecteur et reprendre l'importation des données.

Inventaire matériel étendu avec Configuration Manager

Dans Configuration Manager, l'inventaire matériel peut être étendu en collectant un inventaire de classes Windows Management Instrumentation (WMI) supplémentaires, des attributs de classes WMI supplémentaires, des clés de Registre et d'autres personnalisations pour s'adapter aux exigences de votre entreprise. Pour plus d’informations sur l’extension de l’inventaire matériel dans Configuration Manager, consultez Comment étendre l’inventaire matériel.

Si vous avez étendu l’inventaire matériel dans Configuration Manager, vous devez créer un pack d’administration Configuration Manager Connector dans Service Manager pour collecter l’inventaire matériel étendu. Ce nouveau pack d'administration ne peut contenir que les informations requises pour collecter l'inventaire matériel étendu à partir de Configuration Manager ou il peut être composé de tous les éléments du pack d'administration du connecteur Configuration Manager d'origine plus le nouvel inventaire matériel étendu. Pour plus d’informations sur la création d’un pack d’administration de connecteur, consultez Comment configurer un connecteur Configuration Manager pour un fichier étendu SMS_def.mof.

Importation d’éléments de configuration logicielle

Vous pouvez importer des éléments de configuration logicielle avec le connecteur Configuration Manager en important les classes de création de rapports Asset Intelligence suivantes dans Configuration Manager. Ces classes doivent être activées dans Configuration Manager avant la configuration du connecteur Configuration Manager dans Service Manager. Pour plus d’informations sur l’activation d’Asset Intelligence dans Configuration Manager, consultez Comment activer Asset Intelligence.

  • SMS_InstalledSoftware

  • SMS_SystemConsoleUsage

  • SMS_SystemConsoleUser

  • SoftwareLicensingService

  • SoftwareLicensingProduct

Si le logiciel d’un ordinateur particulier n’apparaît pas dans la vue Tous les logiciels de l’espace de travail Éléments de configuration, vous devez consulter le journal des événements Operations Manager sur le serveur d’administration principal Service Manager. Recherchez des événements dont la source correspond à OpsMgr Connector et Lfx Service afin de déterminer si des erreurs sont présentes.

Créer un connecteur Configuration Manager

Vous pouvez utiliser les procédures suivantes pour créer un connecteur pour importer des données de Configuration Manager dans System Center - Service Manager et confirmer l’état du connecteur.

Important

Avant de pouvoir créer le connecteur Configuration Manager, vous devez vérifier que Configuration Manager est installé dans votre environnement et que vous devez activer le contrôle de compte d’utilisateur Windows (UAC). Pour plus d'informations sur le contrôle de compte d'utilisateur, voir Contrôle de compte d’utilisateur.

Pour créer un connecteur Configuration Manager, procédez comme suit :

  1. Dans la console Service Manager, sélectionnez Administration.
  2. Dans le volet Administration, développez Administration et sélectionnez Connecteurs.
  3. Dans le volet Tâches , sous Connecteurs, sélectionnez Créer un connecteur et sélectionnez Connecteur Configuration Manager. L'Assistant Connecteur Configuration Manager démarre.
  4. Dans la page Avant de commencer, sélectionnez Suivant.
  5. Dans la page Général , procédez comme suit :
    1. Dans la zone Nom , entrez un nom pour le nouveau connecteur. Par exemple, entrez Le connecteur Configuration Manager à Seattle.
    2. Dans la zone Description , entrez une description pour le nouveau connecteur. Par exemple, entrez un connecteur Configuration Manager au site Seattle.
    3. Vérifiez que la case Activé est cochée, puis sélectionnez Suivant.
  1. Dans la page Sélectionner le pack d’administration, dans la liste des packs d’administration, sélectionnez Configuration du connecteur System Center Configuration Manager ou Configuration du connecteur System Center Configuration Manager 2012, puis sélectionnez Suivant.
  1. Dans la page Sélectionner le pack d’administration, dans la liste des packs d’administration, sélectionnez Configuration du connecteur System Center Configuration Manager et sélectionnez Suivant.
  1. Dans la page Connexion à la base de données System Center Configuration Manager , procédez comme suit :

    1. Dans la zone Nom du serveur de base de données, entrez le nom du serveur qui héberge la base de données du site Configuration Manager et l’instance nommée de la base de données, le cas échéant. Par exemple, dans la banque Woodgrove hypothétique, vous pouvez entrer woodgrove\instance1 si la base de données Configuration Manager se trouve sur une instance nommée de Microsoft SQL Server, ou entrer woodgrove si la base de données se trouve sur une instance par défaut de SQL Server.
    2. Dans la zone Nom de la base de données, entrez le nom de la base de données du site Configuration Manager. Par exemple, entrez SMS_CM1.
    3. Dans la zone Informations d'identification , sélectionnez un compte d'identification ou créez-en un nouveau. Le compte d'utilisateur que vous spécifiez comme compte d'identification doit être membre des groupes smsdbrole_extract et db_datareader pour la base de données du site Configuration Manager.
    4. Dans la zone Informations d’identification, sélectionnez Tester la connexion.
    5. Dans la boîte de dialogue Informations d’identification , dans la zone Mot de passe , entrez le mot de passe du compte, puis sélectionnez OK.
    6. Dans la boîte de dialogue Tester la connexion , si vous recevez le message de confirmation suivant, sélectionnez OK : La connexion au serveur a réussi.
    7. Cliquez sur Suivant.
  2. Dans la page Collections , sélectionnez la collection appropriée, puis sélectionnez Suivant.

  3. Dans la page Planification , dans la liste Synchroniser, définissez la fréquence et l’heure de synchronisation, puis sélectionnez Suivant.

  4. Dans la page Résumé , vérifiez les paramètres du connecteur que vous avez créés, puis sélectionnez Créer.

  5. Dans la page Confirmation , vérifiez que vous recevez le message de confirmation suivant : Vous avez correctement terminé l’Assistant Connecteur System Center Configuration Manager. Ensuite, sélectionnez Fermer.

    Remarque

    L’Assistant Connecteur System Center Configuration Manager peut prendre plusieurs heures pour importer des données à partir de Configuration Manager.

Valider la création d’un connecteur Configuration Manager

  1. Vérifiez que le connecteur Configuration Manager que vous avez créé est bien affiché dans le volet Connecteurs .
  2. Dans la console Service Manager, sélectionnez Éléments de configuration. Dans le volet Éléments de configuration, développez Éléments de configuration, développez Ordinateurs, puis sélectionnez Tous les ordinateurs Windows. Vérifiez que les ordinateurs prévus apparaissent dans le volet Tous les ordinateurs Windows.
  3. Dans le volet central, double-cliquez sur un ordinateur nouvellement importé. Vérifiez que les détails de l'ordinateur approprié sont affichés dans le formulaire de l'ordinateur.

Confirmer l’état d’un connecteur Configuration Manager

  • Examinez les colonnes figurant dans le volet Connecteur ; celles-ci contiennent des informations relatives à l'heure de début, l'heure de fin, l'état et le pourcentage d'achèvement.

Symbole PowerShellVous pouvez utiliser une commande Windows PowerShell pour créer un connecteur Configuration Manager. Pour plus d’informations sur l’utilisation de Windows PowerShell pour créer un connecteur Configuration Manager dans Service Manager, consultez New-SCCMConnector.

Désactiver et activer un connecteur Configuration Manager

Vous pouvez utiliser les procédures suivantes pour désactiver ou activer un connecteur Configuration Manager et valider l’état de la modification.

Désactiver un connecteur Configuration Manager

  1. Dans la console Service Manager, sélectionnez Administration.

  2. Dans le volet Administration, développez Administration et sélectionnez Connecteurs.

  3. Dans le volet Connecteurs , sélectionnez le connecteur Configuration Manager que vous souhaitez désactiver. Par exemple, sélectionnez le connecteur Configuration Manager à SEA.

  4. Dans le volet Tâches , sous le nom du connecteur, sélectionnez Désactiver.

    Remarque

    Si vous désactivez un connecteur lors de la synchronisation des données, le processus de synchronisation peut ne pas s’arrêter. Toutefois, un connecteur désactivé n’importera aucune nouvelle donnée à partir d’une base de données Configuration Manager à partir de ce point de transfert.

Activer un connecteur Configuration Manager

  1. Dans la console Service Manager, sélectionnez Administration.
  2. Dans le volet Administration, développez Administration et sélectionnez Connecteurs.
  3. Dans le volet Connecteurs , sélectionnez le connecteur Configuration Manager que vous souhaitez activer. Par exemple, sélectionnez le connecteur Configuration Manager à SEA.
  4. Dans le volet Tâches , sous le nom du connecteur, sélectionnez Activer.

Valider le changement d’état d’un connecteur Configuration Manager

  1. Après avoir désactivé ou activé le connecteur, attendez 30 secondes. Ensuite, dans la console Service Manager, sélectionnez Administration, puis sélectionnez Connecteurs.
  2. Dans le volet Connecteurs , recherchez le connecteur pour lequel vous avez modifié l’état et vérifiez la valeur dans la colonne Activé .
  3. Si vous avez activé le connecteur, vérifiez que celui-ci reprend la synchronisation en fonction de la planification. Si vous avez désactivé le connecteur, vérifiez que celui-ci a arrêté la synchronisation en fonction de la planification.

Capture d’écran du symbole PowerShell.Vous pouvez utiliser des commandes Windows PowerShell pour effectuer ces tâches et d’autres tâches associées, comme suit :

  • Pour plus d’informations sur l’utilisation de Windows PowerShell pour démarrer un connecteur Service Manager, consultez Start-SCSMConnector.
  • Pour plus d’informations sur l’utilisation de Windows PowerShell pour récupérer des connecteurs définis dans Service Manager et afficher leur état, consultez Get-SCSMConnector.
  • Pour plus d’informations sur l’utilisation de Windows PowerShell pour mettre à jour les propriétés d’un connecteur Service Manager, consultez Update-SCSMConnector.

Synchroniser un connecteur Configuration Manager

Pour vous assurer que la base de données Service Manager est à jour, le connecteur System Center Configuration Manager se synchronise avec Configuration Manager chaque jour après la synchronisation initiale. Toutefois, vous pouvez utiliser les procédures suivantes pour synchroniser le connecteur manuellement et valider la synchronisation du connecteur.

Synchroniser manuellement un connecteur Configuration Manager

  1. Dans la console Service Manager, sélectionnez Administration.

  2. Dans le volet Administration, développez Administration et sélectionnez Connecteurs.

  3. Dans le volet Connecteurs , sélectionnez le connecteur Configuration Manager que vous souhaitez synchroniser.

  4. Dans le volet Tâches , sous le nom du connecteur, sélectionnez Synchroniser maintenant.

    Remarque

    Selon le volume de données à importer, l'importation peut prendre un certain temps.

Vérifier qu’un connecteur Configuration Manager synchronisé

  1. Dans la console Service Manager, sélectionnez Éléments de configuration.
  2. Dans le volet Éléments de configuration, développez Ordinateurs, puis sélectionnez Tous les ordinateurs Windows. Vérifiez que tout nouvel ordinateur présent dans Configuration Manager apparaît dans le volet central.

Configurer un connecteur Configuration Manager pour un fichier SMS_def.mof étendu

L’inventaire matériel Service Manager collecte, puis fournit des informations système, telles que l’espace disque disponible, le type de processeur et le système d’exploitation, sur chaque ordinateur de la hiérarchie Configuration Manager. Dans Configuration Manager, les utilisateurs peuvent personnaliser le fichier SMS_def.mof par défaut de Configuration Manager pour enrichir les informations relatives à l'inventaire du matériel qui sont collectées.

Lorsque vous créez un connecteur Gestion de la configuration dans Service Manager, vous pouvez sélectionner le pack d'administration Configuration du connecteur System Center Configuration Manager qui doit être utilisé pour ce connecteur. En utilisant ce pack d'administration par défaut, le connecteur importe des informations matérielles, logicielles et de gestion de la configuration souhaitée pour les ordinateurs se trouvant dans le système.

Si le fichier SMS_def.mof de Configuration Manager a été étendu pour collecter des données d'inventaire matériel supplémentaires, que vous voulez également importer dans Service Manager, vous devez créer un nouveau pack d'administration personnalisé qui définit ces données supplémentaires. Ensuite, vous devez créer un connecteur Configuration Manager et le configurer pour utiliser le nouveau pack d’administration personnalisé.

Importer des données d’inventaire matériel étendues à partir de Configuration Manager

Pour importer des données d’inventaire matériel étendues à partir de Configuration Manager, vous devez créer un pack d’administration de connecteur Configuration Manager personnalisé. Il existe deux approches pour implémenter un connecteur Configuration Manager personnalisé :

  • Créez un pack d'administration de connecteur Configuration Manager personnalisé qui définit les données étendues que vous souhaitez importer, puis créez deux connecteurs. Configurez un connecteur pour utiliser le pack d'administration Configuration du connecteur de System Center Configuration Manager par défaut, afin d'importer les données définies par défaut. Configurez le deuxième connecteur pour utiliser le pack d'administration personnalisé afin d'importer les données étendues supplémentaires.

  • Personnalisez le pack d'administration Configuration du connecteur de System Center Configuration Manager par défaut pour inclure également les données étendues supplémentaires. Créez un connecteur unique configuré pour utiliser le pack d'administration personnalisé afin d'importer toutes les informations que vous devez posséder.

Cet article fournit les informations que vous devez avoir à implémenter la première approche décrite précédemment. Elle contient les détails dont vous devez disposer pour pouvoir développer un pack d'administration de connecteur Configuration Manager personnalisé qui importe l'inventaire matériel étendu à partir de Configuration Manager.

Les étapes majeures pour l'importation des données d'inventaire matériel étendues sont les suivantes :

  1. Créez un pack d'administration Configuration du connecteur Configuration Manager personnalisé avec les définitions pour les données étendues.
  2. Importez le pack d'administration personnalisé dans Service Manager. Après avoir importé le pack d'administration, Service Manager suit les directives du pack d'administration pour créer des tables de transfert et exécuter les scripts SQL d'installation, comme défini dans le pack d'administration.
  3. Créez un connecteur Configuration Manager et configurez-le pour utiliser le pack d'administration personnalisé.
  4. Le connecteur Configuration Manager importe les données.

Utiliser un pack d’administration Configuration Manager Connector personnalisé

Tenez compte des conseils suivants lorsque vous utilisez un pack d’administration de connecteur Configurations Manager personnalisé :

  • Les erreurs sémantiques dans les modèles de configuration du connecteur dans le pack d’administration n’empêchent pas l’importation du pack d’administration et sont consignées dans le journal des événements. Dans ce cas, vous devez supprimer le pack d'administration, corriger les erreurs et importer de nouveau le pack.

  • Après avoir créé un connecteur Configuration Manager, vous ne pouvez pas modifier sa sélection de pack d’administration. Au lieu de cela, vous devez supprimer ce connecteur et en créer un nouveau avec la sélection de pack d'administration souhaitée.

  • Pour garantir qu'un pack d'administration est bien supprimé, vous devez supprimer tous les connecteurs configurés pour utiliser le pack d'administration que vous souhaitez supprimer et ensuite supprimer le pack d'administration.

    Lorsque vous supprimez un pack d’administration Configuration Manager Connector personnalisé, Service Manager tente de supprimer toutes les tables intermédiaires associées qui ont été créées pendant l’importation du pack d’administration. Ensuite, Service Manager exécute tous les scripts définis dans la section Désinstaller du pack d’administration.

  • Contrairement à d’autres packs d’administration, le pack d’administration de connecteur Configuration Manager personnalisé ne peut pas être versionné. L'importation d'une version plus récente du pack d'administration réussira. Toutefois, la configuration du connecteur dans le pack d'administration sera ignorée, car cela peut entraîner des erreurs de validation consignées dans le journal des événements.

Créer un pack d’administration configuration du connecteur Configuration Manager personnalisé

Un pack d'administration Configuration du connecteur Configuration Manager personnalisé est semblable en termes de structure au pack d'administration de connecteur Configuration Manager par défaut. Il doit contenir les deux modèles d'objet DataProvider et DataConsumer qui spécifient comment les données doivent être importées et appliquées.

Section DataProvider

La section DataProvider fournit des informations, telles que les données à importer, que vous devez avoir lorsque vous importez des données à partir de Configuration Manager dans les tables intermédiaires de LinkingFramework. La section DataProvider inclut les requêtes qui s’exécutent sur la base de données de site Configuration Manager ; les directives pour la création de tables intermédiaires ; les scripts SQL personnalisés et les informations pertinentes pour la synchronisation incrémentielle, telles que le filigrane et le traitement par lots.

Section DataConsumer

La section DataConsumer fournit des informations sur la lecture des données à partir de tables intermédiaires et l’écriture dans l’espace d’instances de la base de données ServiceManager , comme Entités ou Relations. La section DataConsumer inclut des requêtes qui s’exécutent sur les tables intermédiaires ; le mappage au système de type Service Manager ; des scripts SQL personnalisés et des informations pertinentes pour la synchronisation incrémentielle, telles que le filigrane et le traitement par lots.

Structure des sections des modèles d’objet DataProvider et DataConsumer

Fondamentalement, les sections DataProvider et DataConsumer sont des modèles d'objet ciblés sur un type de projection. Le code suivant montre la structure générale des sections DataProvider et DataConsumer :

<TypeProjection ID="System.LinkingFramework.DataConnector.Projection" Accessibility="Public" Type="System.LinkingFramework.DataConnector">
          <Component Alias="DataTable" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsTables' TypeConstraint='System.LinkingFramework.DataTable']$">
            <Component Alias="Field" Path="$Context/Path[Relationship='System.LinkingFramework.TableEmbedsFields']$" />
          </Component>
          <Component Alias="DataCollection" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsCollections' TypeConstraint='System.LinkingFramework.DataCollection']$" />
 </TypeProjection>

Dans ce code, DataTable, Fieldet DataCollection sont définis comme suit :

  • DataTable. Plus petite unité de données définie pour un transfert de données. Il s’agit d’une déclaration de données à récupérer à partir de la source de données externe. Il définit également des dépendances entre différentes tables de données et l'heure à laquelle le traitement par lot, le filigranage et le nettoyage des données se sont terminés.

  • Field. Colonne unique dans une table de données.

  • DataCollection. Ensemble de tables de données à transférer dans un travail ou une session de transfert de données. Il définit les tables de données incluses dans cet ensemble de données.

Propriétés dans le pack d’administration personnalisé

Le tableau suivant fournit les détails sur chaque propriété dans le pack d'administration Configuration du connecteur Configuration Manager personnalisé. Utilisez ces instructions lorsque vous créez le pack d'administration personnalisé.

Propriété Valeur attendue Validation après importation
id Pour les modèles DataProvider et DataConsumer comme indiqué dans l’exemple Oui
Propriétés de DataConnector
DataConnectorName Pour les modèles DataProvider et DataConsumer , identiques aux valeurs de l’exemple Oui
IsProvider Dans le modèle DataProvider - True

Dans le modèle DataConsumer - False
Oui
SolutionName Commentaire. Par exemple, il peut indiquer le type des données importées. La tentative d'importation d'un pack d'administration, dans lequel le nom de la solution est déjà utilisé, provoque une erreur consignée dans le journal des événements.
Entrypoint, EntryAssembly &WinformUIAssembly Identiques à la valeur dans l'exemple
Section InstallSQLScripts Scripts SQL devant s'exécuter après la configuration des tables de transfert. Ils sont généralement utilisés dans le modèle DataConsumer pour configurer des vues qui affichent des données à partir des tables intermédiaires.

Tout ce qui est placé entre les <balises script></script> est censé être un script SQL valide. Par conséquent, pour les commentaires, vous devez utiliser les /* */ délimiteurs multi-commentaire de ligne au lieu des balises de commentaire XML standard.
Non validée. Utilisez des noms de table personnalisés pour garantir que cela ne provoque pas le remplacement ou la modification de tables, à l'exception de celles déclarées dans le pack d'administration.
Section UnInstallSQLScripts Scripts SQL qui doivent s’exécuter après avoir supprimé le pack d’administration Configuration Manager Connector dans la console Service Manager.

Tout ce qui est placé entre les <balises script></script> est censé être un script SQL valide. Par conséquent, pour les commentaires, vous devez utiliser les /* */ délimiteurs multi-commentaire de ligne au lieu des balises de commentaire XML standard.
Non validée. Utilisez des noms de table personnalisés pour garantir que cela ne provoque pas le remplacement ou la modification de tables, à l'exception des tables déclarées dans le pack d'administration.
DisableParallelProcessing True
Propriétés de DataTable
DataName Table à partir de laquelle importer des données. Il est utilisé dans l’interface utilisateur et non utilisé dans les requêtes.
StageTableName Nom de la table de transfert. Il doit être unique. La tentative d'importation d'un pack d'administration, dans lequel le nom de la table est déjà utilisé, provoque la journalisation d'une erreur dans le journal des événements.
WatermarkField Nom de la colonne rowversion
WatermarkType Les valeurs possibles sont les suivantes :

- 0-Indique le type DateTime
- 1-Indique le type d’horodatage
- (-1)-Indique aucun filigrane, auquel cas WatermarkField devient facultatif
Les autres types de filigrane ne sont pas pris en charge.
BatchIdField Nom de colonne contenant la bonne sélectivité, utilisé pour séparer des données incrémentielles en lots lors de l'importation de tables de transfert
BatchIdType Les valeurs possibles sont les suivantes :

- 0-Int
- (-1)-Aucun traitement par lot, auquel cas BatchIdField devient facultatif
Colonne d'entiers
BatchIdSize Taille du lot si le traitement par lot est utilisé. Un nombre élevé indique que beaucoup de données sont lues ou écrites en même temps. La valeur recommandée est 500. Colonne d'entiers
UseCache True
GroomType Les valeurs possibles sont les suivantes :

- 1-Les données des tables intermédiaires peuvent être nettoyées après son transfert vers la base de données Service Manager.
- 2- Les données des tables intermédiaires sont nettoyées uniquement après avoir été marquées comme supprimées dans la base de données Configuration Manager et ont également été supprimées dans la base de données Service Manager en raison de la synchronisation du connecteur Service Manager.
QueryString Requête réelle utilisée par Configuration Manager 2007 pour récupérer les données demandées. La requête doit avoir le format suivant :

SELECT ...

FROM ...

WHERE ...

ORDER BY ...

La clause WHERE peut contenir le $COLLECTIONLIST jeton. Lors de la synchronisation, ce jeton est remplacé par les collections spécifiées dans l'Assistant Connecteur System Center Configuration Manager.

Les données exposées par les vues configuration Manager SCCM_Ext.* sont prises en charge pour l’importation. Ces données peuvent être étendues à l'aide d'extensions sms_def.mof standard ou à l'aide de noidmifs. Les autres tables ne sont pas prises en charge.

Notamment, les sous-requêtes ne sont pas prises en charge, mais les jointures à d’autres tables sont prises en charge.
Non validée. Toutes les requêtes ont une colonne Lfx_Status avec valeur U ou D, indiquant si la ligne représente une opération Update ou Delete.
CollectionName Nom d'un groupe de tables de données ; ce nom doit être unique. Les tables de la même collection ne peuvent pas dépendre les unes des autres. La tentative d'importation d'un pack d'administration, dans lequel le nom de la collection est déjà utilisé, provoque la journalisation d'une erreur dans le journal des événements.
PrimaryKeyName Section qui déclare le nom de clé principale unique pour la table de transfert. La tentative d'importation d'un pack d'administration, dans lequel le nom de clé est déjà utilisé, provoque la journalisation d'une erreur dans le journal des événements.
DependOnDataTable Nom(s) de DataTable devant être synchronisé(s) avant celui-ci. Généralement, il est utilisé pour synchroniser la table de transfert avant que le système ne la lise dans l'affichage Client.

Si vous utilisez plusieurs collections, la dépendance doit être exprimée uniquement entre les tables de différentes collections.
Non validée
Propriétés de DataField
Name, Type, AllowNull Il s'agit des champs requis pour les types de colonne. Les types pris en charge sont int, nvarchar, datetime et xml. Non validée
PrimaryKeyACs, PrimaryKeyPosition Si une partie de la clé primaire indique la position à partir de la gauche dans la clé primaire. Lfx ajoute deux colonnes d'utilisation internes (Lfx_Status, Lfx_SourceId) à la clé principale à la fin.
Classement DATABASE_DEFAULT Non validée
Propriétés de DataCollection
DataCollectionName Doit être identique à ce qui est référencé par une propriété DataTable . La tentative d'importation d'un pack d'administration, dans lequel le nom de la collection est déjà utilisé, provoque la journalisation d'une erreur dans le journal des événements.
StagingName Dans DataProvider template-DefaultCache

Dans le modèle DataConsumer non présent
Non validée
DataTables Liste de valeurs séparées par des virgules (CSV) de tables faisant référence à cette collection
Paramètres Dans dataProvider template-Not present

Dans le modèle DataConsumer - Indique le mappage de type
XML échappé avec la syntaxe suivante :

<TypeName>Microsoft.Windows.Computer</TypeName>

<MPName>Microsoft.Windows.Library</MPName>

<MPVersion>version of MP</MPVersion>

<MPToken>token for MP</MPToken>

Exemples de packs d’administration de configuration de connecteur Configuration Manager personnalisés

Voici les définitions de schéma et les exemples de pack d’administration configuration Manager Connector qui importent des données à partir de la vue Configuration Manager SCCM_Ext.vex_GS_PC_BIOS.

Reportez-vous au tableau ci-dessus dans cet article pour plus d’informations sur les propriétés de ces packs d’administration. Utilisez un éditeur XML, tel que l'éditeur dans Microsoft Visual Studio, pour modifier ces exemples selon vos scénarios d'importation.

Importer des données à partir d’une classe hébergée

Lorsque vous spécifiez une classe hébergée, la vue dans le modèle DataConsumer doit inclure des colonnes pour la propriété clé de la classe parente. Dans cet exemple, la classe contenant les informations du BIOS est hébergée dans un ordinateur.

Dans cet exemple, le pack d'administration Configuration du connecteur Configuration Manager a deux collections dans les sections DataProvider et DataConsumer , une pour l'importation des données d'ordinateur et l'autre pour l'importation des données du BIOS.

Définition de classe


<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
  <Manifest>
    <Identity>
      <ID>SampleBIOSMP</ID>
      <Version>1.0.0.0</Version>
    </Identity>
    <Name>BIOS Class MP</Name>
    <References>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Windows">
        <ID>Microsoft.Windows.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <TypeDefinitions>
    <EntityTypes>
      <ClassTypes>
        <ClassType ID="HostedCustomClass" Accessibility="Public" Base="System!System.ConfigItem" Hosted="true" Abstract="false">
            <Property ID="SerialNumber" Type="string" Key="true"/>
        </ClassType>
      </ClassTypes>
      <RelationshipTypes>
        <RelationshipType ID="Microsoft.Windows.ComputerHostsBIOS" Accessibility="Public" Base="System!System.Hosting">
          <Source ID="Computer" Type="Windows!Microsoft.Windows.Computer" />
          <Target ID="BIOSClass" Type="HostedCustomClass" />
        </RelationshipType>      
      </RelationshipTypes>
    </EntityTypes>
  </TypeDefinitions>
</ManagementPack>

Pack d’administration configuration du connecteur Configuration Manager

<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
  <Manifest>
    <Identity>
      <ID>CnfgMgrBiosSample</ID>
      <Version>7.0.5229.0</Version>
    </Identity>
    <Name>CnfgMgrBiosSample</Name>
    <References>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="LFX">
        <ID>ServiceManager.LinkingFramework.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <Templates>
    <ObjectTemplate ID="DataProvider.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
          Microsoft_EnterpriseManagement_ServiceManager_Connector_Sms
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
          True
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms,
          Version="7.0.5000.0",
          Culture=neutral,
          PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/WinFormUIAssembly$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector,   
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms, Version="7.0.5000.0", Culture=neutral,
          PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"></Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DisableParallelProcess$">
          True
      </Property>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_R_System</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_R_System</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT S.ResourceID,
                                S.ChangeAction as Lfx_Status,
                                S.Netbios_Name0,
                                S.Resource_Domain_OR_Workgr0
                            FROM SCCM_Ext.vex_R_System S
                            INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                                ON S.ResourceID = CM.ResourceID
                            INNER JOIN SCCM_Ext.vex_Collection C
                                ON C.CollectionID = CM.CollectionID
                            WHERE ((S.ChangeAction = 'U' AND S.Client_Type0 != 3 AND S.Hardware_ID0 IS NOT NULL)
                                  OR S.ChangeAction = 'D')
                                  AND $COLLECTIONLIST
                            ORDER BY S.rowversion
                   ]]>
</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_R_SYSTEM]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Netbios_Name0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Resource_Domain_OR_Workgr0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">255</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_COMPUTER_SYSTEM</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">CS.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">CS.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT CS.ResourceID,
                                    CS.GroupKey,
                                    CS.ChangeAction as Lfx_Status,
                                    CS.Name0,
                                    CS.Domain0
                            FROM SCCM_Ext.vex_GS_COMPUTER_SYSTEM CS
                            INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                                ON CS.ResourceID = CM.ResourceID
                            INNER JOIN SCCM_Ext.vex_Collection C
                                ON C.CollectionID = CM.CollectionID  
                            WHERE $COLLECTIONLIST
                            ORDER BY CS.rowversion
                   ]]>
</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_COMPUTER_SYSTEM]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[GroupKey]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">1</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Name0]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Domain0]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">32</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.vex_GS_PC_BIOS</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_PC_BIOS</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                      SELECT S.ChangeAction as Lfx_Status,
                      S.ResourceID,
                      S.BatchingKey,
                      S.GroupKey,
                      S.SerialNumber0
                      FROM SCCM_Ext.vex_GS_PC_BIOS S
                      INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                        ON S.ResourceID = CM.ResourceID
                      INNER JOIN SCCM_Ext.vex_Collection C
                        ON C.CollectionID = CM.CollectionID
                      WHERE C.ChangeAction = 'U' AND CM.ChangeAction = 'U' AND $COLLECTIONLIST
                      ORDER BY S.rowversion
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_BIOS1]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">BatchingKey</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">GroupKey</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">SerialNumber0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">34</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">BIOSComputers</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.Sample_vex_R_System,SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
      </Object>
      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.vex_GS_PC_BIOS</Property>
      </Object>
    </ObjectTemplate>

    <ObjectTemplate ID="DataConsumer.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
          MomStore
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
          False
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
  Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore.OperationalStoreConsumer
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
  Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore,
  Version="7.0.5000.0",
  Culture=neutral,
  PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"><![CDATA[
                        <Script>
                             if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
                                drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
                             exec ('
                                CREATE VIEW [LFXSTG].[v_Sample_SMS_BIOSComputer] AS
                                    SELECT S.Lfx_RowId,
                                           S.Lfx_SourceID,
                                           S.Lfx_Timestamp,
                                           S.Lfx_Status,
                                           CS.Name0 AS ''DisplayName'',
                                           COALESCE(CS.Name0, S.Netbios_Name0)
                                    + ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
                                    FROM LFXSTG.Sample_SMS_vex_R_System S
                                    INNER JOIN LFXSTG.Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
                                         ON S.ResourceID = CS.ResourceID AND S.Lfx_SourceId = CS.Lfx_SourceId
                                    WHERE S.Netbios_Name0 IS NOT NULL
                                        AND S.Resource_Domain_OR_Workgr0 IS NOT NULL
                                ');
                        </Script>

                        <Script>
                            if not object_id('[LFXSTG].[v_Sample_BIOS]') is null
                                drop view [LFXSTG].[v_Sample_BIOS]
                            exec ('
                                CREATE VIEW [LFXSTG].[v_Sample_BIOS] AS
                                    SELECT P.Lfx_RowId AS Lfx_RowId,
                                        P.Lfx_SourceId,
                                        P.Lfx_Timestamp AS Lfx_Timestamp,
                                        P.Lfx_Status as Lfx_Status,
                                        P.SerialNumber0 AS ''SerialNumber'',
                                        COALESCE(CS.Name0, S.Netbios_Name0) + ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
                                    FROM [LFXSTG].Sample_SMS_vex_GS_PC_BIOS P
                                    INNER JOIN [LFXSTG]. Sample_SMS_vex_R_System S
                                        ON P.ResourceID=S.ResourceID AND P.Lfx_SourceId = S.Lfx_SourceId
                                    INNER JOIN [LFXSTG]. Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
                                        ON S.ResourceID=CS.ResourceID
                                           AND S.Lfx_SourceId = CS.Lfx_SourceId
                                ')
                        </Script>
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/UninstallSQLScripts$"><![CDATA[
                       <Script>
                            if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
                                drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
               </Script>

                       <Script>
                            if not object_id('[LFXSTG].[v_Sample_BIOS]') IS NULL
                                drop view [LFXSTG].[v_Sample_BIOS];
               </Script>
                   ]]>
        </Property>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_Computer</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">E.Lfx_Timestamp</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">E.Lfx_RowId</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">false</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT * FROM [LFXSTG].v_Sample_SMS_BIOSComputer E
                    ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_Computers_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM,SCCM_Ext.Sample_vex_R_System</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">C.Lfx_Timestamp</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">C.Lfx_RowId</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">False</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                        select C.* from [LFXSTG].v_Sample_BIOS C
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.vex_GS_PC_BIOS, Sample_SMS_Computer</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_Computers_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_Computer</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Computer</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Library</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">7.0.5229.0</MPVersion>
<MPToken xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">31bf3856ad364e35</MPToken>
]]>
</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">HostedCustomClass</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">SampleBIOSMP</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">1.0.0.0</MPVersion>
        ]]>
        </Property>
      </Object>
    </ObjectTemplate>
  </Templates>
</ManagementPack>

Étapes suivantes