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

S’applique à : Configuration Manager (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 intégré à la console qui permet désormais d’accéder à l’état en temps réel des appareils dans votre environnement. Il exécute immédiatement une requête sur tous les appareils actuellement connectés dans la collection cible et renvoie les résultats. Ensuite, filtrez et regroupez ces données dans l’outil. En fournissant des données en temps réel provenant de clients en ligne, vous pouvez plus rapidement répondre 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 de canal auxiliaire d’exécution spéculative, l’une des exigences est de mettre à jour le BIOS du 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 la bonne exécution des requêtes CMPivot. Certains logiciels de sécurité peuvent également générer des événements ou des alertes d’audit 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 Exécuter des scripts de Configuration Manager 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.

Configuration requise

Les composants suivants sont nécessaires 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 de Microsoft Edge sont actuellement signés avec le certificat Microsoft Code Signing PCA 2011 . Si vous définissez la stratégie d’exécution PowerShell sur AllSigned, vous devez vous assurer que les appareils font confiance à 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 d’accès de certification. Importez-le ensuite dans le magasin des éditeurs approuvés de l’ordinateur sur les appareils gérés. Vous pouvez utiliser le processus décrit 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 d’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 pour les scripts SMS n’est pas requise à partir de la version 2107
    • CMPivot n’a pas besoin de lecture pour les scripts SMS pour son scénario principal à partir de la version 2107. Cependant, si le service d’administration est arrêté et que l’autorisation a été supprimée, CMPivot échouera lorsque le service d’administration sera rétabli. Le fournisseur SMS nécessite toujours une autorisation de lecture sur les scripts SMS si le service d’administration y revient en raison d’une erreur 503 (service non disponible), comme dans le CMPivot.log.
  • Étendue par défaut.
    • L’étendue par défaut n’est pas requise à partir de la version 2107

Autorisations CMPivot par version de Configuration Manager

1902 et avant Versions 1906 à 2103 2107 ou ultérieure
Autorisation Exécuter le 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 exige toujours une autorisation de lecture sur les scripts SMS si le service d’administration y revient en raison d’une erreur 503 (Service non disponible), comme dans la CMPivot.log.
Autorisation d’étendue par défaut Autorisation d’étendue par défaut S/O

Limitations

  • CMPivot renvoie uniquement les données des clients connectés au site actuel, sauf s’il est exécuté à partir du site d’administration centrale (CAS).
    • Si une collection contient des appareils d’un autre site, les résultats de CMPivot proviennent uniquement des appareils du site actuel, sauf si CMPivot est exécuté à partir du CAS.
    • Dans certains environnements, des autorisations supplémentaires sont nécessaires pour que CMPivot s’exécute sur le CAS. 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 de la communauté.
  • Lorsque l’authentification unique avec authentification multifacteur est utilisée, vous ne pourrez peut-être pas vous connecter au hub de la communauté à partir de CMPivot lors de l’utilisation de Configuration Manager 2103 et versions antérieures.

Démarrer CMPivot

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

    • 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 les 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 vers les opérateurs de table, les fonctions d’agrégation et les fonctions scalaires ouvrent la documentation de référence du 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 de status 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 des 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.

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

      • 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 voir 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, y compris des liens vers des exemples de requêtes et de la documentation de support.

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

  5. Le volet de requête est l’endroit dans lequel vous créez 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 commençant par cette lettre. Sélectionnez une option et appuyez sur Tab pour l’insérer. Tapez une barre verticale 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 la liste des requêtes de l’historique.

      • Créez une collection d’adhésion directe.

      • Exportez les résultats de la requête vers un fichier CSV ou 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 figurant dans la table de résultats ou le graphique indique si les données sont actives ou proviennent de la dernière analyse d’inventaire matériel stockée dans la base de données du site. Par exemple, le noir correspond aux données en temps réel d’un client en ligne, tandis que le gris correspond aux 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 un nom de colonne pour regrouper les résultats en fonction des 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 qui n’est pas un appareil pour effectuer les actions supplémentaires suivantes :

      • Copier : Copiez le texte de la cellule dans le presse-papiers.

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

      • Afficher les appareils sans : Recherchez des appareils sans cette valeur pour cette propriété. Par exemple, dans les résultats de la OS requête, sélectionnez cette option sur 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 https://www.bing.com web par défaut avec cette valeur comme chaîne de requête.

    • Sélectionnez un texte avec lien hypertexte pour faire pivoter l’affichage 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 de status affiche les informations suivantes (de gauche à droite) :

    • L’état de la requête actuelle vers la collection cible. Ce status inclut :

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

      • Nombre total de clients (5)

      • Nombre de clients hors connexion (2)

      • Tous les clients ayant retourné un échec (0)

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

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

    • Collection actuelle. Par exemple : PM_Team_Machines

    • Nombre total de lignes dans le volet des 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 pour la requête. La réutilisation des appareils de requête est utile lorsque vous vous attendez à ce que les données changent sur l’appareil depuis la dernière requête, par exemple pendant la résolution des problèmes. La sélection de nouveau de l’option Exécuter la requête une fois les résultats initiaux renvoyés analyse uniquement les données que CMPivot a déjà récupérées du client.

Capture d’écran du bouton Appareils de requête montrant l’info-bulle indiquant que Ctrl + F5 est un raccourci permettant de forcer les clients à récupérer à nouveau les données.

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

(S’applique à la version 2107 ou aux versions ultérieures)

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

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

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

  2. Sélectionnez une collection 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 Hub 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 de la communauté de CMPivot lorsque vous êtes prêt à soumettre 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 de la 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 (PR), 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 de la communauté est disponible uniquement dans CMPivot lorsque vous l’exécutez à partir de la console du Configuration Manager. Le hub de la 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 l’exécution d’un service

Votre administrateur de sécurité vous demande d’arrêter et de désactiver le service Explorateur d’ordinateurs le plus rapidement possible sur tous les appareils du service de comptabilité. Vous démarrez CMPivot sur une collection pour tous les appareils dans la comptabilité, et sélectionnez Interroger tout sur l’entité Service .

Service

Lorsque les résultats apparaissent, 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 de navigateur , vous sélectionnez le numéro avec lien hypertexte dans la colonne dcount_ .

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

Vous 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écuter un script, à partir duquel vous exécutez un script existant dont vous disposez pour arrêter et désactiver un service. Avec CMPivot, vous réagissez rapidement à l’incident de sécurité pour tous les ordinateurs actifs, en affichant les résultats dans l’assistant Exécuter le script. Vous créez ensuite une ligne de base de configuration pour corriger les autres ordinateurs de la collection à mesure qu’ils deviennent actifs à l’avenir.

Exemple CMPivot pour le service de navigateur et l’action Exécuter le script

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

Pour être proactif dans 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 Nom de fichier et sélectionnez Tri croissant. Un appareil renvoie sept résultats pour sqlsqm.exe avec un horodatage d’environ 03:00 chaque jour. Sélectionnez le nom de fichier dans l’une des lignes, cliquez dessus avec le bouton droit, puis sélectionnez Bing Il. En parcourant les résultats de la recherche dans le navigateur web, vous trouverez un article du 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 de canal auxiliaire d’exécution spéculative, l’une des conditions requises consiste à mettre à jour le BIOS du système. Vous commencez par une requête pour l’entité BIOS . Vous regroupez ensuite selon 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 disponible

Vous devez stocker temporairement un fichier volumineux sur un serveur de fichiers réseau, mais vous ne savez pas lequel dispose d’une capacité suffisante. Démarrez CMPivot sur une collection de serveurs de fichiers, puis interrogez l’entité Disk . Modifiez la requête pour que CMPivot renvoie 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 une application autonome. CMPivot standalone 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 la console au préalable.

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

Installer CMPivot autonome

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

  2. Trouvez 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 d’accès 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 du 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 l’exécution des scripts, l’Explorer de ressources et la recherche web, ne sont pas disponibles dans CMPivot autonome. L’utilisation principale de CMPivot standalone est l’interrogation indépendamment de l’infrastructure Configuration Manager. Pour aider les administrateurs de sécurité, CMPivot autonome inclut la possibilité de se connecter au Centre de sécurité Microsoft Defender.
  • Vous pouvez évaluer les requêtes d’appareils locaux à l’aide de CMPivot autonome.

Dans CMPivot

CMPivot envoie des requêtes aux clients à l’aide du « canal rapide » du Configuration Manager. Ce canal de communication du serveur au client est également utilisé par d’autres fonctionnalités, telles que les actions de notification du client, les status client et la protection des points de terminaison. Les clients renvoient des résultats via le système de message à é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 du 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. Lors des tests de performances, la taille maximale du fichier de message d’état d’un client pour ces requêtes était inférieure à 1 Ko. Adaptée à un environnement de grande taille comptant 50 000 clients actifs, cette requête unique générerait moins de 50 Mo de données sur l’ensemble du réseau. Tous les éléments de la page d’accueil qui sont soulignés retourneront moins de 1 Ko d’informations par client.

Exemple d’entités soulignées CMPivot

À partir de Configuration Manager 1810, CMPivot peut interroger les données d’inventaire matériel, y compris les 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 sur lesquelles vous effectuez une requête. Soyez conscient des performances et de l’évolutivité de vos systèmes lorsque vous retournez des jeux de données d’inventaire matériel plus volumineux à partir de collections plus importantes à l’aide de CMPivot.

Une requête expire au bout d’une heure. Par exemple, une collection a 500 appareils, et 450 clients sont actuellement en ligne. Ces appareils actifs reçoivent la requête et renvoient les résultats presque immédiatement. Si vous laissez la fenêtre CMPivot ouverte, lorsque les 50 autres clients se connectent, ils reçoivent également la requête et renvoient des résultats.

Fichiers journaux

Les interactions CMPivot sont enregistré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, voir Fichiers journaux et dépannage de CMPivot.

Étapes suivantes