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 fournit désormais l’accès à 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 la collection cible et retourne les résultats. Filtrez et regroupez ensuite 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 métier, résoudre les problèmes et répondre aux incidents de sécurité.

Par exemple, pour atténuer les vulnérabilités de 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 des clients qui ne sont pas conformes.

Important

  • Certains logiciels de sécurité peuvent bloquer les scripts s’exécutant à 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 autorise l’exécution de ces fonctionnalités 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 nécessitent PowerShell version 5.0 :

    • Administrateurs
    • Connection
    • IPConfig
    • SMBConfig
  • CMPivot et le programme d’installation 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 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, "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. Ensuite, importez-le dans le magasin Serveurs de publication 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 d’accès de certification : ajout d’un certificat à des serveurs de publication 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 SMS Scripts
    • Lire pour SMS Scripts n’est pas nécessaire à compter de la version 2107
    • CMPivot n’a pas besoin de Lire pour SMS Scripts pour son scénario principal à compter 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 en arrière, CMPivot échoue. Le fournisseur de SMS nécessite toujours l’autorisation de lecture sur SMS Scripts 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 à compter de la version 2107

Autorisations CMPivot par version Configuration Manager

1902 et versions antérieures Versions 1906 à 2103 2107 ou version ultérieure
Exécuter l’autorisation 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 S/O

Le fournisseur de SMS nécessite toujours l’autorisation de lecture sur SMS Scripts 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

Limitations

  • 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 une collection 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 les modifications apportées à 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 Community.
  • 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 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 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 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 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.

Utilisation de CMPivot

Exemple de fenêtre CMPivot

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

  1. La collection actuellement ciblée par CMPivot se trouve dans la barre de titre en haut et dans 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 de clients.

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

      • Insertion : 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 interroger 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, notamment des liens vers des exemples de requêtes et une documentation de prise en charge.

  4. L’onglet Requête affiche le volet de requête, le volet des 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 à taperD, 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érer summarize et taper 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 en cliquant sur Exécuter.
      • Avancez vers l’arrière et vers l’avant dans la liste d’historique des requêtes.

      • Créez une collection d’appartenances directes.

      • Exportez les résultats de la requête vers 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 dans la table ou le graphique de 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 de site. Par exemple, le noir est des données en temps réel provenant d’un client en ligne, tandis que le gris est mis 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 triez 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 n’importe quelle cellule non-appareil pour effectuer les actions supplémentaires suivantes :

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

      • Afficher les appareils avec : Interroger les 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 : Interroger les 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 : lancez le navigateur https://www.bing.com web par défaut avec cette valeur comme chaîne de requête.

    • Sélectionnez un texte en 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 d’état affiche les informations suivantes (de gauche à droite) :

    • État de la requête actuelle sur 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 renvoyé l’é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 à nouveau le bouton Des appareils de requête ou CtrlF5 + pour forcer le client à récupérer à nouveau les données pour la requête. L’utilisation à nouveau d’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 lors de la résolution des problèmes. La nouvelle sélection de la requête d’exécution après le retour des résultats initiaux n’analyse que les données que CMPivot a déjà récupérées du client.

Capture d’écran du bouton De nouveau sur les appareils de requête 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 Community hub à partir de CMPivot

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

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

Vous aurez besoin des conditions suivantes pour CMPivot et pour contribuer au Community hub :

  1. Go to the Assets and Compliance workspace then select the Device Collections node.

  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 Community hub dans le menu.

    Community hub

  4. Sélectionnez Se connectez, 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.

    • Vous pouvez éventuellement sélectionner 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 Community hub de CMPivot lorsque vous êtes prêt à envoyer votre requête.

    Capture d’écran de la Community hub dans CMPivot affichant 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 Community hub.

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

  9. Pour afficher la demande GitHub pull (PR), allez à https://github.com/Microsoft/configmgr-hub/pulls . Vous pouvez également accéder au lien pr à partir de la page De votre hub dans le Community hub.

    • Les fichiers DR ne doivent pas être envoyés directement au GitHub de données.

Notes

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

Exemples de scénarios pour CMPivot

Les sections suivantes fournissent des exemples de la façon dont vous pouvez utiliser CMPivot dans votre environnement :

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

Votre administrateur de sécurité vous demande d’arrêter et de désactiver le service Computer Browser le plus rapidement possible sur tous les appareils du service de comptabilité. Vous démarrez CMPivot sur une collection pour tous les appareils en 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 , puis sélectionnez Regrouper par.

Service | summarize dcount( Device ) by Name

Dans la ligne du service Browser , vous sélectionnez le numéro de 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écution de 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 de script. Vous allez ensuite créer une ligne de base de configuration pour corriger d’autres ordinateurs de la collection à mesure qu’ils deviennent actifs à l’avenir.

Exemple CMPivot pour le service Navigateur et l’action Exécuter le 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 , puis sélectionnez Tri croissant. Un appareil retourne sept résultats pour sqlsqm.exe avec un horodatage vers 03:00 chaque jour. Vous sélectionnez le nom du fichier dans l’une des lignes, cliquez dessus avec le bouton droit, puis sélectionnez Bing-le. 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 de canal côté exécution spéculative, l’une des exigences consiste à mettre à jour le BIOS système. Vous commencez par une requête pour l’entité BIOS . Vous devez 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é Disk . Modifiez la requête pour CMPivot pour 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 en tant qu’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 premier abord la console.

Vous pouvez partager la puissance de CMPivot avec d’autres personnes, telles que le helpdesk ou les administrateurs de sécurité, qui n’ont pas la console installée sur leur ordinateur. Ces autres personnes 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 d’entreprise qui entrent les rôles.

Installer CMPivot autonome

  1. Configurer les autorisations nécessaires pour exécuter CMPivot. Pour plus d’informations, voir les 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 d’application CMPivot dans le chemin d’accès <site install path>\tools\CMPivot\CMPivot.msi suivant : 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 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 qui vous souhaitez exécuter votre requête

Notes

  • Les actions de clic droit, telles que l’exécuter des scripts, l’Explorateur de ressources et la recherche web ne sont pas disponibles dans CMPivot autonome. L’utilisation principale de CMPivot autonome consiste à interroger indépendamment de l’infrastructure Configuration Manager. Pour aider les administrateurs de sécurité, CMPivot autonome inclut la possibilité de se connecter à Centre de sécurité Microsoft Defender.
  • Vous pouvez faire une évaluation de requête d’appareil local à 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 stockés temporairement 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. 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 unique générerait moins de 50 Mo de données sur le réseau. Tous les éléments de la page d’accueil 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, notamment 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éfinies 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. Tenez compte des performances et de l’extensibilité de vos systèmes lors du retour de 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, une collection 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 les 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, consultez fichiers journaux et résolution des problèmes liés à CMPivot.

Prochaines étapes