CMPivot для данных в режиме реального времени в Configuration Manager

Относится к Configuration Manager (Current Branch)

Configuration Manager всегда предоставляло большое централизованное хранилище данных устройств, которое клиенты используют для создания отчетов. Сайт обычно собирает эти данные еженедельно. Начиная с версии 1806 CMPivot — это новая служебная программа в консоли, которая теперь предоставляет доступ к состоянию устройств в реальном времени в вашей среде. Он немедленно запускает запрос ко всем подключенным в настоящее время устройствам в целевой коллекции и возвращает результаты. Затем отфильтруйте и сгруппировать эти данные в средстве. Предоставляя данные в режиме реального времени от онлайн-клиентов, вы можете быстрее отвечать на бизнес-вопросы, устранять неполадки и реагировать на инциденты безопасности.

Например, при устранении уязвимостей спекулятивного выполнения на стороне канала одним из требований является обновление BIOS системы. CmPivot можно использовать для быстрого запроса сведений о системной BIOS и поиска клиентов, которые не соответствуют требованиям.

Важно!

  • Некоторые программы безопасности могут блокировать скрипты, выполняемые из c:\windows\ccm\scriptstore. Это может помешать успешному выполнению запросов CMPivot. Некоторые программы безопасности также могут создавать события аудита или оповещения при запуске CMPivot PowerShell.
  • Некоторые антивредоносные программы могут непреднамеренно активировать события для Configuration Manager запуска скриптов или функций CMPivot. Рекомендуется исключить %windir%\CCM\ScriptStore, чтобы программное обеспечение для защиты от вредоносных программ позволяло выполнять эти функции без вмешательства.

Предварительные требования

Для использования CMPivot требуются следующие компоненты:

  • Обновите целевые устройства до последней версии клиента Configuration Manager.

  • Целевым клиентам требуется версия PowerShell не ниже 4.

  • Для сбора данных для следующих сущностей целевым клиентам требуется PowerShell версии 5.0:

    • Администраторы
    • Connection
    • IPConfig
    • SMBConfig
  • В настоящее время CMPivot и установщик Майкрософт Edge подписаны сертификатом PCA 2011 Майкрософт Code Signing. Если для политики выполнения PowerShell задано значение AllSigned, необходимо убедиться, что устройства доверяют этому сертификату подписи. Сертификат можно экспортировать с компьютера, на котором установлена консоль Configuration Manager. Просмотрите сертификат в "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\CMPivot.exe", а затем экспортируйте сертификат подписи кода из пути сертификации. Затем импортируйте его в хранилище доверенных издателейкомпьютера на управляемых устройствах. Вы можете использовать этот процесс в следующем блоге, но обязательно экспортируйте сертификат подписи кода из пути сертификации: Добавление сертификата в доверенные издатели с помощью Intune.

Разрешения

Для CMPivot требуются следующие разрешения:

  • Запуск разрешения CMPivot для коллекции
  • Разрешение на чтение для отчетов инвентаризации
  • Разрешение на чтение для объекта скриптов SMS
    • Чтениескриптов SMS не требуется, начиная с версии 2107
    • CMPivot не требуется чтениескриптов SMS для основного сценария, начиная с версии 2107. Однако если служба администрирования не работает и разрешение было удалено, то при возврате службы администрирования CMPivot завершится ошибкой. Поставщику SMS по-прежнему требуется разрешение на чтениескриптов SMS, если служба администрирования возвращается к нему из-за ошибки 503 (служба недоступна), как показано в CMPivot.log.
  • Область по умолчанию.
    • Область по умолчанию не требуется, начиная с версии 2107

Разрешения CMPivot по версии Configuration Manager

1902 и более ранние версии Версии 1906–2103 2107 или более поздней версии
Разрешение на выполнение скрипта в коллекции Запуск разрешения CMPivot для коллекции Запуск разрешения CMPivot для коллекции
Разрешение на чтение для отчетов инвентаризации Разрешение на чтение для отчетов инвентаризации Разрешение на чтение для отчетов инвентаризации
Разрешение на чтение скриптов SMS Разрешение на чтение скриптов SMS N/A

Поставщику SMS по-прежнему требуется разрешение на чтениескриптов SMS , если служба администрирования возвращается к нему из-за ошибки 503 (служба недоступна), как показано в CMPivot.log.
Разрешение области по умолчанию Разрешение области по умолчанию Недоступно

Ограничения

  • CMPivot возвращает данные только для клиентов, подключенных к текущему сайту, если только они не выполняются с сайта центра администрирования (CAS).
    • Если коллекция содержит устройства с другого сайта, результаты CMPivot отображаются только с устройств на текущем сайте, если CMPivot не запускается из центра доступа.
    • В некоторых средах для запуска CMPivot в cas-сервере требуются дополнительные разрешения. Дополнительные сведения см. в разделе Изменения CMPivot для версии 1902.
  • Вы не можете настроить свойства сущности, столбцы для результатов или действий на устройствах.
  • На компьютере, на котором запущена консоль Configuration Manager, одновременно может выполняться только один экземпляр CMPivot.
  • В автономном режиме CMPivot вы не можете получить доступ к запросам CMPivot, хранящимся в Центре сообщества.
  • Если используется единый вход с многофакторной проверкой подлинности, вы не сможете войти в Центр сообщества из CMPivot при использовании Configuration Manager 2103 и более ранних версий.

Запуск CMPivot

  1. В консоли Configuration Manager подключитесь к основному сайту или cass. Перейдите в рабочую область Активы и соответствие и выберите узел Коллекции устройств . Выберите целевую коллекцию и нажмите кнопку Запустить CMPivot на ленте, чтобы запустить средство. Если этот параметр не отображается, проверьте следующие конфигурации:

    • Подтвердите у администратора сайта, что у вашей учетной записи есть необходимые разрешения. Дополнительные сведения см. в разделе Предварительные требования.
  2. Интерфейс предоставляет дополнительные сведения об использовании средства.

    • Вручную введите строки запроса в верхней части окна или выберите ссылки в встроенной документации.

    • Выберите одну из сущностей , чтобы добавить ее в строку запроса.

    • Ссылки на операторы таблиц, агрегатные функции и скалярные функции открывают справочную документацию по языку в веб-браузере. CMPivot использует язык запросов Kusto (KQL).

  3. Не закрывайте окно CMPivot, чтобы просмотреть результаты от клиентов. При закрытии окна CMPivot сеанс завершается.

    • Если запрос был отправлен, клиенты по-прежнему отправляют ответ на сообщение о состоянии на сервер.

Использование CMPivot

Пример окна CMPivot

Окно CMPivot содержит следующие элементы:

  1. Коллекция, на которую сейчас ориентируется CMPivot, находится в строке заголовка в верхней части окна, а в строке состояния в нижней части окна. Например, "PM_Team_Machines" на снимке экрана выше.

  2. На панели слева перечислены сущности , доступные на клиентах. Некоторые сущности используют WMI, в то время как другие используют PowerShell для получения данных от клиентов.

    • Щелкните правой кнопкой мыши сущность для выполнения следующих действий:

      • Вставка: добавьте сущность в запрос в текущей позиции курсора. Запрос не выполняется автоматически. Это действие используется по умолчанию при двойном щелчке сущности. Используйте это действие при создании запроса.

      • Запрос всех. Выполните запрос для этой сущности, включая все свойства. Используйте это действие для быстрого запроса к одной сущности.

      • Запрос по устройству. Выполните запрос для этой сущности и группирование результатов. Пример: Disk | summarize dcount( Device ) by Name

    • Разверните сущность, чтобы просмотреть определенные свойства, доступные для каждой сущности. Дважды щелкните свойство, чтобы добавить его в запрос в текущей позиции курсора.

  3. На вкладке Главная отображаются общие сведения о CMPivot, включая ссылки на примеры запросов и вспомогательную документацию.

  4. На вкладке Запрос отображаются область запроса, область результатов и строка состояния. Вкладка запроса выбрана в приведенном выше примере снимка экрана.

  5. В области запросов создается или вводится запрос для выполнения на клиентах в коллекции.

    • CMPivot использует подмножество языка запросов Kusto (KQL).

    • Вырезание, копирование или вставка содержимого в области запросов.

    • По умолчанию эта панель использует IntelliSense. Например, если начать вводить текст D, IntelliSense предлагает все сущности, начинающиеся с этой буквы. Выберите параметр и нажмите клавишу TAB, чтобы вставить его. Введите символ канала и пробел | , а затем IntelliSense предлагает все операторы таблицы. Вставьте summarize и введите пробел, а IntelliSense предлагает все агрегатные функции. Для получения дополнительных сведений об этих операторах и функциях выберите вкладку Главная в CMPivot.

    • Область запросов также предоставляет следующие параметры:

      • Выполните запрос.

        • Чтобы повторно выполнить текущий запрос CMPivot на клиентах, удерживая нажатой клавишу CTRL , нажмите кнопку Выполнить.
      • Перемещение назад и вперед в списке журналов запросов.

      • Создайте коллекцию прямого членства.

      • Экспортируйте результаты запроса в CSV-файл или буфер обмена.

  6. В области результатов отображаются данные, возвращаемые активными клиентами для запроса.

    • Доступные столбцы зависят от сущности и запроса.

    • Насыщенность цвета данных в таблице или диаграмме результатов указывает, являются ли данные динамическими или из последней проверки инвентаризации оборудования, хранящейся в базе данных сайта. Например, черный цвет — это данные в режиме реального времени из интернет-клиента, а серый — это кэшированные данные.

    • Выберите имя столбца, чтобы отсортировать результаты по свойству .

    • Щелкните правой кнопкой мыши имя любого столбца, чтобы сгруппировать результаты по той же информации в этом столбце или отсортировать результаты.

    • Щелкните правой кнопкой мыши имя устройства, чтобы выполнить следующие дополнительные действия на устройстве:

    • Щелкните правой кнопкой мыши любую ячейку, не относясь к устройству, чтобы выполнить следующие дополнительные действия:

      • Копировать: скопируйте текст ячейки в буфер обмена.

      • Показать устройства с: Запрос для устройств с этим значением для этого свойства. Например, в результатах OS запроса выберите этот параметр в ячейке в строке Версия: OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ > 0)

      • Показать устройства без. Запрос для устройств без этого значения для этого свойства. Например, в результатах OS запроса выберите этот параметр в ячейке в строке Версия: OS | summarize countif( (Version == '10.0.17134') ) by Device | where (countif_ == 0) | project Device

      • Bing it: запустите веб-браузер по умолчанию с https://www.bing.com этим значением в качестве строки запроса.

    • Выделите любой текст с гиперссылкой, чтобы свести представление к этой конкретной информации.

    • В области результатов отображается не более 20 000 строк. Измените запрос для дальнейшей фильтрации данных или перезапустите CMPivot в меньшей коллекции.

  7. В строке состояния отображаются следующие сведения (слева направо):

    • Состояние текущего запроса к целевой коллекции. Это состояние включает в себя:

      • Число активных клиентов, завершив запрос (3)

      • Общее число клиентов (5)

      • Количество автономных клиентов (2)

      • Все клиенты, возвращающие сбой (0)

        Пример: Query completed on 3 of 5 clients (2 clients offline and 0 failure)

    • Идентификатор операции клиента. Пример: id(16780221)

    • Текущая коллекция. Пример: PM_Team_Machines

    • Общее количество строк в области результатов. Пример: 1 objects

Совет

Начиная с версии 2107, используйте кнопку Запросить устройства еще раз или ctrl + F5 , чтобы заставить клиент снова получить данные для запроса. Повторное использование устройств запросов полезно, если ожидается, что данные на устройстве изменятся с момента последнего запроса, например во время устранения неполадок. При повторном выборе выполнить запрос после возврата исходных результатов выполняется только синтаксический анализ данных CMPivot, уже полученных от клиента.

Снимок экрана: кнопка повторного запроса устройств, показывающая подсказку о том, что CTRL+F5 является ярлыком для принудительного извлечения данных клиентами.

Публикация запроса в Центре сообщества из CMPivot

(Применимо к версии 2107 или более поздней)

Начиная с версии 2107, вы можете публиковать запрос CMPivot в Центре сообщества непосредственно из окна CMPivot. Отправка запросов непосредственно через CMPivot упрощает участие в центре сообщества.

Вам потребуются следующие требования для CMPivot и для участия в Центре сообщества:

  1. Перейдите в рабочую область Активы и соответствие, а затем выберите узел Коллекции устройств .

  2. Выберите целевую коллекцию, целевое устройство или группу устройств, а затем нажмите кнопку Запустить CMPivot на ленте, чтобы запустить средство.

  3. В окне CMPivot выберите значок Центра сообщества в меню.

    Значок центра сообщества

  4. Выберите Войти, а затем войдите в GitHub.

  5. Создайте запрос CMPivot, а затем выберите Выполнить запрос , чтобы убедиться, что он работает должным образом.

    • При необходимости щелкните значок папки, чтобы получить доступ к списку избранного, чтобы использовать уже созданный запрос.
  6. Щелкните ссылку Опубликовать в верхней части окна Центра сообщества CMPivot, когда будете готовы отправить запрос.

    Снимок экрана: окно Центра сообщества в CMPivot с вкладкой публикации

  7. Присвойте запросу имя и описание, а затем нажмите кнопку Опубликовать , чтобы отправить запрос в Центр сообщества.

  8. После завершения вклада вы можете получить доступ к запросу в любое время на вкладке ".

  9. Чтобы просмотреть запрос на вытягивание (PR) GitHub, перейдите по адресу https://github.com/Microsoft/configmgr-hub/pulls. Вы также можете получить доступ к ссылке pr-запроса на странице Ваш центр в узле Центр сообщества .

    • PRs не следует отправлять непосредственно в репозиторий GitHub.

Примечание.

  • В настоящее время при публикации запроса с помощью CMPivot его невозможно изменить или удалить после публикации.
  • Центр сообщества доступен в CMPivot только при его запуске из консоли Configuration Manager. Центр сообщества недоступен в автономном CMPivot.

Примеры сценариев для CMPivot

В следующих разделах приведены примеры использования CMPivot в среде.

Пример 1. Остановка запущенной службы

Администратор безопасности просит вас как можно быстрее остановить и отключить службу "Браузер компьютеров" на всех устройствах в бухгалтерии. Вы запустите CMPivot для коллекции для всех устройств в бухгалтерском учете и выберите Запрос всех в сущности Служба .

Service

По мере появления результатов щелкните правой кнопкой мыши столбец Имя и выберите Группировать по.

Service | summarize dcount( Device ) by Name

В строке службы браузера выберите номер с гиперссылкой в столбце dcount_ .

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

Вы можете выбрать все устройства, щелкнуть их правой кнопкой мыши и выбрать команду Запустить скрипт. Это действие запускает мастер запуска скриптов, из которого выполняется существующий скрипт для остановки и отключения службы. С помощью CMPivot вы быстро реагируете на инцидент безопасности для всех активных компьютеров, просматривая результаты в мастере запуска скриптов. Затем вы создадите базовую конфигурацию для исправления других компьютеров в коллекции по мере того, как они станут активными в будущем.

Пример CMPivot для службы браузера и действия запуска скрипта

Пример 2. Упреждающее устранение сбоев приложений

Чтобы выполнить упреждающее обслуживание, раз в неделю вы запускаете CMPivot для коллекции серверов, которыми вы управляете, и выберите Запрос всех в сущности AppCrash . Щелкните правой кнопкой мыши столбец FileName и выберите Сортировка по возрастанию. Одно устройство возвращает семь результатов для sqlsqm.exe с меткой времени около 03:00 каждый день. Выберите имя файла в одной из строк, щелкните его правой кнопкой мыши и выберите Bing It. Просматривая результаты поиска в веб-браузере, вы найдете Майкрософт статью поддержки для этой проблемы с дополнительными сведениями и ее решением.

Пример 3. Версия BIOS

Чтобы устранить уязвимости бокового канала спекулятивного выполнения, одним из требований является обновление BIOS системы. Вы начинаете с запроса для сущности BIOS . Затем вы группировать по свойству Version . Затем щелкните правой кнопкой мыши определенное значение, например "LENOVO - 1140", и выберите Показать устройства с.

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

Пример 4. Свободное место на диске

Необходимо временно сохранить большой файл на сетевом файловом сервере, но не знаете, какой из них имеет достаточную емкость. Запустите CMPivot для коллекции файловых серверов и запросите сущность Disk . Измените запрос для CMPivot, чтобы быстро вернуть список активных серверов с данными хранилища в режиме реального времени:

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

Автономная CMPivot

CMPivot можно использовать как автономное приложение. Автономная версия CMPivot доступна только на английском языке. Запустите CMPivot за пределами консоли Configuration Manager, чтобы просмотреть состояние устройств в вашей среде в режиме реального времени. Это изменение позволяет использовать CMPivot на устройстве без предварительной установки консоли.

Вы можете использовать возможности CMPivot с другими пользователями, такими как служба поддержки или администраторы безопасности, у которых на компьютере не установлена консоль. Эти другие пользователи могут использовать CMPivot для запроса Configuration Manager наряду с другими инструментами, которые они традиционно используют. Предоставляя общий доступ к этим обширным данным управления, вы можете совместно работать над упреждающим решением бизнес-задач, которые выполняются между ролями.

Установка автономного CMPivot

  1. Настройте разрешения, необходимые для запуска CMPivot. Дополнительные сведения см. в разделе Предварительные требования. Вы также можете использовать роль администратора безопасности , если разрешения подходят для пользователя.

  2. Найдите установщик приложения CMPivot по следующему пути: <site install path>\tools\CMPivot\CMPivot.msi. Его можно запустить из этого пути или скопировать в другое расположение.

  3. При запуске автономного приложения CMPivot вам будет предложено подключиться к сайту. Укажите полное доменное имя или имя компьютера центра администрирования или сервера первичного сайта.

    • При каждом открытии автономного CMPivot вам будет предложено подключиться к серверу сайта.
  4. Перейдите к коллекции, в которой вы хотите запустить CMPivot, а затем выполните запрос.

    Перейдите к коллекции, к которой вы хотите выполнить запрос

Примечание.

  • Действия, которые можно щелкнуть правой кнопкой мыши, такие как запуск сценариев, обозреватель ресурсов и поиск в Интернете, недоступны в автономном cmPivot. Основное использование автономного сервера CMPivot — выполнение запросов независимо от инфраструктуры Configuration Manager. Чтобы помочь администраторам безопасности, автономная cmPivot включает возможность подключения к Центр безопасности в Microsoft Defender.
  • Вы можете выполнить оценку запросов на локальном устройстве с помощью автономной команды CMPivot.

Внутри CMPivot

CMPivot отправляет запросы клиентам, используя Configuration Manager "быстрый канал". Этот канал связи между сервером и клиентом также используется другими функциями, такими как действия уведомления клиента, состояние клиента и Endpoint Protection. Клиенты возвращают результаты через аналогичную систему сообщений о быстром состоянии. Сообщения о состоянии временно хранятся в базе данных. Дополнительные сведения о портах, используемых для уведомлений клиента, см. в статье Порты .

Запросы и результаты — это просто текст. Сущности InstallSoftware и Process возвращают некоторые из наибольших результирующих наборов. Во время тестирования производительности наибольший размер файла сообщений о состоянии из одного клиента для этих запросов составлял менее 1 КБ. Масштабируемый до крупной среды с 50 000 активных клиентов, этот одноразовый запрос создаст менее 50 МБ данных по сети. Все подчеркнутые элементы на странице приветствия будут возвращать менее 1 КБ сведений на клиента.

Пример подчеркнутых сущностей CMPivot

Начиная с Configuration Manager 1810, CMPivot может запрашивать данные инвентаризации оборудования, включая расширенные классы инвентаризации оборудования. Эти новые сущности (сущности, не подчеркнутые на странице приветствия) могут возвращать гораздо большие наборы данных в зависимости от того, сколько данных определено для данного свойства инвентаризации оборудования. Например, сущность "InstalledExecutable" может возвращать несколько МБ данных на клиента в зависимости от конкретных данных, к которые вы запрашиваете. Учитывайте производительность и масштабируемость систем при возврате больших наборов данных инвентаризации оборудования из больших коллекций с помощью CMPivot.

Время ожидания запроса истекает через час. Например, коллекция содержит 500 устройств, и 450 клиентов в настоящее время подключены к сети. Эти активные устройства получают запрос и возвращают результаты практически немедленно. Если оставить окно CMPivot открытым, так как другие 50 клиентов подключены, они также получат запрос и возвращают результаты.

Файлы журнала

Взаимодействия CMPivot регистрируются в следующих файлах журнала:

На стороне сервера:

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

На стороне клиента:

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

Дополнительные сведения см. в разделах Файлы журнала и Устранение неполадок CMPivot.

Дальнейшие действия