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 и установщик Microsoft Edge подписаны сертификатом Microsoft Code Signing PCA 2011 . Если для политики выполнения 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 Н/Д

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

Ограничения

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

Start CMPivot

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

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

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

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

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

  3. Оставьте окно CMPivot открытым для просмотра результатов от клиентов. При закрытии окна CMPivot сеанс завершен.

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

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

Пример окна CMPivot

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

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

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

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

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

      • Query all: запустите запрос для этой сущности, включая все свойства. Используйте это действие, чтобы быстро запросить один объект.

      • Запрос по устройству: запустите запрос для этого объекта и сгруппируйте результаты. Пример: 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 уже получил от клиента.

Снимок экрана: кнопка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

Service

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

Service | summarize dcount( Device ) by Name

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

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

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

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

Пример 2. Заблаговременное устранение сбоев приложений

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

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

Чтобы устранить уязвимости спекулятивного выполнения бокового канала, одним из требований является обновление BIOS системы. Вы начинаете с запроса сущности BIOS . Затем выполняйте группировку по свойству "Версия ". Затем щелкните правой кнопкой мыши определенное значение, например "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. Этот канал связи от сервера к клиенту также используется другими компонентами, такими как действия с уведомлениями клиента, состояние клиента и защита конечных точек. Клиенты возвращают результаты через аналогичную систему быстрых сообщений состояния. Сообщения о состоянии временно хранятся в базе данных. Дополнительные сведения о портах, используемых для уведомлений клиентов, см. в статье "Порты ".

Запросы и результаты — это текст. Сущности 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.

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