Confirmation du fonctionnement de l'inventaire matériel

Normalement, nous supposons simplement que l'inventaire matériel fonctionne, mais que se passe-t-il s'il ne fonctionne pas ? Laisse-moi expliquer. L'autre jour, j'aidais quelqu'un à résoudre les raisons pour lesquelles .NET 4.0 n'était pas inventorié par Configuration Manager (ConfigMgr/SCCM). Comme d'habitude, je les ai dirigés vers mon Résoudre les problèmes d'inventaire matériel ConfigMgr article de blog. Après avoir suivi les étapes de cet article, cependant, tout a fonctionné comme prévu. Ensuite, j'ai attiré leur attention sur le message, Mes deux scripts d'exécution ConfigMgr préférés. Cet article vous montre comment créer un script ConfigMgr afin de forcer un inventaire complet (rythme cardiaque, matériel, logiciel et collection de fichiers). Encore une fois, après avoir suivi les étapes de cet article, leur problème n'a pas été résolu. Ceci, bien sûr, m'a laissé très perplexe. Quel était le problème? Ensuite, je me suis rendu compte - la modification du fichier MOF est-elle correcte ? Qu'est-ce qui est réellement inventorié ?

Voici les questions qui ont été à la base de cet article :

  • L'inventaire matériel existe-t-il réellement ?
  • Que voyons-nous sur l'ordinateur lui-même ?

Après avoir fini d'écrire cet article, j'ai réalisé que cet article est en fait le précurseur de mon premier article de blog sur la façon de, Dépannage de l'inventaire matériel ConfigMgr.

Contexte

Selon le type de classe WMI, il existe de nombreuses manières différentes d'examiner les données sous-jacentes, mais à un niveau élevé, les étapes de dépannage sont toutes fondamentalement les mêmes. Ce sont trois scénarios de classe WMI dont je parlerai plus tard dans cet article :

  1. La classe Windows WMI (par exemple Win32_BIOS) est inventoriée.
  2. La classe WMI personnalisée (par exemple les moniteurs Enhansoft) est inventoriée.
  3. La lecture des clés de registre dynamiques (par exemple les clés .NET) via une classe WMI personnalisée est inventoriée.

Inventaire du matériel - Définir le problème

Avant de parler de chaque type de classe WMI et de la façon d'interroger WMI, vous devez d'abord définir le problème. Souvent, les gens disent : « Cela ne fonctionne pas, il n'y a pas d'inventaire. » Cependant, lorsque vous approfondissez leur problème, il s'avère qu'il s'agit de l'un de ces quatre problèmes :

  1. Il n'y a pas d'inventaire.
  2. Il y a un inventaire, mais seulement pour un article.
  3. Il y a un inventaire, mais un attribut est manquant ou erroné.
  4. Il y a un inventaire, mais tous les articles ne sont pas répertoriés.

Cet article de blog couvre principalement le premier problème, "Il n'y a pas d'inventaire". Toutes les étapes pour résoudre ce problème, cependant, sont toujours utiles lors de l'examen d'autres problèmes comme le troisième problème, "Il y a un inventaire, mais un attribut est manquant ou erroné". Gardez à l'esprit que lors du dépannage des deuxième et quatrième problèmes (et parfois du troisième problème), il s'agit généralement d'un mauvais paramètre client (sms_def.mof pour nous les anciens) importé, ou les détails ne sont PAS répertoriés pour le système local . Prenez les imprimantes mappées, par exemple, le compte système local ne voit jamais le compte d'imprimante d'un utilisateur lorsque WMI est interrogé.

Étapes de haut niveau

Voici les étapes de dépannage de haut niveau :

  1. Interrogez la classe WMI à l'aide d'un compte d'utilisateur normal.
  2. Interrogez la classe WMI à l'aide d'un compte d'administrateur local.
  3. Interrogez la classe WMI à l'aide d'un compte système local.
  4. Examinez les données sous-jacentes.

La seule différence entre les trois premières étapes est le compte utilisé pour afficher les résultats. Cela fait une grande différence dans les résultats de certaines classes, mais dans d'autres, les résultats sont exactement les mêmes.

Comment interroger une classe WMI

La classe WMI interrogée n'a pas d'importance. Cette étape consiste à valider que les données existent sur l'ordinateur lui-même. S'il n'est pas là, alors il ne sera JAMAIS dans SCCM.

Pour cet exemple, j'utilise mon compte personnel (gartek\garth), qui se trouve être également un compte d'administrateur local (en sautant à la deuxième étape de haut niveau) et j'utiliserai WBEMTEST pour lire les clés de registre dynamiques via une classe WMI . Juste au cas où vous ne le sauriez pas, WBEMTEST se trouve sur tous les ordinateurs Windows.

Inventaire du matériel - Testeur d'instrumentation de gestion Windows

Une fois wbemtest.exe est lancé, cliquez sur le Relier… bouton.

Espace de noms

Assurez-vous que le Espace de noms est root\cimv2 et cliquez sur Relier.

Enum Classes

Clique sur le Cours d'énumération… bouton.

Récursif

Sélectionner Récursif et cliquez d'accord.

Résultat de la requête

Attends le Terminé message à apparaître, puis localisez la classe WMI que vous souhaitez examiner. Double-cliquez dessus. Dans ce cas, je souhaite revoir ES_DotNETFrameworks.

Instances

Cliquez sur Instances.

- Résultats de la requête ES_DotNETFrameworks

Double-cliquez sur l'instance que vous souhaitez examiner. Dans mon cas c'est 4.0.

Inventaire du matériel - Local uniquement

Dans la nouvelle fenêtre, sélectionnez le Local uniquement option (flèche violette). Cela vous montre uniquement les propriétés de cette instance. À ce stade, confirmez que les résultats sont ceux que vous attendez.

Dans ce cas, tout, mais Pack de services, ressemble exactement à ce que j'attendais. Pourquoi est-ce Pack de services mis à ? Cela ne devrait pas être le cas, alors j'y reviendrai plus tard. Dans l'ensemble, ce test confirme que tout fonctionne comme prévu, à l'exception du Pack de services attribut.

La plupart du temps, vous n'avez pas vraiment besoin de répéter les étapes WBEMTEST avec un autre compte d'utilisateur ou un compte système local. Souvent, je saute ces étapes et ne les effectue pas à moins que tout le reste que je teste ne revienne correctement. Dans ce cas, je répète le WBEMTEST avec les autres comptes jusqu'à ce que je trouve le problème.

Erreurs avec WBEMTEST

Si vous obtenez des erreurs lors de l'interrogation d'une classe WMI avec WBEMTEST, cela peut signifier plusieurs choses. Le problème peut provenir du fichier configuration.mof, ou il se peut que la classe n'existe pas dans WMI, ou qu'il y ait une faute de frappe dans le chemin de la clé de registre. Les solutions aux erreurs WBEMTEST ne sont pas de simples correctifs. Dans tous les cas, le fichier configuration.mof doit être revu et vous devez tout confirmer.

Résultats corrects, mais PAS en SCCM

Que devez-vous faire si les résultats sont corrects ici, mais pas dans SCCM ? Cela n'arrive normalement jamais, MAIS si c'est le cas, votre première étape consiste à forcer un inventaire complet. Cet article de blog, Mes deux scripts d'exécution ConfigMgr préférés, vous aide en vous montrant comment créer un script pour forcer un inventaire complet. Deuxièmement, vous devez confirmer que les résultats sont correctement renvoyés à SCCM. Si, après avoir forcé un inventaire complet et que les choses ne sont toujours pas correctes, et que vous avez revu le Résoudre les problèmes d'inventaire matériel ConfigMgr article de blog, veuillez contacter la base avec le Équipe Enhansoft. Nous aimerions voir si nous pouvons vous aider, ou au moins reproduire le problème dans nos laboratoires.

Résultats erronés

Consultez les sections suivantes pour obtenir de l'aide sur la résolution de ces problèmes.

Inventaire du matériel – Examinez les données sous-jacentes

La façon dont vous examinez les données sous-jacentes dépend du type de classe WMI. S'agit-il d'une classe WMI Windows, d'un fournisseur WMI personnalisé ou est-ce le problème lors de la lecture des clés de registre dynamiques ? Ci-dessous, je parle de chacun.

Classe WMI Windows

Malheureusement, vous ne pouvez pas faire grand-chose avec celui-ci. Au mieux, vous pouvez ouvrir un ticket d'assistance avec Microsoft et ils peuvent travailler avec vous pour résoudre votre problème.

Classe WMI personnalisée

Une classe WMI personnalisée utilise un fournisseur WMI personnalisé, qui est essentiellement un fichier exe (exécutable). Votre meilleur pari est d'examiner la documentation du fournisseur. Tous les produits de Enhansoft, tels que Rapports Enhansoft, TOUJOURS inclure un fichier journal. Ce fichier journal contient une tonne d'informations qui vous indiquent le problème exact ! Et bien sûr, vous pouvez contacter le Équipe de soutien trop.

Lecture des clés de registre dynamiques

Cette classe WMI est créée par les modifications de fichier MOF. Il n'y a pas de gros truc ici. Ouvrez le fichier configuration.mof présent sur votre serveur de site sous \inboxes\clifiles.src\hinv. Sur l'ordinateur, vérifiez la clé de registre qui ne fournit pas de résultats. N'oubliez pas de vérifier les clés x86 et x64.

Test d'édition de fichier MOF

Dans cette section, je n'expliquerai pas comment créer une modification de fichier MOF à partir d'une clé de registre. Si vous souhaitez savoir comment faire, veuillez lire mon article de blog, Comment utiliser RegKeyToMof. Au lieu de cela, je vous montre l'extrait de l'édition du fichier MOF pour .NET 4.0.

[DYNPROPS]
instance de ES_DotNETFrameworks
{ Version = "4.0" ;
[PropertyContext ("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client|Install"),Dynamic,Provider ("RegPropProv")] Installé ;
[PropertyContext ("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client|SP"),Dynamic,Provider ("RegPropProv")] ServicePack ;
[PropertyContext ("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client|Version"),Dynamic,Provider ("RegPropProv")] BuildNumber;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client|Release"),Dynamic, Provider ("RegPropProv")] Version ;
};

À partir de l'extrait, il est assez facile de voir que ces informations proviennent de la clé HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client. Je regarde ces quatre attributs : Install, SP, Version et Release.

REGEDIT

Inventaire du matériel - Éditeur du registre

Maintenant, je révise le registre en utilisant Regedit. Je vois rapidement que l'installation, la version et la version sont là comme prévu, MAIS le fichier MOF recherche l'attribut SP et il n'y en a pas dans le registre. Cela explique pourquoi j'ai vu une valeur nulle dans WMI lorsque je l'ai interrogé avec WBEMTEST. La solution à ce problème consiste à ce que le fichier MOF examine l'attribut Servicing au lieu de l'attribut SP. Une fois que j'ai mis à jour le fichier configuration.mof, ConfigMgr est en mesure de collecter les détails de maintenance et .NET 4.0 est maintenant inventorié.

Résumé de l'inventaire du matériel

Avant de commencer à résoudre les raisons pour lesquelles l'inventaire matériel n'est pas affiché dans ConfigMgr, vous devez vraiment vous assurer que les détails existent sur le ou les ordinateurs en question. S'ils n'y existent pas, ils n'existeront jamais dans ConfigMgr. Je ne sais pas pour vous, mais je saute fréquemment cette étape et suppose que les détails existent déjà sur l'ordinateur, donc à partir de maintenant, lorsque je n'obtiens pas les résultats que j'attends, je me tournerai vers ces étapes de dépannage. Si vous avez des questions, n'hésitez pas à me contacter @GarthMJ.

Découvrez comment Right Click Tools change la façon dont les systèmes sont gérés.

Augmentez immédiatement votre productivité grâce à notre version Community Edition limitée et gratuite.

Commencez dès aujourd'hui avec Right Click Tools :

Assistance

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Contact

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

En soumettant ce formulaire, vous comprenez que Recast Software peut traiter vos données comme décrit dans le Recast Software Politique de confidentialité.

fr_FRFrench