Änderungen an CMPivot

Gilt für: Configuration Manager (Current Branch)

Verwenden Sie die folgenden Informationen, um mehr über Änderungen zu erfahren, die zwischen Configuration Manager Versionen an CMPivot vorgenommen wurden:

CMPivot-Änderungen für Version 2107

Vereinfachte CMPivot-Berechtigungsanforderungen

Wir haben die CMPivot-Berechtigungsanforderungen vereinfacht. Die neuen Berechtigungen gelten für eigenständige CMPivot-Instanzen und CMPivot in der lokalen Konsole. Die folgenden Änderungen wurden vorgenommen:

  • CMPivot erfordert keine Leseberechtigung für SMS-Skripts mehr

    • Der SMS-Anbieter benötigt diese Berechtigung weiterhin, wenn der Verwaltungsdienst aufgrund eines Fehlers 503 (Dienst nicht verfügbar) auf ihn zurückfällt, wie in CMPivot.log zu sehen.
  • Die Standardbereichsberechtigung ist nicht erforderlich.

Allgemeine Verbesserungen an CMPivot

Wir haben die folgenden Verbesserungen an CMPivot vorgenommen:

  • Maxif- und Minif-Aggregatoren hinzugefügt, die mit dem summarize-Operator verwendet werden können
  • Verbesserungen an Vorschlägen zum automatischen Vervollständigen von Abfragen im Abfrage-Editor
  • Der Entität Registry wurde ein Schlüsselwert hinzugefügt.
  • Neue RegistryKey-Entität hinzugefügt, die alle Registrierungsschlüssel zurückgibt, die dem angegebenen Ausdruck entsprechen

Um den Unterschied zwischen den Entitäten Registry und RegistryKey zu überprüfen, können Sie die folgenden Beispiele verwenden:

// Change the path to match your desired registry hive query

Registry('hklm:\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\*')
RegistryKey('hklm:\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\*')

RegistryKey('hklm:\SOFTWARE\Microsoft\SMS\*')
Registry('hklm:\SOFTWARE\Microsoft\SMS\*')

CMPivot-Änderungen für Version 2103

Ab Version 2103 wurden die folgenden Verbesserungen für CMPivot vorgenommen:

Warnmeldung und CmPivot-Datenoption exportieren, wenn die Ergebnisse zu groß sind

Wenn die Ergebnisse zu groß sind, wird die folgende Warnmeldung angezeigt:

Ihre Abfrage hat eine große Anzahl von Ergebnissen zurückgegeben. Schränken Sie die Ergebnisse ein, indem Sie die Abfrage ändern, oder wählen Sie dieses Banner aus, um die Ergebnisse zu exportieren.

Diese Meldung tritt in den folgenden Szenarien auf:

  • Wenn die Ergebnisse größer als 100.000 Zellen sind.

    • Für instance wird der Warnungsschwellenwert für 10.000 Geräte (Zeilen) mit 10 Spalten mit Entitätsdaten erreicht.
    • In diesem Fall erhalten Sie die Möglichkeit, Ergebnisse in eine .csv Datei zu exportieren.
  • Wenn mehr als 128 KB an Daten angefordert werden, um von einem bestimmten Gerät zurückgegeben zu werden.

    • Für instance CcmLog('ciagent', 120d) protokollieren Abfragen Ergebnisse und überschreiten wahrscheinlich den Grenzwert von 128 KB.
    • Wenn die Ergebnisse über 128 KB liegen, erhalten Sie eine Warnung, aber Sie können sie nicht exportieren, da sie nicht vom Client an den Server zurückgegeben werden.

Zugreifen auf die am häufigsten im Community Hub freigegebenen Abfragen über CMPivot

Ab Version 2103 können Sie über die lokale CMPivot-Instanz auf die wichtigsten CMPivot-Abfragen zugreifen, die im Community Hub freigegeben werden. Durch die Verwendung vorab erstellter CMPivot-Abfragen, die von der breiteren Community freigegeben werden, erhalten CMPivot-Benutzer Zugriff auf eine größere Vielfalt von Abfragen. Die lokale CMPivot-Instanz greift auf den Community Hub zu und gibt eine Liste der am häufigsten heruntergeladenen CMPivot-Abfragen zurück. Benutzer können die wichtigsten Abfragen überprüfen, anpassen und dann bei Bedarf ausführen. Diese Verbesserung bietet eine größere Auswahl an Abfragen für die sofortige Verwendung, ohne sie erstellen zu müssen, und ermöglicht auch die Gemeinsame nutzung von Informationen zum Erstellen von Abfragen für zukünftige Verweise.

Hinweis

Diese Abfragen sind verfügbar, wenn Sie CMPivot über die Configuration Manager-Konsole ausführen. Sie sind in eigenständigem CMPivot noch nicht verfügbar.

Voraussetzungen:

Verwenden von CMPivot für den Zugriff auf die wichtigsten Community Hub-Abfragen

  1. Wechseln Sie zum Arbeitsbereich Bestand und Kompatibilität , und wählen Sie dann den Knoten Gerätesammlungen aus.

  2. Wählen Sie eine Zielsammlung, ein Zielgerät oder eine Gerätegruppe aus, und wählen Sie dann cmPivot starten im Menüband aus, um das Tool zu starten.

  3. Verwenden Sie das Community Hub-Symbol im Menü.

    Community Hub-Symbol

  4. Überprüfen Sie die Liste der wichtigsten freigegebenen CMPivot-Abfragen.

    Wichtigste CMPivot-Abfragen vom Community Hub

  5. Wählen Sie eine der wichtigsten Abfragen aus, um sie in den Abfragebereich zu laden.

  6. Bearbeiten Sie die Abfrage bei Bedarf, und wählen Sie dann Abfrage ausführen aus.

  7. Wählen Sie optional das Ordnersymbol aus, um auf Ihre Favoritenliste zuzugreifen. Fügen Sie die ursprüngliche Abfrage oder Ihre bearbeitete Version ihrer Favoritenliste hinzu, um sie später auszuführen. Wählen Sie das Community Hub-Symbol aus, um nach einer anderen Abfrage zu suchen.

  8. Lassen Sie das CMPivot-Fenster geöffnet, um Ergebnisse von Clients anzuzeigen. Wenn Sie das CMPivot-Fenster schließen, ist die Sitzung abgeschlossen. Wenn die Abfrage gesendet wurde, senden Clients weiterhin eine Statusmeldungsantwort an den Server.

CMPivot-Änderungen für Version 2006

Ab Version 2006 wurden die folgenden Verbesserungen für CMPivot vorgenommen:

  • CmPivot eigenständig und CMPivot, die über die Verwaltungskonsole gestartet wurden, wurden zusammengeführt. Wenn Sie CMPivot über die Verwaltungskonsole starten, wird die gleiche zugrunde liegende Technologie wie cmPivot eigenständig verwendet, um Ihnen szenarioparität zu bieten.

  • Verbesserungen für die Tastaturnavigation in CMPivot.

  • Sie können CMPivot von einem einzelnen Gerät oder mehreren Geräten aus dem Geräteknoten ausführen, ohne eine Gerätesammlung auswählen zu müssen. Diese Verbesserung erleichtert Es Personen, die als Helpdesk-Persona arbeiten, CMPivot-Abfragen für bestimmte Geräte außerhalb einer vorab erstellten Sammlung zu erstellen.

    • Wählen Sie ein einzelnes Gerät oder Geräte mit mehrfacher Auswahl in einer Gerätesammlung aus, oder wählen Sie dann CMPivot starten aus.
  • Wenn Sie Geräte in einer Abfragelistenansicht zurückgeben, können Sie geräte pivotieren auf einem oder mehreren Geräten auswählen und dann nur diese Geräte pivotieren und abfragen, um weitere Details anzuzeigen. Durch diese Änderung können Sie einen Drilldown ausführen, ohne den größeren Satz von Geräten aus der ursprünglichen Sammlung abzufragen. Device Pivot hat Pivot in ersetzt.

    • Wählen Sie in einem vorhandenen CMPivot-Vorgang ein einzelnes Gerät oder mehrere Geräte aus der Ausgabe aus. Klicken Sie mit der rechten Maustaste, und pivotieren Sie sie mithilfe der Option Device Pivot . Durch diese Aktion wird eine separate CMPivot-instance gestartet, die nur auf die von Ihnen ausgewählten Geräte ausgerichtet ist. Dies erleichtert das Pivotieren und einfache Abfragen der gewünschten Geräte, ohne eine Sammlung für sie erstellen zu müssen.
  • Wenn Sie CMPivot für ein einzelnes Gerät ausführen, wird der Gerätename oben im Fenster aufgeführt. Bei mehreren Geräten wird die Anzahl der ausgewählten Geräte oben im Fenster aufgeführt.

  • Die Option Sammlung erstellen auf der Registerkarte Abfragezusammenfassung wurde entfernt, da CMPivot keine Abfragen für eine Sammlung mehr erfordert. Führen Sie einen Geräte pivot aus, um eine neue instance von CMPivot zu öffnen, die nur auf die Geräte ausgerichtet ist, auf die Sie abfragen möchten. Sammlung erstellen ist weiterhin im Menü Standard verfügbar.

Geräte pivotieren für mehrere Geräte mit CMPivot

CMPivot-Änderungen für Version 2002

Wir haben die Navigation durch CMPivot-Entitäten vereinfacht. Ab Configuration Manager Version 2002 können Sie CMPivot-Entitäten durchsuchen. Neue Symbole wurden auch hinzugefügt, um die Entitäten und die Entitätsobjekttypen einfach zu unterscheiden.

Durchsuchen von CMPivot-Entitäten

CMPivot-Änderungen für Version 1910

Ab Version 1910 wurde CMPivot erheblich optimiert, um den Netzwerkdatenverkehr und die Last auf Ihren Servern zu reduzieren. Darüber hinaus wurden eine Reihe von Entitäts- und Entitätserweiterungen hinzugefügt, um die Problembehandlung und Suche zu unterstützen. Die folgenden Änderungen wurden für CMPivot in Version 1910 eingeführt:

Optimierungen der CMPivot-Engine

Um den Netzwerkdatenverkehr und die Last auf Ihren Servern zu reduzieren, wurde CMPivot in 1910 optimiert. Viele Abfragevorgänge werden jetzt direkt auf dem Client statt auf den Servern ausgeführt. Diese Änderung bedeutet auch, dass einige CMPivot-Vorgänge minimale Daten aus der ersten Abfrage zurückgeben. Wenn Sie sich für einen Drilldown in den Daten entscheiden, um weitere Informationen zu erhalten, kann eine neue Abfrage ausgeführt werden, um die zusätzlichen Daten vom Client abzurufen. Für instance wurde zuvor ein großes Dataset an den Server zurückgegeben, wenn Sie eine Abfrage "zusammengefasste Anzahl" ausgeführt haben. Während die Rückgabe eines großen Datasets einen sofortigen Drilldown bot, war oft nur die zusammengefasste Anzahl erforderlich. Wenn Sie in 1910 einen Drilldown für einen bestimmten Client durchführen, erfolgt eine weitere Sammlung der Daten, um die von Ihnen angeforderten zusätzlichen Daten zurückzugeben. Diese Änderung bietet eine bessere Leistung und Skalierbarkeit für Abfragen für eine große Anzahl von Clients.

Beispiele

Die CMPivot-Optimierungen reduzieren die NETZWERK- und Server-CPU-Last drastisch, die zum Ausführen von CMPivot-Abfragen erforderlich ist. Mit diesen Optimierungen können wir jetzt Gigabytes an Clientdaten in Echtzeit durchsuchen. Die folgenden Abfragen veranschaulichen diese Optimierungen:

  • Durchsuchen Sie alle Ereignisprotokolle auf allen Clients in Ihrem Unternehmen nach Authentifizierungsfehlern.

    EventLog('Security')
    | where  EventID == 4673
    | summarize count() by Device
    | order by count_ desc
    
  • Suchen Sie nach einer Datei nach Hash.

    Device
    | join kind=leftouter ( File('%windir%\\system32\\*.exe')
    | where SHA256Hash == 'A92056D772260B39A876D01552496B2F8B4610A0B1E084952FE1176784E2CE77')
    | project Device, MalwareFound = iif( isnull(FileName), 'No', 'Yes')
    

WinEvent(<logname>,[<timespan>])

Diese Entität wird verwendet, um Ereignisse aus Ereignisprotokollen und Ereignisablaufverfolgungsprotokolldateien abzurufen. Die Entität ruft Daten aus Ereignisprotokollen ab, die von der Windows-Ereignisprotokolltechnologie generiert werden. Die Entität ruft auch Ereignisse in Protokolldateien ab, die von der Ereignisablaufverfolgung für Windows (ETW) generiert werden. WinEvent untersucht standardmäßig Ereignisse, die innerhalb der letzten 24 Stunden aufgetreten sind. Der Standardwert von 24 Stunden kann jedoch überschrieben werden, indem eine Zeitspanne eingeschlossen wird.

WinEvent('Microsoft-Windows-HelloForBusiness/Operational', 1d)
| where LevelDisplayName =='Error'
| summarize count() by Device

FileContent(<filename>)

FileContent wird verwendet, um den Inhalt einer Textdatei abzurufen.

FileContent('c:\\windows\\SMSCFG.ini')
| where Content startswith  'SMS Unique Identifier='
| project Device, SMSId= substring(Content,22)

ProcessModule(<processname>)

Diese Entität wird verwendet, um die Module (DLLs) aufzulisten, die von einem bestimmten Prozess geladen wurden. ProcessModule ist nützlich bei der Suche nach Schadsoftware, die sich in legitimen Prozessen versteckt.

ProcessModule('powershell')
| summarize count() by ModuleName
| order by count_ desc

AadStatus

Diese Entität kann verwendet werden, um die aktuellen Microsoft Entra Identitätsinformationen von einem Gerät abzurufen.

AadStatus
| project Device, IsAADJoined=iif( isnull(DeviceId),'No','Yes')
| summarize DeviceCount=count() by IsAADJoined
| render piechart

EPStatus

EPStatus wird verwendet, um die status der auf dem Computer installierten Antischadsoftware abzurufen.

EPStatus
| project Device, QuickScanAge=datetime_diff('day',now(),QuickScanEndTime)
| summarize DeviceCount=count() by QuickScanAge
| order by QuickScanAge
| render barchart

Lokale Geräteabfrageauswertung mit eigenständigem CMPivot

Wenn Sie CMPivot außerhalb der Configuration Manager-Konsole verwenden, können Sie nur das lokale Gerät abfragen, ohne dass die Configuration Manager Infrastruktur erforderlich ist. Sie können jetzt die CMPivot-Azure Log Analytics-Abfragen nutzen, um WMI-Informationen schnell auf dem lokalen Gerät anzuzeigen. Dies ermöglicht auch die Überprüfung und Verfeinerung von CMPivot-Abfragen, bevor sie in einer größeren Umgebung ausgeführt werden. CmPivot eigenständig ist nur in Englisch verfügbar. Weitere Informationen zur eigenständigen CMPivot-Instanz finden Sie unter EIGENSTÄNDIGE CMPivot-Instanz.

Bekannte Probleme bei der Auswertung lokaler Geräteabfragen

  • Wenn Sie auf diesem PC eine WMI-Entität abfragen, auf die Sie keinen Zugriff haben, z. B. eine gesperrte WMI-Klasse, kann ein Absturz in CMPivot auftreten. Führen Sie CMPivot mithilfe eines Kontos mit erhöhten Berechtigungen aus, um diese Entitäten abzufragen.
  • Wenn Sie Nicht-WMI-Entitäten auf diesem PC abfragen, wird ein ungültiger Namespace oder eine mehrdeutige Ausnahme angezeigt.
  • Führen Sie CMPivot eigenständig über die Startmenüverknüpfung aus, nicht direkt über den Pfad der ausführbaren Datei.

Weitere Verbesserungen

  • Sie können Abfragen vom Typ regulärer Ausdrücke mithilfe des new-Operators like ausführen. Zum Beispiel:

    //Find BIOS manufacture that contains any word like Micro, such as Microsoft
    Bios
    | where Manufacturer like '%Micro%'
    
  • Wir haben die Entitäten CcmLog() und EventLog() so aktualisiert, dass nachrichten standardmäßig nur in den letzten 24 Stunden angezeigt werden. Dieses Verhalten kann überschrieben werden, indem ein optionaler Zeitraum übergeben wird. Mit der folgenden Abfrage werden z. B. Ereignisse in den letzten 1 Stunden untersucht:

    CcmLog('Scripts',1h)
    
  • Die File()- Entität wurde aktualisiert, um Informationen zu ausgeblendeten Dateien und Systemdateien zu sammeln und den MD5-Hash einzuschließen. Obwohl ein MD5-Hash nicht so genau ist wie der SHA256-Hash, ist er in der Regel der häufig gemeldete Hash in den meisten Malware-Bulletins.

  • Sie können Kommentare in Abfragen hinzufügen. Dieses Verhalten ist nützlich, wenn Abfragen freigegeben werden. Zum Beispiel:

    //Get the top ten devices sorted by user
    Device
    | top 10 by UserName
    
  • CMPivot stellt automatisch eine Verbindung mit der letzten Website her. Nachdem Sie CMPivot gestartet haben, können Sie bei Bedarf eine Verbindung mit einer neuen Website herstellen.

  • Wählen Sie im Menü Exportieren die neue Option Link zur Zwischenablage abfragen aus. Diese Aktion kopiert einen Link in die Zwischenablage, den Sie für andere freigeben können. Zum Beispiel:

    cmpivot:Ly8gU2FtcGxlIHF1ZXJ5DQpPcGVyYXRpbmdTeXN0ZW0NCnwgc3VtbWFyaXplIGNvdW50KCkgYnkgQ2FwdGlvbg0KfCBvcmRlciBieSBjb3VudF8gYXNjDQp8IHJlbmRlciBiYXJjaGFydA==

    Über diesen Link wird cmPivot eigenständig mit der folgenden Abfrage geöffnet:

    // Sample query
    OperatingSystem
    | summarize count() by Caption
    | order by count_ asc
    | render barchart
    

    Tipp

    Damit dieser Link funktioniert, installieren Sie CMPivot eigenständig.

  • Wenn das Gerät in den Abfrageergebnissen bei Microsoft Defender for Endpoint registriert ist, klicken Sie mit der rechten Maustaste auf das Gerät, um das Microsoft Defender Security Center-Onlineportal zu starten.

Bekannte Probleme für CMPivot in Version 1910

  • Das Banner mit den maximalen Ergebnissen wird möglicherweise nicht angezeigt, wenn der Grenzwert erreicht ist.
    • Jeder Client ist auf Daten im Wert von 128 KB pro Abfrage beschränkt.
    • Ergebnisse können abgeschnitten werden, wenn die Ergebnisse der Abfrage 128 KB überschreiten.

CMPivot-Änderungen für Version 1906

Ab Version 1906 wurden CMPivot die folgenden Elemente hinzugefügt:

Hinzufügen von Joins, zusätzlichen Operatoren und Aggregatoren in CMPivot

Sie verfügen jetzt über zusätzliche arithmetische Operatoren, Aggregatoren und die Möglichkeit, Abfragejoins hinzuzufügen, z. B. die gemeinsame Verwendung von Registrierung und Datei. Die folgenden Elemente wurden hinzugefügt:

Tabellenoperatoren

Tabellenoperatoren Beschreibung
Beitreten Führen Sie die Zeilen von zwei Tabellen zusammen, um eine neue Tabelle zu erstellen, indem Sie die Zeile für dasselbe Gerät abgleichen.
render() Rendert Ergebnisse als grafische Ausgabe

Der Renderoperator ist bereits in CMPivot vorhanden. Unterstützung für mehrere Reihen und die with-Anweisung wurden hinzugefügt. Weitere Informationen finden Sie im Abschnitt mit den Beispielen und im Artikel zum Joinoperator von Kusto.

Einschränkungen für Joins

  1. Die Joinspalte wird immer implizit im Feld Gerät ausgeführt.
  2. Sie können maximal 5 Joins pro Abfrage verwenden.
  3. Sie können maximal 64 kombinierte Spalten verwenden.

Skalare Operatoren

Operator Beschreibung Beispiel
+ Hinzufügen 2 + 1, now() + 1d
- Subtrahieren 2 - 1, now() - 1d
* Multiplizieren 2 * 2
/ Dividieren 2 / 1
% Modulo 2 % 1

Aggregationsfunktionen

Funktion Beschreibung
percentile() Gibt eine Schätzung für das angegebene perZentil am nächsten gelegenen Quantil der durch Expr definierten Grundgesamtheit zurück.
sumif() Gibt eine Summe von Expr zurück, für die prädikat als true ausgewertet wird.

Skalare Funktionen

Funktion Beschreibung
case() Wertet eine Liste von Prädikaten aus und gibt den ersten Ergebnisausdruck zurück, dessen Prädikat erfüllt ist.
iff() Wertet das erste Argument aus und gibt den Wert des zweiten oder dritten Arguments zurück, je nachdem, ob das Prädikat als true (zweites) oder false (drittes) ausgewertet wird.
indexof() Funktion meldet den nullbasierten Index des ersten Vorkommens einer angegebenen Zeichenfolge in der Eingabezeichenfolge.
strcat() Verkettet zwischen 1 und 64 Argumenten
strlen() Gibt die Länge der Eingabezeichenfolge in Zeichen zurück.
substring() Extrahiert eine Teilzeichenfolge aus einer Quellzeichenfolge, beginnend von einem Index bis zum Ende der Zeichenfolge.
tostring() Konvertiert Eingaben in einen Zeichenfolgenvorgang

Beispiele

  • Gerät, Hersteller, Modell und OSVersion anzeigen:

    ComputerSystem
    | project Device, Manufacturer, Model
    | join (OperatingSystem | project Device, OSVersion=Caption)
    
  • Diagramm der Startzeiten für ein Gerät anzeigen:

    SystemBootData
    | where Device == 'MyDevice'
    | project SystemStartTime, BootDuration, OSStart=EventLogStart, GPDuration, UpdateDuration
    | order by SystemStartTime desc
    | render barchart with (kind=stacked, title='Boot times for MyDevice', ytitle='Time (ms)')
    

    Gestapeltes Balkendiagramm mit Startzeiten für ein Gerät in ms

CMPivot-Berechtigungen zur Rolle "Sicherheitsadministrator" hinzugefügt

Ab Version 1906 wurden der in Configuration Manager integrierten Rolle Sicherheitsadministrator die folgenden Berechtigungen hinzugefügt:

  • Sms-Skript lesen
  • Ausführen von CMPivot in der Sammlung
  • Inventurbericht lesen

Hinweis

Skripts ausführen ist ein übergeordneter Satz der Berechtigung CMPivot ausführen .

Eigenständiges CMPivot

Sie können CMPivot als eigenständige App verwenden. CmPivot eigenständig ist nur in Englisch verfügbar. Führen Sie CMPivot außerhalb der Configuration Manager-Konsole aus, um den Echtzeitzustand von Geräten in Ihrer Umgebung anzuzeigen. Diese Änderung ermöglicht es Ihnen, CMPivot auf einem Gerät zu verwenden, ohne zuerst die Konsole zu installieren.

Sie können die Leistungsfähigkeit von CMPivot mit anderen Personas teilen, z. B. Helpdesk- oder Sicherheitsadministratoren, die die Konsole nicht auf ihrem Computer installiert haben. Diese anderen Personas können CMPivot verwenden, um Configuration Manager zusammen mit den anderen Tools abzufragen, die sie traditionell verwenden. Durch die Freigabe dieser umfangreichen Verwaltungsdaten können Sie zusammenarbeiten, um proaktiv Geschäftsprobleme zu lösen, die rollenübergreifend sind.

Installieren der eigenständigen CMPivot-Instanz

  1. Richten Sie die berechtigungen ein, die zum Ausführen von CMPivot erforderlich sind. Weitere Informationen finden Sie unter Voraussetzungen. Sie können auch die Rolle Sicherheitsadministrator verwenden, wenn die Berechtigungen für den Benutzer geeignet sind.

  2. Suchen Sie das CMPivot-App-Installationsprogramm im folgenden Pfad: <site install path>\tools\CMPivot\CMPivot.msi. Sie können sie über diesen Pfad ausführen oder an einen anderen Speicherort kopieren.

  3. Wenn Sie die eigenständige CMPivot-App ausführen, werden Sie aufgefordert, eine Verbindung mit einer Website herzustellen. Geben Sie den vollqualifizierten Domänennamen oder den Computernamen der Zentraladministration oder des primären Standortservers an.

    • Jedes Mal, wenn Sie cmPivot eigenständig öffnen, werden Sie aufgefordert, eine Verbindung mit einem Standortserver herzustellen.
  4. Navigieren Sie zu der Sammlung, für die Sie CMPivot ausführen möchten, und führen Sie dann Ihre Abfrage aus.

    Navigieren Sie zu der Sammlung, für die Sie ihre Abfrage ausführen möchten.

Hinweis

  • Rechtsklickaktionen wie Skripts ausführen, Ressourcen Explorer und Websuche sind in der eigenständigen CMPivot-Instanz nicht verfügbar. Die primäre Verwendung des eigenständigen CMPivot-Diensts besteht darin, abfragen unabhängig von der Configuration Manager Infrastruktur. Um Sicherheitsadministratoren zu unterstützen, bietet CMPivot eigenständig die Möglichkeit, eine Verbindung mit Microsoft Defender Security Center herzustellen.
  • Sie können eine lokale Geräteabfrageauswertung mithilfe der eigenständigen CMPivot-Instanz durchführen.

CMPivot-Änderungen für Version 1902

Ab Configuration Manager Version 1902 können Sie CMPivot über den Standort der zentralen Verwaltung (CAS) in einer Hierarchie ausführen. Der primäre Standort übernimmt weiterhin die Kommunikation mit dem Client. Wenn CMPivot vom Standort der zentralen Verwaltung aus ausgeführt wird, kommuniziert es mit dem primären Standort über den Abonnementkanal für Hochgeschwindigkeitsnachrichten. Diese Kommunikation basiert nicht auf standard-SQL Server Replikation zwischen Standorten.

Das Ausführen von CMPivot auf dem CAS erfordert zusätzliche Berechtigungen, wenn sich SQL Server oder der SMS-Anbieter nicht auf demselben Computer befinden oder wenn SQL Server Always On Verfügbarkeitsgruppenkonfiguration vorhanden ist. Mit diesen Remotekonfigurationen haben Sie ein "Double-Hop-Szenario" für CMPivot.

Damit CMPivot in einem solchen "Double-Hop-Szenario" auf dem CAS funktioniert, können Sie die eingeschränkte Delegierung definieren. Informationen zu den Sicherheitsauswirkungen dieser Konfiguration finden Sie im Artikel Eingeschränkte Kerberos-Delegierung . Kerberos muss alle Hops zwischen den Computern durchlaufen.Wenn Sie über mehrere Remotekonfigurationen verfügen, z. B. SQL Server- oder SMS-Anbieter, die mit dem Cas verbunden sind oder nicht, oder mehrere vertrauenswürdige Gesamtstrukturen, benötigen Sie möglicherweise eine Kombination aus Berechtigungseinstellungen. Im Folgenden finden Sie die Schritte, die Sie möglicherweise ausführen müssen:

CAS verfügt über eine Remote-SQL Server

  1. Wechseln Sie zum SQL Server der einzelnen primären Standorte.

    1. Fügen Sie der Gruppe Configmgr_DviewAccess die Cas-Remote-SQL Server und den Cas-Standortserver hinzu. Configmgr_DviewAccess Gruppe am SQL Server eines primären Standorts
  2. Wechseln Sie zu Active Directory-Benutzer und -Computer.

    1. Klicken Sie für jeden primären Standortserver mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie den SQL Server-Dienst des Cas mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!
    2. Klicken Sie für die CAS-Website mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie den SQL Server-Dienst jedes primären Standorts mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!

    CMPivot AD-Delegierungsbeispiel für doppelte Hops

CAS verfügt über einen Remoteanbieter

  1. Wechseln Sie zum SQL Server der einzelnen primären Standorte.
    1. Fügen Sie das Computerkonto des CAS-Anbieters und den CAS-Standortserver der gruppe Configmgr_DviewAccess hinzu.
  2. Wechseln Sie zu Active Directory-Benutzer und -Computer.
    1. Wählen Sie den Cas-Anbietercomputer aus, klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie den SQL Server-Dienst jedes primären Standorts mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!
    2. Wählen Sie den CAS-Standortserver aus, klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie den SQL Server-Dienst jedes primären Standorts mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!
  3. Starten Sie den Remoteanbietercomputer des CAS neu.

SQL Server Always On Verfügbarkeitsgruppen

  1. Wechseln Sie zum SQL Server der einzelnen primären Standorte.
    1. Fügen Sie den CAS-Standortserver der gruppe Configmgr_DviewAccess hinzu.
  2. Wechseln Sie zu Active Directory-Benutzer und -Computer.
    1. Klicken Sie für jeden primären Standortserver mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie die SQL Server-Dienstkonten des Cas für die SQL Server Knoten mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!
    2. Wählen Sie den CAS-Standortserver aus, klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.
      1. Wählen Sie auf der Registerkarte Delegierung die dritte Option diesen Computer nur für die Delegierung angegebener Dienste vertrauen aus.
      2. Wählen Sie Nur Kerberos verwenden aus.
      3. Fügen Sie den SQL Server-Dienst jedes primären Standorts mit Port und instance hinzu.
      4. Stellen Sie sicher, dass diese Änderungen mit der Sicherheitsrichtlinie Ihres Unternehmens übereinstimmen!
  3. Stellen Sie sicher, dass der SPN für den Cas-Listenernamen und jeden primären Listenernamen veröffentlicht ist .
  4. Starten Sie die primären SQL Server Knoten neu.
  5. Starten Sie den Cas-Standortserver und die CAS-SQL Server-Knoten neu.

CMPivot-Änderungen für Version 1810

CMPivot umfasst die folgenden Verbesserungen ab Configuration Manager Version 1810:

CMPivot-Hilfsprogramm und Leistung

  • CMPivot gibt statt 20.000 Zeilen bis zu 100.000 Zellen zurück.

    • Wenn die Entität über 5 Eigenschaften verfügt, d. h. 5 Spalten, werden bis zu 20.000 Zeilen angezeigt.
    • Für eine Entität mit 10 Eigenschaften werden bis zu 10.000 Zeilen angezeigt.
    • Die insgesamt angezeigten Daten sind kleiner als oder gleich 100.000 Zellen.
  • Wählen Sie auf der Registerkarte Abfragezusammenfassung die Anzahl der ausgefallenen oder Offlinegeräte aus, und wählen Sie dann die Option Sammlung erstellen aus. Mit dieser Option können Sie diese Geräte ganz einfach mit einer Wartungsbereitstellung als Ziel verwenden.

    • Diese Option wurde in Version 2006 entfernt, da CMPivot keine Abfragen für eine Sammlung mehr erfordert.
  • Speichern Sie Favoritenabfragen , indem Sie auf das Ordnersymbol klicken. Beispiel für das Speichern einer bevorzugten Abfrage in CMPivot

  • Clients, die auf version 1810 aktualisiert wurden, geben eine Ausgabe von weniger als 80 KB an den Standort über einen schnellen Kommunikationskanal zurück.

    • Diese Änderung erhöht die Leistung beim Anzeigen der Skript- oder Abfrageausgabe.
    • Wenn die Skript- oder Abfrageausgabe größer als 80 KB ist, sendet der Client die Daten über eine Statusmeldung.
    • Wenn der Client nicht auf die Clientversion 1810 aktualisiert wird, werden weiterhin Zustandsmeldungen verwendet.
  • Beim Starten von CMPivot wird möglicherweise der folgende Fehler angezeigt: CmPivot kann aufgrund einer inkompatiblen Skriptversion derzeit nicht verwendet werden. Dieses Problem kann darauf zurückzuführen sein, dass die Hierarchie gerade ein Upgrade eines Standorts ausgeführt wird. Warten Sie, bis das Upgrade abgeschlossen ist, und versuchen Sie es dann erneut.

    • Wenn diese Meldung angezeigt wird, kann dies Folgendes bedeuten:
      • Der Sicherheitsbereich ist nicht ordnungsgemäß eingerichtet.
      • Während des Vorgangs gibt es Probleme mit dem Upgrade.
      • Das zugrunde liegende CMPivot-Skript ist nicht kompatibel.

Skalare Funktionen

CMPivot unterstützt die folgenden Skalarfunktionen:

  • ago(): Subtrahiert den angegebenen Zeitraum von der aktuellen UTC-Uhrzeit
  • datetime_diff(): Berechnet die Kalenderdifferenz zwischen zwei datetime-Werten.
  • now(): Gibt die aktuelle UTC-Uhrzeit zurück.
  • bin(): Rundet Werte auf ein ganzzahliges Vielfaches einer angegebenen Bin-Größe ab.

Hinweis

Der datetime-Datentyp stellt einen Zeitpunkt dar, der in der Regel als Datum und Uhrzeit ausgedrückt wird. Zeitwerte werden in 1-Sekunden-Einheiten gemessen. Ein datetime-Wert befindet sich immer in der UTC-Zeitzone. Geben Sie Datum-/Uhrzeitliterale immer im ISO 8601-Format aus, z. B. yyyy-mm-dd HH:MM:ss

Beispiele

  • datetime(2015-12-31 23:59:59.9): Ein bestimmtes Datum/Uhrzeit-Literal
  • now(): Die aktuelle Uhrzeit
  • ago(1d): Die aktuelle Uhrzeit abzüglich eines Tages

Rendern von Visualisierungen

CMPivot bietet jetzt grundlegende Unterstützung für den KQL-Renderoperator. Diese Unterstützung umfasst die folgenden Typen:

  • Balkendiagramm: Die erste Spalte ist eine X-Achse und kann text, datetime oder numerisch sein. Die zweiten Spalten müssen numerisch sein und werden als horizontaler Streifen angezeigt.
  • Spaltendiagramm: Wie Balkendiagramm, mit vertikalen Bändern anstelle von horizontalen Streifen.
  • Kreisdiagramm: Die erste Spalte ist eine Farbachse, die zweite spalte ist numerisch.
  • Timechart: Liniendiagramm. Die erste Spalte ist die x-Achse und sollte datetime sein. Die zweite Spalte ist die Y-Achse.

Beispiel: Balkendiagramm

Die folgende Abfrage rendert die zuletzt verwendeten Anwendungen als Balkendiagramm:

CCMRecentlyUsedApplications
| summarize dcount( Device ) by ProductName
| top 10 by dcount_
| render barchart

Beispiel für die Visualisierung eines CMPivot-Balkendiagramms

Beispiel: Zeitdiagramm

Verwenden Sie zum Rendern von Zeitdiagrammen den neuen bin() -Operator, um Ereignisse rechtzeitig zu gruppieren. Die folgende Abfrage zeigt, wann Geräte in den letzten sieben Tagen gestartet wurden:

OperatingSystem
| where LastBootUpTime <= ago(7d)
| summarize count() by bin(LastBootUpTime,1d)
| render timechart

Beispiel für die Visualisierung eines CMPivot-Zeitdiagramms

Beispiel: Kreisdiagramm

Die folgende Abfrage zeigt alle Betriebssystemversionen in einem Kreisdiagramm an:

OperatingSystem
| summarize count() by Caption
| render piechart

Beispiel für eine CMPivot-Kreisdiagrammvisualisierung

Hardwareinventar

Verwenden Sie CMPivot, um eine beliebige Hardwareinventurklasse abzufragen. Diese Klassen enthalten alle benutzerdefinierten Erweiterungen, die Sie für die Hardwareinventur erstellen. CMPivot gibt sofort zwischengespeicherte Ergebnisse aus der letzten Hardwareinventurüberprüfung zurück, die in der Standortdatenbank gespeichert wurde. Gleichzeitig werden die Ergebnisse bei Bedarf mit Livedaten von beliebigen Onlineclients aktualisiert.

Die Farbsättigung der Daten in der Ergebnistabelle oder dem Ergebnisdiagramm gibt an, ob die Daten live oder zwischengespeichert sind. Dunkelblau sind z. B. Echtzeitdaten eines Onlineclients. Hellblau sind zwischengespeicherte Daten.

Beispiel

LogicalDisk
| summarize sum( FreeSpace ) by Device
| order by sum_ desc
| render columnchart

Beispiel für eine CMPivot-Bestandsabfrage mit Säulendiagrammvisualisierung

Begrenzungen

  • Die folgenden Hardwareinventurentitäten werden nicht unterstützt:
    • Arrayeigenschaften, z. B. IP-Adresse
    • Real32/Real64
    • Eingebettete Objekteigenschaften
  • Inventarentitätsnamen müssen mit einem Zeichen beginnen.
  • Sie können die integrierten Entitäten nicht überschreiben, indem Sie eine Inventarentität mit demselben Namen erstellen.

Skalare Operatoren

CMPivot enthält die folgenden Skalaroperatoren:

Hinweis

  • LHS: Zeichenfolge links vom Operator
  • RHS: Zeichenfolge rechts vom Operator
Operator Beschreibung Beispiel (ergibt true)
== Gleich "aBc" == "aBc"
!= Ungleich "abc" != "ABC"
zum Beispiel LHS enthält eine Übereinstimmung für RHS "FabriKam" like "%Brik%"
!mögen LHS enthält keine Übereinstimmung für RHS "Fabrikam" !like "%xyz%"
contains RHS tritt als Untersequenz von LHS auf. "FabriKam" contains "BRik"
!Enthält RHS tritt in LHS nicht auf "Fabrikam" !contains "xyz"
startswith RHS ist eine anfängliche Untersequenz von LHS. "Fabrikam" startswith "fab"
!Startswith RHS ist keine anfängliche Untersequenz von LHS. "Fabrikam" !startswith "kam"
endswith RHS ist eine schließende Untersequenz von LHS "Fabrikam" endswith "Kam"
!Endswith RHS ist keine schließende Untersequenz von LHS "Fabrikam" !endswith "brik"

Abfragezusammenfassung

Wählen Sie unten im CMPivot-Fenster die Registerkarte Abfragezusammenfassung aus. Diese status hilft Ihnen, Offlineclients zu identifizieren oder ggf. auftretende Fehler zu beheben. Wählen Sie einen Wert in der Spalte Anzahl aus, um eine Liste bestimmter Geräte mit diesem status zu öffnen.

Wählen Sie beispielsweise die Anzahl der Geräte mit einem Fehler status aus. Sehen Sie sich die spezifische Fehlermeldung an, und exportieren Sie eine Liste dieser Geräte. Wenn der Fehler darin besteht, dass ein bestimmtes Cmdlet nicht erkannt wird, erstellen Sie eine Sammlung aus der liste der exportierten Geräte, um ein Windows PowerShell Update bereitzustellen.

CMPivot-Überwachungsnachrichten status

Ab Version 1810 wird beim Ausführen von CMPivot eine Überwachungs-status Nachricht mit MessageID 40805 erstellt. Sie können die status Meldungen anzeigen, indem Sie zu Überwachen> vonAbfragen von Systemstatusstatusmeldungen> wechseln. Sie können Alle Überwachungs-status-Nachrichten für einen bestimmten Benutzer, Alle Überwachungs-status-Nachrichten für eine bestimmte Website ausführen oder eine eigene status-Nachrichtenabfrage erstellen.

Für die Nachricht wird das folgende Format verwendet:

MessageId 40805: User <UserName> hat skript <Script-Guid> with hash <Script-Hash> on collection-ID <>ausgeführt.

  • 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 ist die Script-Guid für CMPivot.
  • Die Script-Hash finden Sie in der Datei scripts.log des Clients.
  • Sie können auch den Hash anzeigen, der im Skriptspeicher des Clients gespeichert ist. Der Dateiname auf dem Client lautet <Script-Guid>_<Script-Hash>.
    • Beispieldateiname: C:\Windows\CCM\ScriptStore\7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14_abc1d23e45678901fabc123d456ce789fa1b2cd3e456789123fab4c56789d0123.ps

CMPivot-Überwachungs-status-Meldungsbeispiel

Nächste Schritte

Problembehandlung für CMPivot