CMPivot per i dati in tempo reale in Configuration Manager

Si applica a: Configuration Manager (Current Branch)

Configuration Manager ha sempre fornito un grande archivio centralizzato di dati del dispositivo, che i clienti usano per la creazione di report. Il sito raccoglie in genere questi dati su base settimanale. A partire dalla versione 1806, CMPivot è una nuova utilità nella console che ora fornisce l'accesso allo stato in tempo reale dei dispositivi nell'ambiente. Esegue immediatamente una query su tutti i dispositivi attualmente connessi nella raccolta di destinazione e restituisce i risultati. Filtrare e raggruppare i dati nello strumento. Fornendo dati in tempo reale dai client online, è possibile rispondere più rapidamente alle domande aziendali, risolvere i problemi e rispondere agli eventi imprevisti di sicurezza.

Ad esempio, per mitigare le vulnerabilità del canale lato esecuzione speculativa, uno dei requisiti consiste nell'aggiornare il BIOS di sistema. È possibile usare CMPivot per eseguire rapidamente query sulle informazioni del BIOS di sistema e trovare i client che non sono conformi.

Importante

  • Alcuni software di sicurezza possono bloccare gli script in esecuzione da c:\windows\ccm\scriptstore. Ciò può impedire l'esecuzione corretta delle query CMPivot. Alcuni software di sicurezza possono anche generare avvisi o eventi di controllo durante l'esecuzione di CmPivot PowerShell.
  • Alcuni software antimalware possono inavvertitamente attivare eventi sulla Configuration Manager eseguire script o funzionalità CMPivot. È consigliabile escludere %windir%\CCM\ScriptStore in modo che il software antimalware consenta l'esecuzione di tali funzionalità senza interferenze.

Prerequisiti

Per usare CMPivot sono necessari i componenti seguenti:

  • Aggiornare i dispositivi di destinazione alla versione più recente del client Configuration Manager.

  • I client di destinazione richiedono almeno la versione 4 di PowerShell.

  • Per raccogliere dati per le entità seguenti, i client di destinazione richiedono PowerShell versione 5.0:

    • Amministratori
    • Connessione
    • IPConfig
    • SMBConfig
  • CMPivot e il programma di installazione di Microsoft Edge sono attualmente firmati con il certificato PCA 2011 per la firma del codice Microsoft. Se si impostano i criteri di esecuzione di PowerShell su AllSigned, è necessario assicurarsi che i dispositivi consideri attendibile questo certificato di firma. È possibile esportare il certificato da un computer in cui è stata installata la console Configuration Manager. Visualizzare il certificato in "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\CMPivot.exe"e quindi esportare il certificato di firma del codice dal percorso di certificazione. Importarlo quindi nell'archivio Autori attendibili del computer nei dispositivi gestiti. È possibile usare il processo nel blog seguente, ma assicurarsi di esportare il certificato di firma del codice dal percorso di certificazione: Aggiunta di un certificato ai server di pubblicazione attendibili tramite Intune.

Autorizzazioni

Per CMPivot sono necessarie le autorizzazioni seguenti:

  • Eseguire l'autorizzazione CMPivot per la raccolta
  • Autorizzazione di lettura per i report di inventario
  • Autorizzazione di lettura per l'oggetto SMS Scripts
    • La lettura per gli script SMS non è necessaria a partire dalla versione 2107
    • CMPivot non necessita di lettura per gli script SMS per lo scenario primario a partire dalla versione 2107. Tuttavia, se il servizio di amministrazione è inattivo e l'autorizzazione è stata rimossa, quando il servizio di amministrazione non riesce, CMPivot avrà esito negativo. Il provider SMS richiede comunque l'autorizzazione di lettura per gli script SMS se il servizio di amministrazione viene restituito a causa di un errore 503 (Servizio non disponibile), come illustrato in CMPivot.log.
  • Ambito predefinito.
    • L'ambito predefinito non è necessario a partire dalla versione 2107

Autorizzazioni CMPivot per Configuration Manager versione

1902 e versioni precedenti Versioni da 1906 a 2103 2107 o versione successiva
Autorizzazione Esegui script per la raccolta Eseguire l'autorizzazione CMPivot per la raccolta Eseguire l'autorizzazione CMPivot per la raccolta
Autorizzazione di lettura per i report di inventario Autorizzazione di lettura per i report di inventario Autorizzazione di lettura per i report di inventario
Autorizzazione di lettura per script SMS Autorizzazione di lettura per script SMS N/D

Il provider SMS richiede ancora l'autorizzazione di lettura per gli script SMS se il servizio di amministrazione vi rientra a causa di un errore 503 (Servizio non disponibile), come illustrato in CMPivot.log.
Autorizzazione per l'ambito predefinito Autorizzazione per l'ambito predefinito N/D

Limitazioni

  • CMPivot restituisce i dati solo per i client connessi al sito corrente, a meno che non vengano eseguiti dal sito di amministrazione centrale.
    • Se una raccolta contiene dispositivi di un altro sito, i risultati di CMPivot provengono solo dai dispositivi nel sito corrente, a meno che CMPivot non venga eseguito dal sito di amministrazione centrale.
    • In alcuni ambienti sono necessarie autorizzazioni aggiuntive per l'esecuzione di CMPivot nel server di amministrazione centrale. Per altre informazioni, vedere Modifiche di CMPivot per la versione 1902.
  • Non è possibile personalizzare le proprietà dell'entità, le colonne per i risultati o le azioni nei dispositivi.
  • Solo un'istanza di CMPivot può essere eseguita contemporaneamente in un computer che esegue la console Configuration Manager.
  • In CMPivot autonomo non è possibile accedere alle query CMPivot archiviate nell'hub della community.
  • Quando si usa l'accesso Single Sign-On con l'autenticazione a più fattori, potrebbe non essere possibile accedere all'hub della community da CMPivot quando si usa Configuration Manager 2103 e versioni precedenti.

Avviare CMPivot

  1. Nella console Configuration Manager connettersi al sito primario o al sito cas. Passare all'area di lavoro Asset e conformità e selezionare il nodo Raccolte dispositivi . Selezionare una raccolta di destinazione e selezionare Avvia CMPivot nella barra multifunzione per avviare lo strumento. Se questa opzione non viene visualizzata, controllare le configurazioni seguenti:

    • Verificare con un amministratore del sito che l'account disponga delle autorizzazioni necessarie. Per altre informazioni, vedere Prerequisiti.
  2. L'interfaccia fornisce ulteriori informazioni sull'uso dello strumento.

    • Immettere manualmente le stringhe di query nella parte superiore oppure selezionare i collegamenti nella documentazione in linea.

    • Selezionare una delle entità per aggiungerla alla stringa di query.

    • I collegamenti per operatori di tabella, funzioni di aggregazione e funzioni scalari consentono di aprire la documentazione di riferimento del linguaggio nel Web browser. CMPivot usa il Linguaggio di query Kusto (KQL).

  3. Mantenere aperta la finestra CMPivot per visualizzare i risultati dai client. Quando si chiude la finestra CMPivot, la sessione viene completata.

    • Se la query è stata inviata, i client inviano comunque una risposta al messaggio di stato al server.

Come usare CMPivot

Esempio di finestra CMPivot

La finestra CMPivot contiene gli elementi seguenti:

  1. La raccolta attualmente destinata a CMPivot si trova nella barra del titolo nella parte superiore e nella barra di stato nella parte inferiore della finestra. Ad esempio, "PM_Team_Machines" nello screenshot precedente.

  2. Nel riquadro a sinistra sono elencate le entità disponibili nei client. Alcune entità si basano su WMI, mentre altre usano PowerShell per ottenere dati dai client.

    • Fare clic con il pulsante destro del mouse su un'entità per le azioni seguenti:

      • Inserisci: aggiungere l'entità alla query nella posizione corrente del cursore. La query non viene eseguita automaticamente. Questa azione è l'impostazione predefinita quando si fa doppio clic su un'entità. Usare questa azione durante la compilazione di una query.

      • Query all: eseguire una query per questa entità, incluse tutte le proprietà. Usare questa azione per eseguire rapidamente una query per una singola entità.

      • Query per dispositivo: eseguire una query per questa entità e raggruppare i risultati. Ad esempio, Disk | summarize dcount( Device ) by Name

    • Espandere un'entità per visualizzare le proprietà specifiche disponibili per ogni entità. Fare doppio clic su una proprietà per aggiungerla alla query nella posizione corrente del cursore.

  3. La scheda Home mostra informazioni generali su CMPivot, inclusi i collegamenti alle query di esempio e la documentazione di supporto.

  4. Nella scheda Query vengono visualizzati il riquadro query, il riquadro dei risultati e la barra di stato. La scheda query è selezionata nell'esempio di screenshot precedente.

  5. Nel riquadro query viene compilata o digitata una query da eseguire nei client della raccolta.

    • Per impostazione predefinita, questo riquadro usa IntelliSense. Ad esempio, se si inizia a digitare D, IntelliSense suggerisce tutte le entità che iniziano con tale lettera. Selezionare un'opzione e premere TAB per inserirla. Digitare un carattere di pipe e uno spazio | , quindi IntelliSense suggerisce tutti gli operatori di tabella. Inserire summarize e digitare uno spazio e IntelliSense suggerisce tutte le funzioni di aggregazione. Per altre informazioni su questi operatori e funzioni, selezionare la scheda Home in CMPivot.

    • Il riquadro query offre anche le opzioni seguenti:

      • Eseguire la query.

        • Per eseguire nuovamente la query CMPivot corrente nei client, tenere premuto CTRL mentre si fa clic su Esegui.
      • Spostarsi avanti e indietro nell'elenco cronologia delle query.

      • Creare una raccolta di appartenenza diretta.

      • Esportare i risultati della query in CSV o negli Appunti.

  6. Nel riquadro dei risultati vengono visualizzati i dati restituiti dai client attivi per la query.

    • Le colonne disponibili variano in base all'entità e alla query.

    • La saturazione dei colori dei dati nella tabella o nel grafico dei risultati indica se i dati sono attivi o dall'ultima analisi dell'inventario hardware archiviata nel database del sito. Ad esempio, il nero è costituito da dati in tempo reale provenienti da un client online, mentre i dati in grigio sono memorizzati nella cache.

    • Selezionare un nome di colonna per ordinare i risultati in base a tale proprietà.

    • Fare clic con il pulsante destro del mouse su qualsiasi nome di colonna per raggruppare i risultati in base alle stesse informazioni nella colonna o ordinare i risultati.

    • Fare clic con il pulsante destro del mouse sul nome di un dispositivo per eseguire le azioni aggiuntive seguenti nel dispositivo:

    • Fare clic con il pulsante destro del mouse su qualsiasi cella non dispositivo per eseguire le azioni aggiuntive seguenti:

      • Copia: copiare il testo della cella negli Appunti.

      • Mostra dispositivi con: eseguire una query per i dispositivi con questo valore per questa proprietà. Dai risultati della OS query, ad esempio, selezionare questa opzione in una cella della riga Versione: OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ > 0)

      • Mostra dispositivi senza: eseguire una query per i dispositivi senza questo valore per questa proprietà. Dai risultati della OS query, ad esempio, selezionare questa opzione in una cella della riga Versione: OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ == 0) | project Device

      • Bing it: avviare il Web browser predefinito a https://www.bing.com con questo valore come stringa di query.

    • Selezionare un testo con collegamenti ipertestuali per eseguire il pivot della visualizzazione su tali informazioni specifiche.

    • Il riquadro dei risultati non mostra più di 20.000 righe. Modificare la query per filtrare ulteriormente i dati o riavviare CMPivot in una raccolta più piccola.

  7. La barra di stato mostra le informazioni seguenti (da sinistra a destra):

    • Stato della query corrente nella raccolta di destinazione. Questo stato include:

      • Numero di client attivi che hanno completato la query (3)

      • Numero totale di client (5)

      • Numero di client offline (2)

      • Tutti i client che hanno restituito un errore (0)

        Ad esempio: Query completed on 3 of 5 clients (2 clients offline and 0 failure)

    • ID dell'operazione client. Ad esempio: id(16780221)

    • Raccolta corrente. Ad esempio: PM_Team_Machines

    • Numero totale di righe nel riquadro dei risultati. Ad esempio, 1 objects

Consiglio

A partire dalla versione 2107, usare il pulsante Esegui nuovamente query sui dispositivi o CTRL + F5 per forzare il client a recuperare nuovamente i dati per la query. L'uso di dispositivi query è utile quando si prevede che i dati cambino nel dispositivo dopo l'ultima query, ad esempio durante la risoluzione dei problemi. Selezionando di nuovo Esegui query dopo che i risultati iniziali vengono restituiti, vengono analizzati solo i dati che CMPivot ha già recuperato dal client.

Screenshot del pulsante Di nuovo dispositivi di query che mostra la descrizione comando che CTRL + F5 è un collegamento per forzare i client a recuperare nuovamente i dati.

Pubblicare query nell'hub della community da CMPivot

(Si applica alla versione 2107 o successiva)

A partire dalla versione 2107, è possibile pubblicare una query CMPivot nell'hub della community direttamente dalla finestra CMPivot. L'invio delle query direttamente tramite CMPivot semplifica il contributo all'hub della community.

Sono necessari i requisiti seguenti per CMPivot e per contribuire all'hub della community:

  1. Passare all'area di lavoro Asset e conformità e quindi selezionare il nodo Raccolte dispositivi .

  2. Selezionare una raccolta di destinazione, un dispositivo di destinazione o un gruppo di dispositivi, quindi selezionare Avvia CMPivot sulla barra multifunzione per avviare lo strumento.

  3. Nella finestra CMPivot selezionare l'icona dell'hub della community nel menu.

    Icona dell'hub della community

  4. Selezionare Accedi, quindi accedere a GitHub.

  5. Creare una query CMPivot, quindi selezionare Esegui query per verificarne il funzionamento come previsto.

    • Facoltativamente, selezionare l'icona della cartella per accedere all'elenco preferiti per usare una query già creata.
  6. Selezionare il collegamento Pubblica nella parte superiore della finestra dell'hub community di CMPivot quando si è pronti per inviare la query.

    Screenshot della finestra dell'hub della community in CMPivot che mostra la scheda di pubblicazione

  7. Assegnare alla query un nome e una descrizione, quindi selezionare il pulsante Pubblica per inviare la query all'hub della community.

  8. Una volta completato il contributo, è possibile accedere alla query in qualsiasi momento dalla scheda Io .

  9. Per visualizzare la richiesta pull (PR) di GitHub, passare a https://github.com/Microsoft/configmgr-hub/pulls. È anche possibile accedere al collegamento richiesta pull dalla pagina L'hub nel nodo Dell'hub della community .

    • Le richieste pull non devono essere inviate direttamente al repository GitHub.

Nota

  • Attualmente, quando si pubblica una query tramite CMPivot, non è possibile modificarla o eliminarla dopo la pubblicazione.
  • L'hub della community è disponibile in CMPivot solo quando viene eseguito dalla console di Configuration Manager. L'hub della community non è disponibile da CMPivot autonomo.

Scenari di esempio per CMPivot

Le sezioni seguenti forniscono esempi di come è possibile usare CMPivot nell'ambiente:

Esempio 1: Arrestare un servizio in esecuzione

L'amministratore della sicurezza chiede di arrestare e disabilitare il servizio Browser computer il più rapidamente possibile in tutti i dispositivi del reparto contabilità. Si avvia CMPivot in una raccolta per tutti i dispositivi in contabilità e si seleziona Esegui query su tutti nell'entità Servizio .

Service

Quando vengono visualizzati i risultati, fare clic con il pulsante destro del mouse sulla colonna Nome e selezionare Raggruppa per.

Service | summarize dcount( Device ) by Name

Nella riga del servizio Browser selezionare il numero con collegamento ipertestuale nella colonna dcount_ .

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

Si selezionano più dispositivi, si fa clic con il pulsante destro del mouse sulla selezione e si sceglie Esegui script. Questa azione avvia la procedura guidata Esegui script da cui si esegue uno script esistente per arrestare e disabilitare un servizio. Con CMPivot si risponde rapidamente all'evento imprevisto di sicurezza per tutti i computer attivi, visualizzando i risultati nella procedura guidata Esegui script. È quindi necessario completare la creazione di una baseline di configurazione per correggere gli altri computer nella raccolta man mano che diventano attivi in futuro.

Esempio CMPivot per il servizio Browser e l'azione Esegui script

Esempio 2: Risolvere in modo proattivo gli errori dell'applicazione

Per essere proattivi con la manutenzione operativa, una volta alla settimana si esegue CMPivot su una raccolta di server gestiti e si seleziona Query all nell'entità AppCrash . Fare clic con il pulsante destro del mouse sulla colonna FileName e scegliere Ordinamento crescente. Un dispositivo restituisce sette risultati per sqlsqm.exe con un timestamp di circa 03:00 ogni giorno. Selezionare il nome del file in una delle righe, fare clic con il pulsante destro del mouse su di esso e selezionare Bing It. Esplorando i risultati della ricerca nel Web browser, è disponibile un articolo di supporto Microsoft per questo problema con altre informazioni e risoluzione.

Esempio 3: versione del BIOS

Per attenuare le vulnerabilità del canale lato esecuzione speculativa, uno dei requisiti è aggiornare il BIOS di sistema. Si inizia con una query per l'entità BIOS . Si esegue quindi il raggruppamento in base alla proprietà Version . Fare quindi clic con il pulsante destro del mouse su un valore specifico, ad esempio "LENOVO - 1140" e scegliere Mostra dispositivi con.

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

Esempio 4: Spazio libero su disco

È necessario archiviare temporaneamente un file di grandi dimensioni in un file server di rete, ma non si è certi di quale abbia capacità sufficiente. Avviare CMPivot su una raccolta di file server ed eseguire una query sull'entità Disco . Modificare la query per CMPivot per restituire rapidamente un elenco di server attivi con dati di archiviazione in tempo reale:

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

CMPivot autonomo

È possibile usare CMPivot come app autonoma. CMPivot autonomo è disponibile solo in inglese. Eseguire CMPivot all'esterno della console Configuration Manager per visualizzare lo stato in tempo reale dei dispositivi nell'ambiente. Questa modifica consente di usare CMPivot in un dispositivo senza prima installare la console.

È possibile condividere la potenza di CMPivot con altri utenti, ad esempio helpdesk o amministratori della sicurezza, che non hanno la console installata nel computer. Questi altri utenti possono usare CMPivot per eseguire query Configuration Manager insieme agli altri strumenti che usano tradizionalmente. Condividendo questi dati di gestione avanzati, è possibile collaborare per risolvere in modo proattivo i problemi aziendali che si intersecano tra i ruoli.

Installare CMPivot autonomo

  1. Configurare le autorizzazioni necessarie per eseguire CMPivot. Per altre informazioni, vedere Prerequisiti. È anche possibile usare il ruolo Amministratore della sicurezza se le autorizzazioni sono appropriate per l'utente.

  2. Trovare il programma di installazione dell'app CMPivot nel percorso seguente: <site install path>\tools\CMPivot\CMPivot.msi. È possibile eseguirlo da tale percorso o copiarlo in un'altra posizione.

  3. Quando si esegue l'app autonoma CMPivot, verrà richiesto di connettersi a un sito. Specificare il nome di dominio completo o il nome del computer di Amministrazione centrale o del server del sito primario.

    • Ogni volta che si apre CMPivot autonomo viene richiesto di connettersi a un server del sito.
  4. Passare alla raccolta in cui si vuole eseguire CMPivot, quindi eseguire la query.

    Passare alla raccolta su cui si vuole eseguire la query

Nota

  • Le azioni di clic con il pulsante destro del mouse, ad esempio Esegui script, Esplora risorse e ricerca Web, non sono disponibili in CMPivot autonomo. L'uso principale di CMPivot autonomo è l'esecuzione di query indipendentemente dall'infrastruttura Configuration Manager. Per aiutare gli amministratori della sicurezza, CMPivot autonomo include la possibilità di connettersi a Microsoft Defender Security Center.
  • È possibile eseguire la valutazione delle query del dispositivo locale usando CMPivot autonomo.

All'interno di CMPivot

CMPivot invia query ai client usando il Configuration Manager "canale veloce". Questo canale di comunicazione da server a client viene usato anche da altre funzionalità, ad esempio azioni di notifica client, stato client ed Endpoint Protection. I client restituiscono risultati tramite il sistema di messaggi di stato rapido simile. I messaggi di stato vengono archiviati temporaneamente nel database. Per altre informazioni sulle porte usate per la notifica client, vedere l'articolo Porte .

Le query e i risultati sono solo testo. Le entità InstallSoftware e Process restituiscono alcuni dei set di risultati più grandi. Durante i test delle prestazioni, le dimensioni massime del file del messaggio di stato da un client per queste query erano inferiori a 1 KB. Ridimensionata in un ambiente di grandi dimensioni con 50.000 client attivi, questa query occasionale genererebbe meno di 50 MB di dati nella rete. Tutti gli elementi della pagina iniziale sottolineati restituiscono meno di 1 KB di informazioni per client.

Esempio di entità sottolineate di CMPivot

A partire da Configuration Manager 1810, CMPivot può eseguire query sui dati di inventario hardware, incluse le classi di inventario hardware estese. Queste nuove entità (entità non sottolineate nella pagina iniziale) possono restituire set di dati molto più grandi, a seconda della quantità di dati definita per una determinata proprietà di inventario hardware. Ad esempio, l'entità "InstalledExecutable" potrebbe restituire più MB di dati per client, a seconda dei dati specifici su cui si esegue la query. Tenere presente le prestazioni e la scalabilità dei sistemi quando si restituiscono set di dati di inventario hardware di dimensioni maggiori da raccolte più grandi usando CMPivot.

Timeout di una query dopo un'ora. Ad esempio, una raccolta ha 500 dispositivi e 450 dei client sono attualmente online. Questi dispositivi attivi ricevono la query e restituiscono i risultati quasi immediatamente. Se si lascia aperta la finestra CMPivot, man mano che gli altri 50 client vengono online, ricevono anche la query e restituiscono i risultati.

File di registro

Le interazioni CMPivot vengono registrate nei file di log seguenti:

Lato server:

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

Lato client:

  • CcmNotificationAgent.log
  • Scripts.log
  • StateMessage.log

Per altre informazioni, vedere File di log e Risoluzione dei problemi di CMPivot.

Passaggi successivi