Изменения в CMPivot

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

Используйте следующие сведения, чтобы узнать об изменениях, внесенных в CMPivot между Configuration Manager версиями:

Изменения CMPivot для версии 2107

Требования к упрощенным разрешениям CMPivot

Мы упростили требования к разрешениям CMPivot. Новые разрешения применяются для автономной системы CMPivot и CMPivot в локальной консоли. Внесены следующие изменения:

  • CMPivot больше не требует разрешения на чтение скриптов SMS

  • Разрешение область по умолчанию не требуется.

Общие улучшения CMPivot

Мы внесли следующие улучшения в CMPivot:

  • Добавлены агрегаты maxif и minif, которые можно использовать с оператором summarize.
  • Усовершенствования предложений автозаполнения запросов в редакторе запросов
  • Добавлено значение ключа для сущности реестра.
  • Добавлена новая сущность RegistryKey, которая возвращает все разделы реестра, соответствующие заданному выражению.

Чтобы проверить разницу между сущностями Registry и RegistryKey, можно использовать следующие примеры:

// 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 для версии 2103

Начиная с версии 2103, в CMPivot были внесены следующие улучшения:

Предупреждающее сообщение и экспорт данных CMPivot, если результаты слишком велики

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

Запрос вернул большое количество результатов. Сузьте результаты, изменив запрос, или выберите этот баннер, чтобы экспортировать результаты.

Это сообщение возникает в следующих сценариях:

  • Если результаты больше 100 000 ячеек.

    • Например, пороговое значение предупреждения достигается для 10 000 устройств (строк) с 10 столбцами данных сущности.
    • В этом случае вам будет предоставлена возможность экспортировать результаты в файл..csv
  • Если требуется возврат более 128 КБ данных с данного устройства.

    • Например, запрашивает результаты журнала и, скорее всего, CcmLog('ciagent', 120d) превышает ограничение в 128 КБ.
    • Если результаты больше 128 КБ, вы получите предупреждение, но вы не сможете экспортировать их, так как они не будут возвращены из клиента на сервер.

Доступ к наиболее важным запросам, к которым предоставлен доступ в Центре сообщества, из CMPivot

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

Примечание.

Эти запросы доступны при запуске CMPivot из консоли Configuration Manager. Они пока недоступны в автономном CMPivot.

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

Использование CMPivot для доступа к лучшим запросам Центра сообщества

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

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

  3. Используйте значок центра сообщества в меню.

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

  4. Просмотрите список основных общих запросов CMPivot.

    Основные запросы CMPivot из Центра сообщества

  5. Выберите один из основных запросов, чтобы загрузить его в область запросов.

  6. При необходимости измените запрос , а затем выберите Выполнить запрос.

  7. При необходимости выберите значок папки, чтобы получить доступ к списку избранного. Добавьте исходный запрос или измененную версию в список избранного, чтобы выполнить его позже. Щелкните значок центра сообщества, чтобы найти другой запрос.

  8. Не закрывайте окно CMPivot, чтобы просмотреть результаты от клиентов. При закрытии окна CMPivot сеанс завершается. Если запрос был отправлен, клиенты по-прежнему отправляют ответ на сообщение о состоянии на сервер.

Изменения CMPivot для версии 2006

Начиная с версии 2006, в CMPivot были внесены следующие улучшения:

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

  • Улучшения навигации с помощью клавиатуры в CMPivot.

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

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

    • В рамках существующей операции CMPivot выберите отдельное устройство или несколько устройств из выходных данных. Щелкните правой кнопкой мыши и выполните сводку с помощью параметра Device Pivot (Сводка устройства ). Это действие запускает отдельный экземпляр CMPivot с областью действия только для выбранных устройств. Это упрощает сводку и просто запрос на нужных устройствах без необходимости создавать для них коллекцию.
  • При запуске CMPivot для отдельного устройства в верхней части окна отображается имя устройства. Количество выбранных устройств для нескольких устройств отображается в верхней части окна.

  • Параметр Создать коллекцию на вкладке Сводка запросов был удален, так как CMPivot больше не требует выполнения запросов к коллекции. Выполните сводку устройства , чтобы открыть новый экземпляр CMPivot с областью действия только для устройств, к которым требуется выполнить запрос. Создание коллекции по-прежнему доступно в меню main.

Сводка устройств для нескольких устройств с помощью CMPivot

Изменения CMPivot для версии 2002

Мы упростили навигацию по сущностям CMPivot. Начиная с Configuration Manager версии 2002, вы можете выполнять поиск сущностей CMPivot. Добавлены новые значки, которые позволяют легко различать сущности и типы объектов сущностей.

Поиск сущностей CMPivot

Изменения CMPivot для версии 1910

Начиная с версии 1910, CMPivot была значительно оптимизирована для сокращения сетевого трафика и нагрузки на серверы. Кроме того, был добавлен ряд сущностей и усовершенствований сущностей для помощи в устранении неполадок и поиске. В cmPivot версии 1910 были внесены следующие изменения:

Оптимизация подсистемы CMPivot

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

Примеры

Оптимизация CMPivot значительно снижает загрузку ЦП сети и сервера, необходимую для выполнения запросов CMPivot. Благодаря этой оптимизации теперь можно отсеивает гигабайты данных клиента в режиме реального времени. Следующие запросы иллюстрируют эти оптимизации:

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

    EventLog('Security')
    | where  EventID == 4673
    | summarize count() by Device
    | order by count_ desc
    
  • Выполните поиск файла по хэшу.

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

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

Эта сущность используется для получения событий из журналов событий и файлов журналов трассировки событий. Сущность получает данные из журналов событий, созданных технологией журнала событий Windows. Сущность также получает события в файлах журнала, созданных трассировкой событий для Windows (ETW). По умолчанию WinEvent просматривает события, произошедшие за последние 24 часа. Однако 24-часовое значение по умолчанию можно переопределить, включив интервал времени.

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

FileContent(<filename>)

FileContent используется для получения содержимого текстового файла.

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

ProcessModule(<processname>)

Эта сущность используется для перечисления модулей (DLL), загруженных данным процессом. ProcessModule полезен при поиске вредоносных программ, которые скрываются в допустимых процессах.

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

AadStatus

Эту сущность можно использовать для получения текущих Microsoft Entra сведений об удостоверении с устройства.

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

EPStatus

EPStatus используется для получения состояния установленного на компьютере антивредоносного программного обеспечения.

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

Оценка запросов локального устройства с помощью автономного CMPivot

При использовании CMPivot за пределами консоли Configuration Manager можно запрашивать только локальное устройство без необходимости в инфраструктуре Configuration Manager. Теперь вы можете использовать запросы Azure Log Analytics CMPivot для быстрого просмотра сведений О WMI на локальном устройстве. Это также позволяет проверять и уточнять запросы CMPivot перед их выполнением в более крупной среде. Автономная версия CMPivot доступна только на английском языке. Дополнительные сведения об автономном сервере CMPivot см. в статье Об автономном сервере CMPivot.

Известные проблемы при оценке запросов локального устройства

  • Если вы запросите на этом компьютере сущность WMI, к которому у вас нет доступа, например заблокированный класс WMI, вы можете увидеть сбой в CMPivot. Запустите CMPivot, используя учетную запись с повышенными привилегиями для запроса этих сущностей.
  • При запросе сущностей, отличных от WMI, на этом компьютере вы увидите недопустимое пространство имен или неоднозначное исключение.
  • Запустите CMPivot в автономном режиме из контекстного меню "Пуск", а не непосредственно из пути к исполняемому файлу.

Другие улучшения

  • Запросы типов регулярных выражений можно выполнять с помощью оператора new like . Например:

    //Find BIOS manufacture that contains any word like Micro, such as Microsoft
    Bios
    | where Manufacturer like '%Micro%'
    
  • Мы обновили сущности CcmLog() и EventLog() для просмотра сообщений только за последние 24 часа по умолчанию. Это поведение можно переопределить, передав необязательный интервал времени. Например, следующий запрос будет рассматривать события за последние 1 час:

    CcmLog('Scripts',1h)
    
  • Сущность File() обновлена для сбора сведений о скрытых и системных файлах и включает хэш MD5. Хотя хэш MD5 не так точен, как хэш SHA256, он, как правило, является часто сообщаемым хэшом в большинстве бюллетеней по вредоносным программам.

  • Вы можете добавлять примечания в запросы. Это полезно при совместном использовании запросов. Например:

    //Get the top ten devices sorted by user
    Device
    | top 10 by UserName
    
  • CMPivot автоматически подключается к последнему сайту. После запуска CMPivot можно при необходимости подключиться к новому сайту.

  • В меню Экспорт выберите новый параметр Запрос ссылки на буфер обмена. Это действие копирует ссылку на буфер обмена, которым можно поделиться с другими пользователями. Например:

    cmpivot:Ly8gU2FtcGxlIHF1ZXJ5DQpPcGVyYXRpbmdTeXN0ZW0NCnwgc3VtbWFyaXplIGNvdW50KCkgYnkgQ2FwdGlvbg0KfCBvcmRlciBieSBjb3VudF8gYXNjDQp8IHJlbmRlciBiYXJjaGFydA==

    Эта ссылка открывает автономный CMPivot со следующим запросом:

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

    Совет

    Чтобы эта ссылка работала, установите автономную версию CMPivot.

  • В результатах запроса, если устройство зарегистрировано в Microsoft Defender для конечной точки, щелкните устройство правой кнопкой мыши, чтобы запустить веб-портал Центр безопасности в Microsoft Defender.

Известные проблемы с CMPivot в версии 1910

  • При достижении ограничения баннер с максимальными результатами может не отображаться.
    • Каждый клиент ограничен 128 КБ данных на запрос.
    • Результаты могут быть усечены, если результаты запроса превышают 128 КБ.

Изменения CMPivot для версии 1906

Начиная с версии 1906 в CMPivot были добавлены следующие элементы:

Добавление соединений, дополнительных операторов и агрегаторов в CMPivot

Теперь у вас есть дополнительные арифметические операторы, агрегаторы и возможность добавлять соединения запросов, например использовать реестр и файл вместе. Добавлены следующие элементы:

Операторы таблиц

Операторы таблиц Описание
Присоединиться к Объединение строк двух таблиц для формирования новой таблицы путем сопоставления строк для одного устройства
render Отрисовка результатов в виде графических выходных данных

Оператор render уже существует в CMPivot. Добавлена поддержка нескольких рядов и оператора with . Дополнительные сведения см. в разделе примеров и в статье Об операторе соединения Kusto.

Ограничения для соединений

  1. Столбец соединения всегда неявно выполняется в поле Устройство .
  2. Для каждого запроса можно использовать не более 5 соединений.
  3. Можно использовать не более 64 объединенных столбцов.

Скалярные операторы

Оператор Описание Пример
+ Добавить 2 + 1, now() + 1d
- Subtract 2 - 1, now() - 1d
* Multiply 2 * 2
/ Divide 2 / 1
% Модуль 2 % 1

Агрегатные функции

Функция Описание
percentile() Возвращает оценку для указанного процентиля ближайшего ранга для совокупности, определенной expr.
sumif() Возвращает сумму expr, для которой предикат имеет значение true.

Скалярные функции

Функция Описание
case() Вычисляет список предикатов и возвращает первое результирующее выражение, предикату которого удовлетворяется.
iff() Вычисляет первый аргумент и возвращает значение второго или третьего аргументов в зависимости от того, имеет ли предикат значение true (второй) или false (третий).
indexof() Функция сообщает отсчитываемый от нуля индекс первого вхождения указанной строки во входной строке
strcat() Объединение от 1 до 64 аргументов
strlen() Возвращает длину входной строки в символах.
substring() Извлекает подстроку из исходной строки, начиная с некоторого индекса до конца строки.
tostring() Преобразует входные данные в строковую операцию

Примеры

  • Отображение устройства, производителя, модели и OSVersion:

    ComputerSystem
    | project Device, Manufacturer, Model
    | join (OperatingSystem | project Device, OSVersion=Caption)
    
  • Показать график времени загрузки для устройства:

    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)')
    

    Линейчатая диаграмма с накоплением, показывающая время загрузки для устройства в мс

Добавлены разрешения CMPivot для роли администратора безопасности.

Начиная с версии 1906, к встроенной роли администратора безопасности Configuration Manager добавлены следующие разрешения:

  • Чтение скрипта SMS
  • Запуск CMPivot в коллекции
  • Ознакомьтесь с отчетом об инвентаризации

Примечание.

Выполнение скриптов — это супер набор разрешений На выполнение CMPivot .

Автономная 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 для версии 1902

Начиная с Configuration Manager версии 1902, CMPivot можно запускать с сайта центра администрирования (CAS) в иерархии. Основной сайт по-прежнему обрабатывает обмен данными с клиентом. При запуске CMPivot с сайта центра администрирования он взаимодействует с основным сайтом по высокоскоростному каналу подписки на сообщения. Это взаимодействие не зависит от стандартной репликации SQL Server между сайтами.

Запуск CMPivot в cas-сервере потребует дополнительных разрешений, если SQL Server или поставщик SMS не на том же компьютере или в случае SQL Server Always On конфигурации группы доступности. При использовании этих удаленных конфигураций у вас есть сценарий двойного прыжка для CMPivot.

Чтобы CMPivot работал с cas в таком сценарии двойного прыжка, можно определить ограниченное делегирование. Чтобы понять последствия этой конфигурации для безопасности, ознакомьтесь со статьей Ограниченное делегирование Kerberos . Kerberos должен проработать все прыжки между компьютерами. Если у вас есть несколько удаленных конфигураций, таких как SQL Server или поставщик SMS, совместно размещаемый с CAS или нет, или несколько доверенных лесов, может потребоваться сочетание параметров разрешений. Ниже приведены действия, которые могут потребоваться.

CAS имеет удаленный SQL Server

  1. Перейдите к SQL Server каждого первичного сайта.

    1. Добавьте удаленный SQL Server cas и сервер сайта cas в группу Configmgr_DviewAccess. Configmgr_DviewAccess группу на SQL Server первичного сайта
  2. Перейдите к Пользователи и компьютеры Active Directory.

    1. Для каждого сервера первичного сайта щелкните правой кнопкой мыши и выберите Пункт Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте службу SQL Server CAS с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!
    2. Для сайта CAS щелкните правой кнопкой мыши и выберите Пункт Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте службу SQL Server каждого первичного сайта с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!

    Пример делегирования AD CMPivot для двойного прыжка

У CAS есть удаленный поставщик

  1. Перейдите к SQL Server каждого первичного сайта.
    1. Добавьте учетную запись компьютера поставщика cas и сервер сайта cas в группу Configmgr_DviewAccess .
  2. Перейдите к Пользователи и компьютеры Active Directory.
    1. Выберите компьютер поставщика CAS, щелкните правой кнопкой мыши и выберите Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте службу SQL Server каждого первичного сайта с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!
    2. Выберите сервер сайта cas, щелкните правой кнопкой мыши и выберите Пункт Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте службу SQL Server каждого первичного сайта с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!
  3. Перезапустите компьютер удаленного поставщика CAS.

группы доступности SQL Server Always On

  1. Перейдите к SQL Server каждого первичного сайта.
    1. Добавьте сервер сайта CAS в группу Configmgr_DviewAccess .
  2. Перейдите к Пользователи и компьютеры Active Directory.
    1. Для каждого сервера первичного сайта щелкните правой кнопкой мыши и выберите Пункт Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте учетные записи службы SQL Server cas для узлов SQL Server с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!
    2. Выберите сервер сайта cas, щелкните правой кнопкой мыши и выберите Пункт Свойства.
      1. На вкладке делегирование выберите третий параметр , Доверяйте этому компьютеру делегирование только указанным службам.
      2. Выберите Использовать только Kerberos.
      3. Добавьте службу SQL Server каждого первичного сайта с портом и экземпляром.
      4. Убедитесь, что эти изменения соответствуют политике безопасности вашей компании!
  3. Убедитесь, что имя субъекта-службы опубликовано для имени прослушивателя CAS и каждого основного прослушивателя.
  4. Перезапустите основные узлы SQL Server.
  5. Перезапустите сервер сайта cas и узлы SQL Server cas.

Изменения CMPivot для версии 1810

CMPivot включает следующие улучшения, начиная с Configuration Manager версии 1810:

Служебная программа CMPivot и производительность

  • CMPivot вернет до 100 000 ячеек, а не 20 000 строк.

    • Если сущность имеет 5 свойств, то есть 5 столбцов, будет отображаться до 20 000 строк.
    • Для сущности с 10 свойствами будет отображаться до 10 000 строк.
    • Общее количество отображаемых данных будет меньше 100 000 ячеек или равно 100 000.
  • На вкладке Сводка запросов выберите количество устройств, не завершенных или автономных, а затем выберите параметр Создать коллекцию. Этот параметр позволяет легко ориентироваться на эти устройства с помощью развертывания исправлений.

    • Этот параметр был удален в версии 2006, так как CMPivot больше не требует запросов к коллекции.
  • Сохраните избранные запросы, щелкнув значок папки. Пример сохранения избранного запроса в CMPivot

  • Клиенты, обновленные до версии 1810, возвращают выходные данные менее 80 КБ на сайт по быстрому каналу связи.

    • Это изменение повышает производительность просмотра выходных данных скрипта или запроса.
    • Если объем выходных данных скрипта или запроса превышает 80 КБ, клиент отправляет данные через сообщение о состоянии.
    • Если клиент не обновлен до версии клиента 1810, он продолжает использовать сообщения о состоянии.
  • При запуске CMPivot может появиться следующая ошибка: Вы не можете использовать CMPivot прямо сейчас из-за несовместимой версии скрипта. Эта проблема может быть связана с тем, что иерархия находится в процессе обновления сайта. Подождите, пока обновление завершится, а затем повторите попытку.

    • Если вы видите это сообщение, оно может означать следующее:
      • Область безопасности настроен неправильно.
      • В этом процессе возникают проблемы с обновлением.
      • Базовый скрипт CMPivot несовместим.

Скалярные функции

CMPivot поддерживает следующие скалярные функции:

  • ago(): вычитает заданный интервал времени из текущего времени в формате UTC.
  • datetime_diff(): вычисляет разницу в календаре между двумя значениями даты и времени.
  • now(): возвращает текущее время часов в формате UTC.
  • bin(): округляет значения до целого числа, кратного заданному размеру ячейки.

Примечание.

Тип данных datetime представляет момент времени, который обычно выражается в виде даты и времени суток. Значения времени измеряются в единицах измерения по 1 секунде. Значение datetime всегда находится в часовом поясе UTC. Всегда выражают литералы даты и времени в формате ISO 8601, например yyyy-mm-dd HH:MM:ss

Примеры

  • datetime(2015-12-31 23:59:59.9): определенный литерал даты и времени.
  • now(): текущее время
  • ago(1d): текущее время минус один день

Визуализации отрисовки

CMPivot теперь включает базовую поддержку оператора отрисовки KQL. Эта поддержка включает следующие типы:

  • barchart: первый столбец является осью X и может быть текстовым, datetime или числовым. Вторые столбцы должны быть числовыми и отображаться в виде горизонтальной полосы.
  • columnchart: как и линейчатая диаграмма, с вертикальными полосами, а не горизонтальными.
  • piechart: первый столбец является осью цвета, второй столбец — числовым.
  • тайм-диаграмма: график линий. Первый столбец является осью X и должен иметь значение datetime. Второй столбец — ось Y.

Пример: линейчатая диаграмма

Следующий запрос отображает последние использовавшиеся приложения в виде линейчатой диаграммы:

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

Пример визуализации линейчатой диаграммы CM

Пример: диаграмма времени

Для отрисовки временных диаграмм используйте новый оператор bin() для группировки событий во времени. В следующем запросе показано, когда устройства запускались за последние семь дней:

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

Пример визуализации диаграммы cmpivot time

Пример: круговая диаграмма

В следующем запросе отображаются все версии ОС на круговой диаграмме:

OperatingSystem
| summarize count() by Caption
| render piechart

Пример визуализации круговой диаграммы CMPivot

Инвентаризация оборудования

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

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

Пример

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

Пример запроса инвентаризации CMPivot с визуализацией гистограммы

Ограничения

  • Следующие сущности инвентаризации оборудования не поддерживаются:
    • Свойства массива, например IP-адрес
    • Real32/Real64
    • Свойства внедренного объекта
  • Имена сущностей инвентаризации должны начинаться с символа
  • Вы не можете перезаписать встроенные сущности путем создания сущности инвентаризации с тем же именем.

Скалярные операторы

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

Примечание.

  • LHS: строка слева от оператора
  • RHS: строка справа от оператора
Оператор Описание Пример (возвращает значение true)
== Равно "aBc" == "aBc"
!= Не равно "abc" != "ABC"
как LHS содержит совпадение для RHS "FabriKam" like "%Brik%"
!Как LHS не содержит совпадения для RHS "Fabrikam" !like "%xyz%"
contains RHS возникает как подсезона LHS "FabriKam" contains "BRik"
!Содержит RHS не встречается в LHS "Fabrikam" !contains "xyz"
startswith RHS — это начальная подсеть LHS. "Fabrikam" startswith "fab"
!startswith RHS не является начальной подсетью LHS "Fabrikam" !startswith "kam"
endswith RHS — это закрывающая подсеть LHS. "Fabrikam" endswith "Kam"
!endswith RHS не является закрывающей частью LHS "Fabrikam" !endswith "brik"

Сводка запроса

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

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

Сообщения о состоянии аудита CMPivot

Начиная с версии 1810 при запуске CMPivot создается сообщение о состоянии аудита с messageID 40805. Чтобы просмотреть сообщения о состоянии, перейдите в раздел Мониторинг>системныхзапросов на сообщения о состоянии>. Вы можете запустить все сообщения о состоянии аудита для конкретного пользователя, все сообщения о состоянии аудита для определенного сайта или создать собственный запрос сообщения о состоянии.

Для сообщения используется следующий формат:

MessageId 40805: User UserName> выполнил скрипт <Script-Guid> с хэш-скриптом-хэшом><в коллекции <Collection-ID>.<

  • 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 — это Script-Guid cmPivot.
  • Script-Hash можно увидеть в файле scripts.log клиента.
  • Вы также можете просмотреть хэш, хранящийся в хранилище скриптов клиента. Имя файла на клиенте — <Script-Guid>_<Script-Hash>.
    • Имя примера файла: C:\Windows\CCM\ScriptStore\7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14_abc1d23e45678901fabc123d456ce789fa1b2cd3e456789123fab4c56789d0123.ps

Пример сообщения о состоянии аудита CMPivot

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

Устранение неполадок CMPivot