Conferma che l'inventario hardware funziona

Normalmente, assumiamo solo che l'inventario hardware funzioni, ma cosa succede se non funziona? Lasciatemi spiegare. L'altro giorno, stavo aiutando qualcuno a risolvere il motivo per cui .NET 4.0 non veniva inventariato da Configuration Manager (ConfigMgr/SCCM). Come al solito, li ho indirizzati al mio Risolvere i problemi di inventario hardware ConfigMgr post sul blog. Dopo aver seguito i passaggi in quel post, tuttavia, tutto ha funzionato come previsto. Successivamente, ho richiamato la loro attenzione sul post, I miei due script di esecuzione ConfigMgr preferiti. Quel post mostra come creare uno script ConfigMgr per forzare un inventario completo (Heartbeat, Hardware, Software e Raccolta di file). Ancora una volta, dopo aver seguito i passaggi in quel post, il loro problema non è stato risolto. Questo, ovviamente, mi ha lasciato molto perplesso. Qual'era il problema? Poi mi sono reso conto: la modifica del file MOF è corretta? Cosa viene effettivamente inventariato?

Queste sono le domande che hanno costituito la base di questo post:

  • L'inventario hardware esiste davvero?
  • Cosa stiamo vedendo sul computer stesso?

Dopo aver finito di scrivere questo post, mi sono reso conto che questo post è in realtà il precursore del mio primo post sul blog su come, Risolvere i problemi dell'inventario hardware ConfigMgr.

Sfondo

A seconda del tipo di classe WMI, ci sono molti modi diversi per rivedere i dati sottostanti, ma a un livello più alto i passaggi per la risoluzione dei problemi sono sostanzialmente gli stessi. Questi sono tre scenari di classe WMI di cui parlerò più avanti in questo post:

  1. Viene inventariato la classe WMI di Windows (ad es. Win32_BIOS).
  2. La classe WMI personalizzata (es. monitor Enhansoft) viene inventariata.
  3. La lettura di chiavi di registro dinamiche (ad es. chiavi .NET) tramite una classe WMI personalizzata viene inventariata.

Inventario hardware: definire il problema

Prima di parlare di ogni tipo di classe WMI e di come interrogare WMI, devi prima definire il problema. Molto tempo, la gente dice: "Non funziona, non c'è inventario". Quando approfondisci il loro problema, tuttavia, risulta essere uno di questi quattro problemi:

  1. Non c'è inventario.
  2. C'è inventario, ma solo per un articolo.
  3. È presente un inventario, ma un attributo è mancante o errato.
  4. C'è un inventario, ma non tutti gli articoli sono elencati.

Questo post sul blog copre principalmente il primo problema, "Non c'è inventario". Tutti i passaggi per la risoluzione di questo problema, tuttavia, sono ancora utili quando si esaminano altri problemi come il terzo problema, "C'è inventario, ma un attributo è mancante o errato". Tieni presente che quando si risolvono il secondo e il quarto problema (e talvolta il terzo problema) generalmente si tratta di un'impostazione client errata (sms_def.mof per noi veterani) che viene importata o che i dettagli NON sono elencati per il sistema locale . Prendendo le stampanti mappate, ad esempio, l'account di sistema locale non vede mai l'account della stampante di un utente quando viene eseguita una query su WMI.

Passaggi di alto livello

Ecco i passaggi di risoluzione dei problemi di alto livello:

  1. Interroga la classe WMI utilizzando un normale account utente.
  2. Interroga la classe WMI utilizzando un account di amministratore locale.
  3. Interroga la classe WMI utilizzando un account di sistema locale.
  4. Rivedere i dati sottostanti.

L'unica differenza tra i primi tre passaggi è l'account utilizzato per visualizzare i risultati. Questo fa una grande differenza nei risultati per alcune classi, ma in altre i risultati sono esattamente gli stessi.

Come interrogare una classe WMI

Non importa quale classe WMI viene interrogata. Questo passaggio riguarda la convalida dell'esistenza dei dati sul computer stesso. Se non è presente, non sarà MAI all'interno di SCCM.

Per questo esempio, sto usando il mio account personale (gartek\garth), che risulta essere anche un account di amministratore locale (saltando al secondo passaggio di alto livello) e utilizzerò WBEMTEST per leggere le chiavi di registro dinamiche tramite una classe WMI . Nel caso non lo sapessi, WBEMTEST si trova su tutti i computer Windows.

Inventario hardware - Tester Strumentazione gestione Windows

Una volta wbemtest.exe viene lanciato, fare clic su Collegare… pulsante.

Spazio dei nomi

Assicurarsi che il Spazio dei nomi è root\cimv2 e fai clic su Collegare.

Classi Enum

Clicca sul Classi Enum… pulsante.

Ricorsivo

Selezionare Ricorsivo e clicca ok.

Risultato della query

Aspetta il Fatto visualizzato il messaggio e quindi individuare la classe WMI che si desidera esaminare. Fare doppio clic su di esso. In questo caso, voglio rivedere ES_DotNETFrameworks.

istanze

Clic istanze.

- Risultati query ES_DotNETFrameworks

Fare doppio clic sull'istanza che si desidera esaminare. Nel mio caso è 4.0.

Inventario hardware - Solo locale

Nella nuova finestra, seleziona Solo locale opzione (freccia viola). Questo mostra solo le proprietà per quell'istanza. A questo punto, conferma che i risultati sono quelli che ti aspetti.

In questo caso, tutto, ma Pacchetto d'aggiornamento, sembra esattamente come mi aspettavo. Perché è Pacchetto d'aggiornamento impostato ? Non dovrebbe essere, quindi lo esaminerò più tardi. Nel complesso, questo test conferma che tutto funziona come previsto, ad eccezione del Pacchetto d'aggiornamento attributo.

La maggior parte delle volte, non è necessario ripetere i passaggi WBEMTEST con un account utente o un account di sistema locale diverso. Spesso, salto questi passaggi e non li eseguo a meno che tutto il resto che sto testando non torni correttamente. In tal caso, ripeto WBEMTEST con gli altri account finché non trovo il problema.

Errori con WBEMTEST

Se si verificano errori durante l'interrogazione di una classe WMI con WBEMTEST, ciò potrebbe significare alcune cose. Il problema potrebbe essere con il file configuration.mof, o potrebbe essere che la classe non esiste all'interno di WMI, o c'è un errore di battitura nel percorso della chiave di registro. Le soluzioni agli errori WBEMTEST non sono semplici correzioni. In tutti i casi, il file configuration.mof deve essere rivisto e devi confermare tutto.

Risultati corretti, ma NON in SCCM

Cosa dovresti fare se i risultati sono corretti qui, ma non all'interno di SCCM? Questo normalmente non accade mai, MA se lo fa, il tuo primo passo è forzare un inventario completo. Questo articolo del blog, I miei due script di esecuzione ConfigMgr preferiti, ti aiuta mostrandoti come creare uno script per forzare un inventario completo. In secondo luogo, è necessario confermare che i risultati vengano restituiti correttamente a SCCM. Se, dopo aver forzato un inventario completo e le cose non sono ancora corrette, e hai rivisto il Risolvere i problemi di inventario hardware ConfigMgr post sul blog, tocca la base con il Squadra Enhansoft. Ci piacerebbe vedere se possiamo aiutarti, o almeno riprodurre il problema nei nostri laboratori.

Risultati sbagliati

Vedere le prossime sezioni per assistenza nella risoluzione di questi problemi.

Inventario hardware: rivedere i dati sottostanti

La modalità di revisione dei dati sottostanti dipende dal tipo di classe WMI. È una classe WMI di Windows, un provider WMI personalizzato o il problema è durante la lettura delle chiavi di registro dinamiche? Di seguito, parlo di ciascuno.

Classe WMI di Windows

Sfortunatamente, non c'è molto che puoi fare con questo. Nella migliore delle ipotesi, puoi aprire un ticket di supporto con Microsoft e possono lavorare con te per risolvere il tuo problema.

Classe WMI personalizzata

Una classe WMI personalizzata utilizza un provider WMI personalizzato, che è fondamentalmente solo un file exe (eseguibile). La cosa migliore è rivedere la documentazione del venditore. Tutti i prodotti Enhansoft, come Rapporti Enhansoft, includi SEMPRE un file di registro. Questo file di registro contiene un sacco di informazioni che ti dicono il problema esatto! E, naturalmente, puoi contattare il Team di supporto pure.

Lettura di chiavi di registro dinamiche

Questa classe WMI viene creata dalle modifiche al file MOF. Non c'è un grosso trucco qui. Apri il file configuration.mof che trovi sul server del tuo sito sotto \inbox\clifiles.src\hinv. Sul computer, esamina la chiave di registro che non fornisce risultati. Non dimenticare di controllare ENTRAMBE le chiavi x86 e x64.

Test di modifica del file MOF

In questa sezione, non spiegherò come creare una modifica del file MOF da una chiave di registro. Se vuoi sapere come farlo, leggi il mio post sul blog, Come usare RegKeyToMof. Invece, ti sto mostrando lo snippet della modifica del file MOF per .NET 4.0.

[DYNPROPS]
istanza di ES_DotNETFrameworks
{ Versione=”4.0″;
[PropertyContext(“local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client|Install”),Dynamic,Provider(“RegPropProv”)] Installato;
[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”)] Release;
};

Dal frammento è abbastanza facile vedere che queste informazioni provengono dalla chiave HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client. Sto esaminando questi quattro attributi: Install, SP, Version e Release.

REGEDITA

Inventario hardware - Editor del registro

Ora, rivedo il registro utilizzando Regedit. Vedo rapidamente che Install, Version e Release sono presenti come previsto, MA il file MOF sta cercando l'attributo SP e non ce n'è uno elencato nel registro. Questo spiega perché ho visto un valore nullo in WMI quando l'ho interrogato con WBEMTEST. La soluzione a questo problema consiste nel fare in modo che il file MOF esamini l'attributo Servicing anziché l'attributo SP. Una volta aggiornato il file configuration.mof, ConfigMgr è in grado di raccogliere i dettagli di manutenzione e .NET 4.0 è ora inventariato.

Riepilogo inventario hardware

Prima di iniziare a risolvere il motivo per cui l'inventario hardware non viene visualizzato all'interno di ConfigMgr, è necessario assicurarsi che i dettagli esistano sui computer in questione. Se non esistono lì, non esisteranno mai all'interno di ConfigMgr. Non so voi, ma spesso salto questo passaggio e presumo che i dettagli esistano già sul computer, quindi d'ora in poi, quando non otterrò i risultati che mi aspetto, passerò a questi passaggi per la risoluzione dei problemi. In caso di domande, non esitate a contattarmi base @GarthMJ.

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Condividi questo:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.
it_ITItalian