CMPivot pour les données en temps réel dans Configuration Manager

S’applique à : Gestionnaire de Configuration (branche actuelle)

Configuration Manager a toujours fourni un grand magasin centralisé de données d’appareil, que les clients utilisent à des fins de création de rapports. Le site collecte généralement ces données sur une base hebdomadaire. À compter de la version 1806, CMPivot est un nouvel utilitaire dans la console qui permet désormais d’accéder à l’état en temps réel des appareils de votre environnement. Il exécute immédiatement une requête sur tous les appareils actuellement connectés dans le regroupement cible et retourne les résultats. Ensuite, filtrez et regroupez ces données dans l’outil. En fournissant des données en temps réel à partir de clients en ligne, vous pouvez répondre plus rapidement aux questions professionnelles, résoudre les problèmes et répondre aux incidents de sécurité.

Par exemple, pour atténuer les vulnérabilités du canal côté exécution spéculative, l’une des exigences consiste à mettre à jour le BIOS système. Vous pouvez utiliser CMPivot pour interroger rapidement les informations du BIOS système et rechercher les clients qui ne sont pas conformes.

Importante

  • Certains logiciels de sécurité peuvent bloquer l’exécution des scripts à partir de c:\windows\ccm\scriptstore. Cela peut empêcher l’exécution réussie des requêtes CMPivot. Certains logiciels de sécurité peuvent également générer des événements d’audit ou des alertes lors de l’exécution de CMPivot PowerShell.
  • Certains logiciels anti-programme malveillant peuvent déclencher par inadvertance des événements sur les fonctionnalités Configuration Manager Exécuter des scripts ou CMPivot. Il est recommandé d’exclure %windir%\CCM\ScriptStore afin que le logiciel anti-programme malveillant permette à ces fonctionnalités de s’exécuter sans interférence.

Conditions préalables

Les composants suivants sont requis pour utiliser CMPivot :

  • Mettez à niveau les appareils cibles vers la dernière version du client Configuration Manager.

  • Les clients cibles nécessitent au moins PowerShell version 4.

  • Pour collecter des données pour les entités suivantes, les clients cibles ont besoin de PowerShell version 5.0 :

    • Administrateurs
    • Connection
    • IPConfig
    • SMBConfig
  • CMPivot et le programme d’installation Microsoft Edge sont actuellement signés avec le certificat PCA 2011 de signature de code Microsoft. Si vous définissez la stratégie d’exécution PowerShell sur AllSigned, vous devez vous assurer que les appareils approuvent ce certificat de signature. Vous pouvez exporter le certificat à partir d’un ordinateur sur lequel vous avez installé la console Configuration Manager. Affichez le certificat sur "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\CMPivot.exe", puis exportez le certificat de signature de code à partir du chemin de certification. Ensuite, importez-le dans le magasin Éditeurs approuvés de l’ordinateur sur les appareils gérés . Vous pouvez utiliser le processus dans le blog suivant, mais veillez à exporter le certificat de signature de code à partir du chemin de certification : Ajout d’un certificat aux éditeurs approuvés à l’aide de Intune.

Autorisations

Les autorisations suivantes sont nécessaires pour CMPivot :

  • Exécuter l’autorisation CMPivot sur la collection
  • Autorisation de lecture sur les rapports d’inventaire
  • Autorisation de lecture sur l’objet Scripts SMS
    • La lecture des scripts SMS n’est pas obligatoire à partir de la version 2107
    • CMPivot n’a pas besoin de lire pour les scripts SMS pour son scénario principal à partir de la version 2107. Toutefois, si le service d’administration est arrêté et que l’autorisation a été supprimée, lorsque le service d’administration revient, CMPivot échoue. Le fournisseur SMS requiert toujours l’autorisation Lecture sur les scripts SMS si le service d’administration y revient en raison d’une erreur 503 (Service non disponible), comme indiqué dans CMPivot.log.
  • Étendue par défaut.
    • L’étendue par défaut n’est pas requise à partir de la version 2107

Autorisations CMPivot par version Configuration Manager

1902 et versions antérieures Versions 1906 à 2103 2107 ou version ultérieure
Autorisation Exécuter un script sur la collection Exécuter l’autorisation CMPivot sur la collection Exécuter l’autorisation CMPivot sur la collection
Autorisation de lecture sur les rapports d’inventaire Autorisation de lecture sur les rapports d’inventaire Autorisation de lecture sur les rapports d’inventaire
Autorisation de lecture sur les scripts SMS Autorisation de lecture sur les scripts SMS N/A

Le fournisseur SMS requiert toujours l’autorisation de lecture sur les scripts SMS si le service d’administration y revient en raison d’une erreur 503 (Service non disponible), comme indiqué dans cmPivot.log.
Autorisation d’étendue par défaut Autorisation d’étendue par défaut S/O

Limites

  • CMPivot retourne uniquement des données pour les clients connectés au site actuel, sauf s’il est exécuté à partir du site d’administration centrale (CAS).
    • Si un regroupement contient des appareils d’un autre site, les résultats CMPivot proviennent uniquement des appareils du site actuel, sauf si CMPivot est exécuté à partir du site d’administration centrale.
    • Dans certains environnements, des autorisations supplémentaires sont nécessaires pour que CMPivot s’exécute sur le site d’administration centrale. Pour plus d’informations, consultez Modifications de CMPivot pour la version 1902.
  • Vous ne pouvez pas personnaliser les propriétés d’entité, les colonnes pour les résultats ou les actions sur les appareils.
  • Une seule instance de CMPivot peut s’exécuter en même temps sur un ordinateur qui exécute la console Configuration Manager.
  • Dans CMPivot autonome, vous ne pouvez pas accéder aux requêtes CMPivot stockées dans le hub Communauté.
  • Lorsque l’authentification unique avec l’authentification multifacteur est utilisée, il se peut que vous ne puissiez pas vous connecter à Community Hub à partir de CMPivot lorsque vous utilisez Configuration Manager 2103 et versions antérieures.

Démarrer CMPivot

  1. Dans la console Configuration Manager, connectez-vous au site principal ou au site d’administration centrale. Accédez à l’espace de travail Ressources et conformité , puis sélectionnez le nœud Regroupements d’appareils . Sélectionnez une collection cible, puis sélectionnez Démarrer CMPivot dans le ruban pour lancer l’outil. Si vous ne voyez pas cette option, vérifiez les configurations suivantes :

    • Vérifiez auprès d’un administrateur de site que votre compte dispose des autorisations requises. Si vous souhaitez en savoir plus, consultez la pageConditions préalables.
  2. L’interface fournit des informations supplémentaires sur l’utilisation de l’outil.

    • Entrez manuellement des chaînes de requête en haut ou sélectionnez les liens dans la documentation en ligne.

    • Sélectionnez l’une des entités pour l’ajouter à la chaîne de requête.

    • Les liens pour les opérateurs de table, les fonctions d’agrégation et les fonctions scalaires ouvrent la documentation de référence sur le langage dans le navigateur web. CMPivot utilise le Langage de requête Kusto (KQL).

  3. Laissez la fenêtre CMPivot ouverte pour afficher les résultats des clients. Lorsque vous fermez la fenêtre CMPivot, la session est terminée.

    • Si la requête a été envoyée, les clients envoient toujours une réponse de message d’état au serveur.

Comment utiliser CMPivot

Exemple de fenêtre CMPivot

La fenêtre CMPivot contient les éléments suivants :

  1. La collection que CMPivot cible actuellement se trouve dans la barre de titre en haut et la barre d’état en bas de la fenêtre. Par exemple, « PM_Team_Machines » dans la capture d’écran ci-dessus.

  2. Le volet de gauche répertorie les entités disponibles sur les clients. Certaines entités s’appuient sur WMI, tandis que d’autres utilisent PowerShell pour obtenir des données à partir de clients.

    • Cliquez avec le bouton droit sur une entité pour les actions suivantes :

      • Insérer : ajoutez l’entité à la requête à la position actuelle du curseur. La requête ne s’exécute pas automatiquement. Cette action est la valeur par défaut lorsque vous double-cliquez sur une entité. Utilisez cette action lors de la création d’une requête.

      • Tout interroger : exécutez une requête pour cette entité, y compris toutes les propriétés. Utilisez cette action pour rechercher rapidement une seule entité.

      • Requête par appareil : exécutez une requête pour cette entité et regroupez les résultats. Par exemple, Disk | summarize dcount( Device ) by Name

    • Développez une entité pour afficher les propriétés spécifiques disponibles pour chaque entité. Double-cliquez sur une propriété pour l’ajouter à la requête à la position actuelle du curseur.

  3. L’onglet Accueil affiche des informations générales sur CMPivot, notamment des liens vers des exemples de requêtes et la documentation de prise en charge.

  4. L’onglet Requête affiche le volet de requête, le volet de résultats et la barre d’état. L’onglet requête est sélectionné dans l’exemple de capture d’écran ci-dessus.

  5. Le volet de requête est l’endroit où vous générez ou tapez une requête à exécuter sur les clients de la collection.

    • Par défaut, ce volet utilise IntelliSense. Par exemple, si vous commencez à taper D, IntelliSense suggère toutes les entités qui commencent par cette lettre. Sélectionnez une option et appuyez sur Tab pour l’insérer. Tapez un caractère de canal et un espace | , puis IntelliSense suggère tous les opérateurs de table. Insérez summarize et tapez un espace, et IntelliSense suggère toutes les fonctions d’agrégation. Pour plus d’informations sur ces opérateurs et fonctions, sélectionnez l’onglet Accueil dans CMPivot.

    • Le volet de requête fournit également les options suivantes :

      • Exécutez la requête.

        • Pour réexécuter votre requête CMPivot actuelle sur les clients, maintenez la touche Ctrl enfoncée tout en cliquant sur Exécuter.
      • Reculer et avancer dans l’historique des requêtes.

      • Créez une collection d’appartenances directes.

      • Exportez les résultats de la requête au format CSV ou dans le Presse-papiers.

  6. Le volet de résultats affiche les données retournées par les clients actifs pour la requête.

    • Les colonnes disponibles varient en fonction de l’entité et de la requête.

    • La saturation des couleurs des données dans la table ou le graphique des résultats indique si les données sont actives ou à partir de la dernière analyse de l’inventaire matériel stockée dans la base de données du site. Par exemple, le noir est des données en temps réel d’un client en ligne, tandis que le gris est des données mises en cache.

    • Sélectionnez un nom de colonne pour trier les résultats en fonction de cette propriété.

    • Cliquez avec le bouton droit sur n’importe quel nom de colonne pour regrouper les résultats selon les mêmes informations dans cette colonne, ou trier les résultats.

    • Cliquez avec le bouton droit sur un nom d’appareil pour effectuer les actions supplémentaires suivantes sur l’appareil :

    • Cliquez avec le bouton droit sur une cellule autre que l’appareil pour effectuer les actions supplémentaires suivantes :

      • Copier : copiez le texte de la cellule dans le Presse-papiers.

      • Afficher les appareils avec : recherchez les appareils avec cette valeur pour cette propriété. Par exemple, dans les résultats de la OS requête, sélectionnez cette option dans une cellule de la ligne Version : OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ > 0)

      • Afficher les appareils sans : recherchez les appareils sans cette valeur pour cette propriété. Par exemple, dans les résultats de la OS requête, sélectionnez cette option dans une cellule de la ligne Version : OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ == 0) | project Device

      • Bing it : lancez le navigateur web par défaut sur https://www.bing.com avec cette valeur comme chaîne de requête.

    • Sélectionnez n’importe quel texte hypertexte pour faire pivoter la vue sur ces informations spécifiques.

    • Le volet de résultats n’affiche pas plus de 20 000 lignes. Ajustez la requête pour filtrer davantage les données ou redémarrez CMPivot sur une collection plus petite.

  7. La barre d’état affiche les informations suivantes (de gauche à droite) :

    • État de la requête actuelle pour la collection cible. Cet état inclut :

      • Nombre de clients actifs qui ont terminé la requête (3)

      • Nombre total de clients (5)

      • Nombre de clients hors connexion (2)

      • Tous les clients qui ont retourné un échec (0)

        Par exemple : Query completed on 3 of 5 clients (2 clients offline and 0 failure)

    • ID de l’opération cliente. Par exemple : id(16780221)

    • Collection actuelle. Par exemple : PM_Team_Machines

    • Nombre total de lignes dans le volet de résultats. Par exemple, 1 objects

Conseil

À compter de la version 2107, utilisez le bouton Interroger à nouveau les appareils ou Ctrl + F5 pour forcer le client à récupérer à nouveau les données de la requête. L’utilisation d’appareils de requête est utile lorsque vous prévoyez que les données changent sur l’appareil depuis la dernière requête, par exemple pendant la résolution des problèmes. Si vous sélectionnez à nouveau Exécuter la requête une fois que les résultats initiaux ont été retournés, vous analysez uniquement les données que CMPivot a déjà récupérées à partir du client.

Capture d’écran du bouton interroger à nouveau les appareils montrant l’info-bulle indiquant que Ctrl + F5 est un raccourci pour forcer les clients à récupérer à nouveau les données.

Publier une requête sur le hub communauté à partir de CMPivot

(S’applique à la version 2107 ou ultérieure)

À compter de la version 2107, vous pouvez publier une requête CMPivot sur le hub Communauté directement à partir de la fenêtre CMPivot. L’envoi de vos requêtes directement via CMPivot facilite la contribution au hub Communauté.

Vous aurez besoin des exigences suivantes pour CMPivot et pour contribuer au hub Communauté :

  1. Accédez à l’espace de travail Ressources et conformité , puis sélectionnez le nœud Regroupements d’appareils .

  2. Sélectionnez un regroupement cible, un appareil cible ou un groupe d’appareils, puis sélectionnez Démarrer CMPivot dans le ruban pour lancer l’outil.

  3. Dans la fenêtre CMPivot, sélectionnez l’icône Hub Communauté dans le menu.

    Icône du hub de la communauté

  4. Sélectionnez Se connecter, puis connectez-vous à GitHub.

  5. Créez une requête CMPivot, puis sélectionnez Exécuter la requête pour vérifier qu’elle fonctionne comme prévu.

    • Si vous le souhaitez, sélectionnez l’icône de dossier pour accéder à votre liste de favoris afin d’utiliser une requête que vous avez déjà créée.
  6. Sélectionnez le lien Publier en haut de la fenêtre Hub Communauté de CMPivot lorsque vous êtes prêt à envoyer votre requête.

    Capture d’écran de la fenêtre Hub Communauté dans CMPivot montrant l’onglet publication

  7. Donnez un nom et une description à votre requête, puis sélectionnez le bouton Publier pour envoyer votre requête au hub communauté.

  8. Une fois la contribution terminée, vous pouvez accéder à votre requête à tout moment à partir de l’onglet Moi .

  9. Pour afficher la demande de tirage GitHub, accédez à https://github.com/Microsoft/configmgr-hub/pulls. Vous pouvez également accéder au lien de demande de tirage à partir de la page Votre hub dans le nœud hub communauté .

    • Les demandes de tirage ne doivent pas être envoyées directement au dépôt GitHub.

Remarque

  • Actuellement, lorsque vous publiez une requête via CMPivot, vous ne pouvez pas la modifier ou la supprimer après la publication.
  • Le hub Communauté n’est disponible dans CMPivot que lorsque vous l’exécutez à partir de la console Configuration Manager. Le hub communauté n’est pas disponible à partir de CMPivot autonome.

Exemples de scénarios pour CMPivot

Les sections suivantes fournissent des exemples d’utilisation de CMPivot dans votre environnement :

Exemple 1 : Arrêter un service en cours d’exécution

Votre administrateur de la sécurité vous demande d’arrêter et de désactiver le service Navigateur d’ordinateur aussi rapidement que possible sur tous les appareils du service comptabilité. Vous démarrez CMPivot sur un regroupement pour tous les appareils de la comptabilité, puis sélectionnez Interroger tout sur l’entité Service .

Service

À mesure que les résultats s’affichent, cliquez avec le bouton droit sur la colonne Nom et sélectionnez Regrouper par.

Service | summarize dcount( Device ) by Name

Dans la ligne du service Browser , vous sélectionnez le numéro hypertexte dans la colonne dcount_ .

Service | where (Name == 'Browser') | summarize count() by Device

Sélectionnez plusieurs appareils, cliquez avec le bouton droit sur la sélection, puis choisissez Exécuter le script. Cette action lance l’Assistant Exécution du script, à partir duquel vous exécutez un script existant dont vous disposez pour arrêter et désactiver un service. Avec CMPivot, vous répondez rapidement à l’incident de sécurité pour tous les ordinateurs actifs, en affichant les résultats dans l’Assistant Exécution du script. Vous effectuez ensuite un suivi pour créer une base de référence de configuration pour corriger d’autres ordinateurs du regroupement à mesure qu’ils deviennent actifs à l’avenir.

Exemple CMPivot pour le service Navigateur et l’action Exécuter un script

Exemple 2 : Résoudre de manière proactive les échecs d’application

Pour être proactif avec la maintenance opérationnelle, une fois par semaine, vous exécutez CMPivot sur une collection de serveurs que vous gérez, puis sélectionnez Interroger tout sur l’entité AppCrash . Cliquez avec le bouton droit sur la colonne FileName et sélectionnez Trier croissant. Un appareil retourne sept résultats pour sqlsqm.exe avec un horodatage environ 03:00 chaque jour. Vous sélectionnez le nom de fichier dans l’une des lignes, cliquez dessus avec le bouton droit, puis sélectionnez Bing It. En parcourant les résultats de la recherche dans le navigateur web, vous trouverez un article de support Microsoft pour ce problème avec plus d’informations et de résolution.

Exemple 3 : version du BIOS

Pour atténuer les vulnérabilités du canal côté exécution spéculative, l’une des conditions requises consiste à mettre à jour le BIOS système. Vous commencez par une requête pour l’entité BIOS . Vous pouvez ensuite regrouper par la propriété Version . Cliquez ensuite avec le bouton droit sur une valeur spécifique, telle que « LENOVO - 1140 », puis sélectionnez Afficher les appareils avec.

Bios | summarize countif( (Version == 'LENOVO - 1140') ) by Device | where (countif_ > 0)

Exemple 4 : Espace disque libre

Vous devez stocker temporairement un fichier volumineux sur un serveur de fichiers réseau, mais vous ne savez pas lequel a une capacité suffisante. Démarrez CMPivot sur une collection de serveurs de fichiers et interrogez l’entité Disque . Modifiez la requête pour CMPivot afin de retourner rapidement une liste de serveurs actifs avec des données de stockage en temps réel :

Disk | where (Description == 'Local Fixed Disk') | where isnotnull( FreeSpace ) | order by FreeSpace asc

CMPivot autonome

Vous pouvez utiliser CMPivot comme application autonome. CMPivot autonome est disponible uniquement en anglais. Exécutez CMPivot en dehors de la console Configuration Manager pour afficher l’état en temps réel des appareils dans votre environnement. Cette modification vous permet d’utiliser CMPivot sur un appareil sans installer au préalable la console.

Vous pouvez partager la puissance de CMPivot avec d’autres personnes, telles que le support technique ou les administrateurs de sécurité, qui n’ont pas la console installée sur leur ordinateur. Ces autres personnages peuvent utiliser CMPivot pour interroger Configuration Manager avec les autres outils qu’ils utilisent traditionnellement. En partageant ces données de gestion enrichies, vous pouvez collaborer pour résoudre de manière proactive les problèmes métier qui se rencontrent entre les rôles.

Installer CMPivot autonome

  1. Configurez les autorisations nécessaires pour exécuter CMPivot. Pour plus d’informations, consultez Conditions préalables. Vous pouvez également utiliser le rôle Administrateur de la sécurité si les autorisations sont appropriées pour l’utilisateur.

  2. Recherchez le programme d’installation de l’application CMPivot dans le chemin d’accès suivant : <site install path>\tools\CMPivot\CMPivot.msi. Vous pouvez l’exécuter à partir de ce chemin ou le copier vers un autre emplacement.

  3. Lorsque vous exécutez l’application autonome CMPivot, vous êtes invité à vous connecter à un site. Spécifiez le nom de domaine complet ou le nom d’ordinateur de l’Administration centrale ou du serveur de site principal.

    • Chaque fois que vous ouvrez CMPivot autonome, vous êtes invité à vous connecter à un serveur de site.
  4. Accédez à la collection sur laquelle vous souhaitez exécuter CMPivot, puis exécutez votre requête.

    Accédez à la collection sur laquelle vous souhaitez exécuter votre requête

Remarque

  • Les actions de clic droit, telles que Exécuter les scripts, l’Explorateur de ressources et la recherche web, ne sont pas disponibles dans CMPivot autonome. L’utilisation principale de CMPivot autonome est l’interrogation indépendamment de l’infrastructure Configuration Manager. Pour aider les administrateurs de la sécurité, CMPivot autonome inclut la possibilité de se connecter à Centre de sécurité Microsoft Defender.
  • Vous pouvez effectuer une évaluation locale des requêtes d’appareil à l’aide de CMPivot autonome.

À l’intérieur de CMPivot

CMPivot envoie des requêtes aux clients à l’aide du Configuration Manager « canal rapide ». Ce canal de communication du serveur au client est également utilisé par d’autres fonctionnalités telles que les actions de notification du client, l’état du client et Endpoint Protection. Les clients retournent des résultats via le système de messages d’état rapide similaire. Les messages d’état sont temporairement stockés dans la base de données. Pour plus d’informations sur les ports utilisés pour la notification client, consultez l’article Ports .

Les requêtes et les résultats ne sont que du texte. Les entités InstallSoftware et Process retournent certains des jeux de résultats les plus volumineux. Pendant les tests de performances, la plus grande taille de fichier de message d’état d’un client pour ces requêtes était inférieure à 1 Ko. Mise à l’échelle vers un environnement volumineux avec 50 000 clients actifs, cette requête ponctuelle générerait moins de 50 Mo de données sur le réseau. Tous les éléments de la page d’accueil qui sont soulignés retournent moins de 1 Ko d’informations par client.

Exemple d’entités soulignées CMPivot

À compter de Configuration Manager 1810, CMPivot peut interroger des données d’inventaire matériel, y compris des classes d’inventaire matériel étendues. Ces nouvelles entités (entités non soulignées sur la page d’accueil) peuvent retourner des jeux de données beaucoup plus volumineux, en fonction de la quantité de données définie pour une propriété d’inventaire matériel donnée. Par exemple, l’entité « InstalledExecutable » peut retourner plusieurs Mo de données par client, en fonction des données spécifiques que vous interrogez. Gardez à l’esprit les performances et la scalabilité de vos systèmes lorsque vous retournez des jeux de données d’inventaire matériel plus volumineux à partir de collections plus volumineuses à l’aide de CMPivot.

Une requête expire après une heure. Par exemple, un regroupement a 500 appareils et 450 des clients sont actuellement en ligne. Ces appareils actifs reçoivent la requête et retournent les résultats presque immédiatement. Si vous laissez la fenêtre CMPivot ouverte, à mesure que les 50 autres clients sont en ligne, ils reçoivent également la requête et retournent des résultats.

Fichiers journaux

Les interactions CMPivot sont journalisées dans les fichiers journaux suivants :

Côté serveur :

  • SmsProv.log
  • BgbServer.log
  • StateSys.log

Côté client :

  • CCMNotificationAgent.log
  • Scripts.log
  • StateMessage.log

Pour plus d’informations, consultez Fichiers journaux et Résolution des problèmes CMPivot.

Prochaines étapes