Поставщик служб конфигурации DiagnosticLog

В следующем списке показаны узлы поставщика службы конфигурации DiagnosticLog:

DeviceStateData

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/DeviceStateData

Корневой узел всех типов данных о состоянии устройства, предоставляемых CSP.

Функциональные возможности DeviceStateData в поставщике служб диагностики DiagnosticLog предоставляют дополнительные сведения об устройстве.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

DeviceStateData/MdmConfiguration

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1607 [10.0.14393] и более поздние
./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration

Этот узел предназначен для активации привязки Управление устройствами данных состояния с помощью "SNAP".

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Exec, Get

Пример:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Exec>
      <CmdID>2</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration</LocURI>
        </Target>
        <Meta>
           <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data>SNAP</Data>
      </Item>
    </Exec>
    <Final/>
  </SyncBody>
</SyncML>

DiagnosticArchive

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive

Корневой узел для определения и сбора архива.

Функция DiagnosticArchive в поставщике служб CSP DiagnosticLog используется для активации устройств для сбора данных об устранении неполадок в ZIP-архивный файл и отправки этого архива в облачное хранилище.

DiagnosticArchive предназначен для нерегламентированных сценариев устранения неполадок, таких как ИТ-администратор, изучающий сбой установки приложения с помощью коллекции событий журнала событий, значений реестра и файлов журнала приложений или ОС.

Примечание.

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

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

DiagnosticArchive/ArchiveDefinition

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveDefinition

Действие "Выполнить" для этого узла принимает Collection XML-фрагмент (в виде строки), описывающий, какие данные собирать и куда их отправлять. Результаты запаковываются и отправляются в указанный SasUrl. Формат zip-имени файла — DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip.

При использовании Windows 10 KB5011543 и Windows 11 KB5011563 существует дополнительная поддержка дополнительного элемента, который определяет, является ли выходной файл, созданный CSP, плоской структурой папок, а не отдельными папками для каждой директивы в XML. В следующем примере показан XML-код Collection :

<Collection>
   <!--NOTE: The value shown here is an example only, for more information see the ID documentation which follows the example -->
   <ID>f1e20cb4-9789-4f6b-8f6a-766989764c6d</ID>
   <!--NOTE: The value shown here is an example only, for more information see the SasUrl documentation which follows the example -->
   <SasUrl><![CDATA[https://myaccount.blob.core.windows.net/mycontainer?sp=aw&st=2020-07-01T23:02:07Z&se=2020-07-02T23:02:07Z&sv=2019-10-10&sr=c&sig=wx9%2FhwrczAI0nZL7zl%2BhfZVfOBvboTAnrGYfjlO%2FRFA%3D]]></SasUrl>
   <RegistryKey>HKLM\Software\Policies</RegistryKey>
   <FoldersFiles>%ProgramData%\Microsoft\DiagnosticLogCSP\Collectors\*.etl</FoldersFiles>
   <Command>%windir%\system32\ipconfig.exe /all</Command>
   <Command>%windir%\system32\mdmdiagnosticstool.exe -out %ProgramData%\temp\</Command>
   <FoldersFiles>%ProgramData%\temp\*.*</FoldersFiles>
   <Events>Application</Events>
   <OutputFileFormat>Flattened</OutputFileFormat>
</Collection>

XML-код должен содержать следующие элементы в элементе Collection :

  • Идентификатор. Значение идентификатора однозначно идентифицирует этот запрос на сбор данных. Чтобы избежать случайного повторения сбора данных, CSP игнорирует последующие вызовы Set или Execute с тем же значением идентификатора. Поставщик служб CSP ожидает, что значение будет заполнено при получении запроса, поэтому оно должно быть создано ИТ-администратором или сервером управления.
  • SasUrl. Значение SasUrl — это целевой универсальный код ресурса (URI), в который поставщик служб CSP отправляет ZIP-файл, содержащий собранные данные. Сервер управления отвечает за подготовку хранилища таким образом, чтобы сервер хранилища принял http PUT устройства на этот URL-адрес. Например, служба управления устройствами может:
    • Подготовка облачного хранилища, доступного целевому устройству, например контейнера хранилища BLOB-объектов Microsoft Azure
    • Создание URL-адреса подписанного url-адреса общего доступа, предоставляющего обладателю (целевому устройству) ограниченный по времени доступ на запись в контейнер хранилища
    • Передайте это значение в CSP на целевом устройстве через Collection XML-файл в SasUrl качестве значения.

Кроме того, XML-код может включать одну или несколько директив сбора данных, которые могут включать в себя любую из следующих директив:

  • RegistryKey: экспортирует все имена ключей и значения по заданному пути (рекурсивный).

    • Ожидаемое входное значение: путь к реестру, например "HKLM\Software\Policies".
    • Формат вывода. Создает файл .reg, аналогичный выходным данным команды reg.exe EXPORT.
    • Ограничения конфиденциальности. Чтобы включить сбор журналов диагностики и снизить риск случайного захвата созданных пользователем документов ИТ-администратором, пути реестра ограничены теми путями, которые находятся в HKLM и HKCR.
  • События: экспортирует все события из именованного журнала событий Windows.

    • Ожидаемое входное значение: именованный канал журнала событий, например "Application" или "Microsoft-Windows-DeviceGuard/Operational".
    • Выходной формат: создает EVTX-файл.
  • Команды. Этот тип директивы позволяет выполнять определенные команды, например ipconfig.exe. Обратите внимание, что директивы DiagnosticArchive и Commands не являются платформой сценариев общего назначения. Эти команды разрешены в контексте DiagnosticArchive для обработки случаев, когда критически важные сведения об устройстве могут быть недоступны через существующие файлы журналов.

    • Ожидаемое входное значение: полная командная строка, включая путь и любые аргументы, например %windir%\\system32\\ipconfig.exe /all.
    • Формат вывода. Вывод текста консоли из команды записывается в текстовый файл и включается в общий выходной архив. Для команд, которые могут создавать выходные данные файла, а не консольные выходные данные, будет использоваться последующая директива FolderFiles для записи этого вывода. Пример XML выше демонстрирует этот шаблон с параметром -out mdmdiagnosticstool.exe.
    • Ограничения конфиденциальности. Чтобы включить сбор диагностических данных и снизить риск случайного захвата документов, созданных пользователем, ИТ-администратор допускает только следующие команды:
      • %windir%\system32\certutil.exe
      • %windir%\system32\dxdiag.exe
      • %windir%\system32\gpresult.exe
      • %windir%\system32\msinfo32.exe
      • %windir%\system32\netsh.exe
      • %windir%\system32\nltest.exe
      • %windir%\system32\ping.exe
      • %windir%\system32\powercfg.exe
      • %windir%\system32\w32tm.exe
      • %windir%\system32\wpr.exe
      • %windir%\system32\dsregcmd.exe
      • %windir%\system32\dispdiag.exe
      • %windir%\system32\ipconfig.exe
      • %windir%\system32\logman.exe
      • %windir%\system32\tracelog.exe
      • %programfiles%\windows defender\mpcmdrun.exe
      • %windir%\system32\MdmDiagnosticsTool.exe
      • %windir%\system32\pnputil.exe
  • FoldersFiles: записывает файлы журнала по заданному пути (без рекурсии).

    • Ожидаемое входное значение: путь к файлу с подстановочными знаками или без нее, например "%windir%\System32" или "%programfiles%\*.log".
    • Ограничения конфиденциальности. Чтобы включить сбор журналов диагностики и снизить риск случайного захвата созданных пользователем документов ИТ-администратором, разрешены только пути под следующими корнями:
      • %PROGRAMFILES%
      • %PROGRAMDATA%
      • %PUBLIC%
      • %WINDIR%
      • %TEMP%
      • %TMP%
    • Кроме того, записываются только файлы со следующими расширениями:
      • .Журнала
      • .txt
      • .Dmp
      • CAB
      • .zip
      • .xml
      • .html
      • .Evtx
      • .Etl
  • OutputFileFormat: выполняет выравнивание структуры папок вместо отдельных папок для каждой директивы в XML.

    • Значение "Flattened" является единственным поддерживаемым значением для OutputFileFormat. Если OutputFileFormat отсутствует в XML-коде или явно задано значение, отличное от Flattened, структура файла останется в старой структуре.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Exec, Get, Replace

DiagnosticArchive/ArchiveResults

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults

Подтяните результаты последнего выполнения архива.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Получите

Пример:

Получить к указанному выше URI вернет результаты сбора данных для последнего запроса диагностика. Пример:

<SyncML>
    <SyncHdr/>
      <SyncBody>
          <Status>
            <CmdID>1</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>0</CmdRef>
            <Cmd>SyncHdr</Cmd>
            <Data>200</Data>
          </Status>
          <Status>
            <CmdID>2</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>1</CmdRef>
            <Cmd>Get</Cmd>
            <Data>200</Data>
          </Status>
          <Results>
            <CmdID>3</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>1</CmdRef>
          <Item>
            <Source>
            <LocURI>./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults</LocURI>
            </Source>
          <Data>
            <Collection HRESULT="0">
                <ID>f1e20cb4-9789-4f6b-8f6a-766989764c6d</ID>
                <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
                <FoldersFiles HRESULT="0">C:\ProgramData\Microsoft\DiagnosticLogCSP\Collectors\*.etl</FoldersFiles>
                <Command HRESULT="0">%windir%\system32\ipconfig.exe /all</Command>
                <Command HRESULT="-2147024637">%windir%\system32\mdmdiagnosticstool.exe -out c:\ProgramData\temp\</Command>
                <FoldersFiles HRESULT="0">c:\ProgramData\temp\*.*</FoldersFiles>
                <Events HRESULT="0">Application</Events>
              </Collection>
          </Data>
          </Item>
          </Results>
          <Final/>
      </SyncBody>
</SyncML>

Сведения о том, как считывать результирующие данные, см. в статье Как проверить ArchiveResults.

EtwLog

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog

Корневой узел всех типов узлов ведения журнала событий, которыми управляет CSP.

Функция журнала трассировки событий Windows (ETW) поставщика служб диагностики DiagnosticLog используется для управления следующими типами трассировки событий:

Функция журнала ETW предназначена для расширенного использования и предполагает, что разработчики знакомы с трассировкой событий Windows. Дополнительные сведения см. в разделе О трассировке событий.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

EtwLog/Channels

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels

Корневой узел зарегистрированных узлов канала.

Тип трассировки событий экспортирует данные событий из определенного канала. Пользователи могут добавлять или удалять узел канала, используя полное имя, например Microsoft-Windows-AppModel-Runtime/Администратор.

Поставщик служб диагностики DiagnosticLog поддерживает файл журнала для каждого узла канала, и файл журнала перезаписывается, если команда start активируется снова на том же узле канала.

Для каждого узла канала пользователь может:

  • Экспорт данных событий канала в файл журнала (EVTX).
  • Включите или отключите канал в службе журналов событий, чтобы разрешить или запретить запись данных событий в канал.
  • Укажите запрос XPath для фильтрации событий при экспорте данных о событиях канала.

Дополнительные сведения об использовании DiagnosticLog для удаленного сбора журналов с компьютера или мобильного устройства см. в разделе Сбор журналов MDM.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

EtwLog/Channels/{ChannelName}

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}

Каждый динамический узел представляет зарегистрированный узел Channel. Имя узла должно быть допустимым именем канала журнала событий Windows, например Microsoft-Client-Licensing-Platform%2FAdmin. При указании имени в LocURI оно должно быть закодировано в URL-адресе, иначе оно будет неожиданно преобразовано в другой URI.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Добавление, удаление, получение
Динамическое именование узлов UniqueName: имя узла должно быть допустимым именем канала журнала событий Windows, например Microsoft-Client-Licensing-Platform%2FAdmin.

Примеры:

  • Добавление канала

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Удаление канала

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Channels/{ChannelName}/Export
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Export

Этот узел запускает экспорт событий в файл журнала из связанного с этим узлом канала событий Windows. Расширение файла журнала — .evtx, которое является стандартным расширением журнала канала событий Windows. Команда Get возвращает имя этого узла.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат null
Тип доступа Exec, Get

Пример:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Exec>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/Export</LocURI>
                </Target>
            </Item>
        </Exec>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Channels/{ChannelName}/Filter
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Filter

Этот узел используется для задания или получения строки запроса xpath для фильтрации событий при экспорте файла журнала из канала. Значение по умолчанию — пустая строка.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Получение, замена
Значение по умолчанию ""

Пример:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/Filter</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Channels/{ChannelName}/State
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/State

Этот узел используется для установки или получения состояния "Включено" связанного с этим узлом канала событий Windows в системе. Если задать для него значение TRUE, канал включается; При установке значения "FALSE" канал отключается.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат bool
Тип доступа Получение, замена

Допустимые значения:

Значение Описание
true Канал включен.
false Канал отключен.

Примеры:

  • Получение состояния канала:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Get>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/State</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Задать состояние канала:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/State</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">bool</Format>
                    </Meta>
                    <Data>false</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    

EtwLog/Collectors

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors

Корневой узел зарегистрированных узлов сборщика.

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

Объект {CollectorName} должен быть уникальным в пределах CSP и не должен быть допустимым именем канала событий или GUID поставщика.

Поставщик служб диагностики DiagnosticLog поддерживает файл журнала для каждого узла сборщика, и файл журнала перезаписывается, если команда start активируется снова на том же узле сборщика.

Для каждого узла сборщика пользователь может:

  • Запустите или остановите сеанс со всеми зарегистрированными и включенными поставщиками.
  • Состояние сеанса запроса.
  • Изменение режима файла журнала трассировки.
  • Изменение ограничения на размер файла журнала трассировки.

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

Для каждого зарегистрированного поставщика в этом сборщике пользователь может:

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

Изменения в state, keywords и TraceLevel вступает в силу сразу же во время сеанса трассировки.

Примечание.

Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) содержит необходимые файлы ресурсов отладки, встроенные в Windows, что позволит декодировать файлы журналов на удаленном компьютере. Другие журналы могут не содержать отладочные ресурсы, необходимые для декодирования.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

Пример:

Чтобы собрать диагностика с помощью этого CSP, выполните приведенные ниже действия.

  1. Укажите имя_сборщика для контейнера целевых поставщиков ETW.
  2. (Необязательно) Настройте параметры ведения журнала и файла журнала с помощью следующих параметров:
  3. Укажите один или несколько целевых поставщиков ETW, указав его ProviderGUID в операцию Добавления etwLog/Collectors/CollectorName/Providers/ProviderGUID.
  4. (Необязательно) Настройте параметры ведения журнала и файла журнала с помощью следующих параметров:
  5. Запустите ведение журнала с помощью команды TraceControl EXECUTE "START".
  6. Выполните действия на целевом устройстве, которые будут создавать действия в файлах журнала.
  7. Остановите ведение журнала с помощью команды TraceControl EXECUTE "STOP".
  8. Соберите файл журнала, расположенный в папке %temp% , с помощью метода Чтения файла журнала , описанного в разделе FileDownload.

EtwLog/Collectors/{CollectorName}

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}

Каждый динамический узел представляет зарегистрированный узел "Сборщик". CSP будет поддерживать сеанс трассировки трассировки трассировки windows для этого сборщика с его именем, используемым в качестве уникального идентификатора. В сборщике можно зарегистрировать и отменить регистрацию допустимого поставщика трассировки событий Windows. Связанный с сборщиком сеанс трассировки включает зарегистрированных поставщиков в нем, если поставщик находится в состоянии "Включено". Состояние каждого поставщика, уровень трассировки и ключевые слова можно контролировать отдельно. Имя этого узла не должно быть допустимым именем канала событий Windows. Это может быть guid поставщика etw, если он не равен уже зарегистрированным имени узла "Поставщик".

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Добавление, удаление, получение
Динамическое именование узлов ServerGeneratedUniqueIdentifier

Примеры:

  • Добавление сборщика

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Удаление сборщика

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB

Этот узел используется для установки или получения предельного размера файла журнала трассировки (в мегабайтах) для сеанса трассировки, связанного с этим узлом сборщика. Диапазон значений — 1~2048. Значение по умолчанию — 4.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получение, замена
Допустимые значения Диапазон: [1-2048]
Значение по умолчанию 4
EtwLog/Collectors/{CollectorName}/Providers
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers

Корневой узел всех поставщиков, зарегистрированных в этом узле сборщика.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}

Каждый динамический узел представляет поставщика ETW, зарегистрированного в этом узле сборщика. Имя узла должно быть допустимым GUID поставщика.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Добавление, удаление, получение
Динамическое именование узлов UniqueName: имя узла должно быть допустимым GUID поставщика.

Примеры:

  • Добавьте поставщика:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Удаление поставщика:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords

Этот узел используется для задания или получения ключевых слов поставщика событий в сеансе трассировки, связанном с этим узлом сборщика. Строка имеет вид шестнадцатеричных цифр и ширины 16 символов. Он будет преобразован в тип данных ULONGLONG в CSP. Значение по умолчанию — "0", что означает, что включены все события от этого поставщика. Если связанный сеанс трассировки выполняется, параметр новых ключевых слов применяется немедленно; Если нет, он будет применен при следующем запуске сеанса.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Получение, замена
Значение по умолчанию "0"

Примеры:

  • Получение ключевых слов поставщика:

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>
        <Get>
          <CmdID>1</CmdID>
          <Item>
            <Target>
              <LocURI>
                ./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/Keywords
              </LocURI>
            </Target>
          </Item>
        </Get>
        <Final/>
      </SyncBody>
    </SyncML>
    
  • Задать ключевые слова поставщика:

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>
        <Replace>
          <CmdID>4</CmdID>
          <Item>
            <Target>
              <LocURI>
                ./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/Keywords
              </LocURI>
            </Target>
            <Meta>
              <Format xmlns="syncml:metinf">chr</Format>
              <Type>text/plain</Type>
            </Meta>
            <Data>12345678FFFFFFFF</Data>
          </Item>
        </Replace>
        <Final/>
      </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/providers/{ProviderGuid}/State
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State

Этот узел используется для задания или получения состояния поставщика событий в сеансе трассировки, связанном с этим узлом сборщика. Если сеанс трассировки не запущен, изменение значения определяет, следует ли включать поставщик при запуске сеанса; Если сеанс трассировки уже запущен, изменение его значения приводит к включению или отключению поставщика в сеансе динамической трассировки. Значение по умолчанию — true.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат bool
Тип доступа Получение, замена
Значение по умолчанию true

Допустимые значения:

Значение Описание
true (по умолчанию) Поставщик включен в сеансе трассировки. Это значение по умолчанию.
false Поставщик отключен в сеансе трассировки.

Пример:

Задать состояние поставщика:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Replace>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/State</LocURI>
                </Target>
                <Meta>
                    <Format xmlns="syncml:metinf">bool</Format>
                </Meta>
                <Data>false</Data>
            </Item>
        </Replace>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel

Этот узел используется для задания или получения уровня трассировки этого поставщика событий в сеансе трассировки, связанном с этим узлом сборщика. Значение по умолчанию — 5, то есть TRACE_LEVEL_VERBOSE. Если связанный сеанс трассировки выполняется, новый параметр уровня трассировки применяется немедленно. Если нет, он будет применен при следующем запуске сеанса.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получение, замена
Значение по умолчанию 5

Допустимые значения:

Значение Описание
1 TRACE_LEVEL_CRITICAL — аномальные события выхода или завершения.
2 TRACE_LEVEL_ERROR — серьезные события ошибок.
3 TRACE_LEVEL_WARNING — предупреждающие события, такие как сбои выделения.
4 TRACE_LEVEL_INFORMATION — события без ошибок, такие как события входа или выхода.
5 (по умолчанию) TRACE_LEVEL_VERBOSE — подробные сведения.

Пример:

Задайте для поставщика TraceLevel:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Replace>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/TraceLevel</LocURI>
                </Target>
                <Meta>
                    <Format xmlns="syncml:metinf">int</Format>
                </Meta>
                <Data>1</Data>
            </Item>
        </Replace>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Collectors/{CollectorName}/TraceControl
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceControl

Этот узел активирует "start" и "stop" сеанса трассировки, связанного с этим узлом сборщика. "Get" возвращает имя этого узла.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Exec, Get

Допустимые значения:

Значение Описание
СТАРТ Запустите трассировку журналов.
STOP Остановите трассировку журналов.

Примеры:

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

  • Запуск ведения журнала трассировки сборщика:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Exec>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/TraceControl</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>START</Data>
                </Item>
            </Exec>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Остановить ведение журнала трассировки сборщика:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Exec>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/TraceControl</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>STOP</Data>
                </Item>
            </Exec>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/TraceLogFileMode
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceLogFileMode

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

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получение, замена
Значение по умолчанию 1

Допустимые значения:

Значение Описание
1 (по умолчанию) последовательно EVENT_TRACE_FILE_MODE_SEQUENTIAL-Writes события в файл журнала. Он останавливается, когда файл достигает максимального размера.
2 EVENT_TRACE_FILE_MODE_CIRCULAR-Writes события в файл журнала. После достижения максимального размера файла самые старые события заменяются входящими событиями.
EtwLog/Collectors/{CollectorName}/TraceStatus
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceStatus

Этот узел используется для получения состояния сеанса трассировки, связанного с этим узлом сборщика. 1 означает "выполняется"; 0 означает "не запущено или остановлено".

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получите

FileСкачать

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload

Корневой узел всех узлов CSP, связанных с загрузкой файла журнала в CSP.

Функция FileDownload поставщика служб диагностики DiagnosticLog позволяет серверу управления извлекать данные непосредственно с устройства. В контексте FileDownload роли клиента и сервера концептуально обратные, при этом сервер управления выступает в качестве клиента для скачивания данных с управляемого устройства.

Чтение файла журнала:

  1. Перечислите файл журнала в разделе ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel.
  2. Выберите файл журнала в результате перечисления.
  3. Установите ограничение полезной нагрузки BlockSizeKB на сервер DM.
  4. Получение BlockCount для определения общего числа запросов на чтение.
  5. Задайте параметр BlockIndexToRead для инициализации начальной точки чтения.
  6. Получение blockData для отправки блока журнала.
  7. Увеличение blockIndexToRead.
  8. Повторите шаги 5–7, пока не будет БлокироватьIndexToRead == (BlockIndexToRead – 1).

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

FileDownload/DMChannel

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel

Корневой узел всех узлов csp, которые используются для управления загрузкой файлов для связанного файла журнала, созданного при ведении журнала узлов CSP.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

FileDownload/DMChannel/{FileContext}

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}

Каждый динамический узел представляет узел FileContext, соответствующий файлу журнала, созданному одним из узлов CSP ведения журнала (под узлом EtwLog). Имя узла должно быть именем зарегистрированного узла "Поставщик", "Сборщик" или "Канал". Файл журнала и его расположение будут определяться CSP на основе имени узла. Скачивание файла выполняется путем разделения файла журнала на несколько блоков с настроенным размером блока, а затем отправки блоков по запросу сервера MDM.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите
Динамическое именование узлов UniqueName: имя узла должно быть именем зарегистрированного узла "Поставщик", "Сборщик" или "Канал".
FileDownload/DMChannel/{FileContext}/BlockCount
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockCount

Этот узел используется для получения общего количества блоков для связанного файла журнала. Если файл журнала еще не создан, возвращаемое значение равно -1; Если сеанс трассировки выполняется, возвращаемое значение равно -2.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получите

Пример:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockCount</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
FileDownload/DMChannel/{FileContext}/BlockData
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockData

Этот узел используется для получения двоичных данных блока, на который указывает узел BlockIndexToRead.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат b64
Тип доступа Получите

Пример:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockData</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
FileDownload/DMChannel/{FileContext}/blockIndexToRead
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockIndexToRead

Этот узел используется для задания и получения индекса блока, указывающего на блок данных для узла BlockData. Диапазон значений — 0~(BlockCount-1).

Пример:

  • Задайте параметр BlockIndexToRead в 0:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockIndexToRead</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>0</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Задайте для BlockIndexToRead значение 1:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockIndexToRead</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>1</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получение, замена
FileDownload/DMChannel/{FileContext}/BlockSizeKB
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockSizeKB

Этот узел используется для установки или получения размера блока (в килобайтах) для скачивания файла журнала с связыванием. Диапазон значений — от 1 до 16. Значение по умолчанию — 4.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Получение, замена
Допустимые значения Диапазон: [1-16]
Значение по умолчанию 4

Примеры:

  • Задать BlockSizeKB:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockSizeKB</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>1</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • Получить BlockSizeKB:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Get>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockSizeKB</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final/>
        </SyncBody>
    </SyncML>
    
FileDownload/DMChannel/{FileContext}/DataBlocks
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks

Корневой узел всех узлов BlockNumber для связанного файла журнала. Число его дочерних элементов должно быть общим числом блоков файла журнала. Дочерние узлы не существуют, если значение узла BlockCount меньше 0.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите
FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1511 [10.0.10586] и более поздние версии
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}

Каждый динамический узел представляет узел BlockNumber. Имя узла — это целое число, равное индексу блока, который обозначает этот узел. Поэтому имя узла должно находиться в диапазоне от 0 до (BlockCount -1). Он возвращает двоичные данные блока, на который ссылается этот узел.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат b64
Тип доступа Получите
Динамическое именование узлов ClientInventory

Политика

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy

Содержит политику для параметров диагностики.

Его можно использовать для настройки политик журнала событий Windows, таких как максимальный размер журнала.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

Политика и каналы

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels

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

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Получите

Policy/Channels/{ChannelName}

Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}

Каждый динамический узел представляет зарегистрированный узел Channel. Имя узла должно быть допустимым именем канала журнала событий Windows, например Microsoft-Client-Licensing-Platform%2FAdmin. При указании имени в LocURI оно должно быть закодировано в URL-адресе, иначе оно будет неожиданно преобразовано в другой URI.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат node
Тип доступа Добавление, удаление, получение
Динамическое именование узлов UniqueName. Имя узла должно быть допустимым именем канала журнала событий Windows, например Microsoft-Client-Licensing-Platform%2FAdmin. При указании имени в LocURI оно должно быть закодировано в URL-адресе, в противном случае оно может неожиданно преобразоваться в другой URI.

Примеры:

  • Добавление канала

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>2</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">node</Format>​
              <Type></Type>​
            </Meta>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Удалить канал

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>3</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Получение канала

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>4</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/ActionWhenFull
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/ActionWhenFull

Действие, выполняеме, когда файл журнала достигает максимального размера. "Усечение", "Перезапись", "Архив".

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

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Добавить, удалить, получить, заменить

Допустимые значения:

Значение Описание
Усечение Когда файл журнала достигает максимального размера, новые события не записываются в журнал и теряются.
Перезапись Когда файл журнала достигает максимального размера файла, новые события перезаписывают старые события.
Archive Когда файл журнала достигает максимального размера, файл журнала сохраняется в расположении, указанном параметром политики "Расположение архива". Если значение расположения архива не задано, новый файл сохраняется в том же каталоге, что и текущий файл журнала.

Примеры:

  • Добавление ActionWhenFull

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>14</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>Archive</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Удалить ActionWhenFull

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>15</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Get ActionWhenFull

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>13</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Replace ActionWhenFull

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>16</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>Truncate</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Политика,каналы/{имя_канала}/Включено
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/Enabled

Этот параметр политики указывает, следует ли включать или отключать канал. Задайте значение TRUE, чтобы включить, и ЗНАЧЕНИЕ FALSE для отключения.

Если этот параметр политики отключен или не настроен, по умолчанию используется локально настроенное значение.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат bool
Тип доступа Добавить, удалить, получить, заменить

Допустимые значения:

Значение Описание
true Включает канал.
false Отключает канал.

Примеры:

  • Добавить включено

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>18</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">bool</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>TRUE</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Удаление включено

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>19</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Get Enabled (Получить включено)

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>17</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Замена включена

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>20</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">bool</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>FALSE</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/MaximumFileSize
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/MaximumFileSize

Максимальный размер файла журнала канала в МБ.

  • Если этот параметр политики включен, можно настроить максимальный размер файла журнала в диапазоне от 1 мегабайта до 2 тб с шагом в мегабайтах.
  • Если этот параметр политики отключен или не настроен, максимальный размер файла журнала будет иметь локально настроенное значение. Это значение может быть изменено локальным администратором с помощью диалогового окна Свойства журнала. По умолчанию оно равно 1 мегабайту.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат int
Тип доступа Добавить, удалить, получить, заменить
Допустимые значения Диапазон: [1-2000000]
Значение по умолчанию 1

Примеры:

  • Добавление maximumFileSize

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>6</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">int</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>3</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Удаление maximumFileSize

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>7</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Получение maximumFileSize

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>5</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Замена MaximumFileSize

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>8</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">int</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>5</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/SDDL
Область применения Выпуски Применимая ОС
Устройство ✅
Пользователь ❌
✅ Pro
✅ Enterprise
✅ для образования
✅ Windows SE
✅ IIoT Enterprise или IoT Enterprise LTSC
✅Windows 10, версия 1903 [10.0.18362] и более поздние
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/SDDL

Строка SDDL, управляющая доступом к каналу. Дополнительные сведения см. в статье Сложный тип ChannelType.

Описание свойств инфраструктуры:

Имя свойства Значение свойства
Формат chr (строка)
Тип доступа Добавить, удалить, получить, заменить
С учетом регистра True

Примеры:

  • Добавление SDDL

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>10</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>YourSDDL</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Удаление SDDL

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>11</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Получение SDDL

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>9</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Замена SDDL

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>12</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>YourNewSDDL</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    

Сравнение FileDownload и DiagnosticArchive

Функции FileDownload и DiagnosticArchive можно использовать для получения данных с устройства на сервер управления, но они оптимизированы для различных рабочих процессов.

  • FileDownload позволяет серверу управления напрямую извлекать данные трассировки на уровне байтов с управляемого устройства. Передача данных осуществляется через существующий контекст OMA-DM/SyncML. Он используется вместе с функцией EtwLogs как часть расширенного потока мониторинга или диагностики. FileDownlod требует детализированной оркестрации сервером управления, но позволяет избежать необходимости в выделенном облачном хранилище.
  • DiagnosticArchive позволяет серверу управления предоставить CSP полный набор инструкций в виде одной команды. На основе этих инструкций поставщик служб CSP управляет работой на стороне клиента, чтобы упаковать запрошенные диагностические файлы в ZIP-архив и передать этот архив в облачное хранилище. Передача данных происходит за пределами сеанса OMA-DM через HTTP PUT.

Как просмотреть ArchiveResults

ZIP-архив, созданный и отправляемый ArchiveResults , содержит структуру папок, как показано в следующем примере:

PS C:\> dir C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z

    Directory: C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
la---            1/4/2021  2:45 PM                1
la---            1/4/2021  2:45 PM                2
la---           12/2/2020  6:27 PM           2701 results.xml

Каждая директива сбора данных из исходного Collection XML-файла соответствует папке в выходных данных. Например, первая директива была:

<Collection HRESULT="0">
     <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
</Collection>

Затем папка 1 будет содержать соответствующий export.reg файл.

Файл results.xml является достоверным сопоставлением выходных данных. Он содержит код состояния для каждой директивы. Порядок директив в файле соответствует порядку выходных папок. С помощью results.xml администратора можно просматривать, какие данные были собраны, какие сбои могли возникнуть и какие папки содержат выходные данные. Например, следующее results.xml содержимое указывает, что экспорт реестра HKLM\Software\Policies выполнен успешно, и данные можно найти в папке 1. Он также указывает, что netsh.exe wlan show profiles команда завершилась сбоем.

<Collection HRESULT="0">
    <ID>268b3056-8c15-47c6-a1bd-4bc257aef7b2</ID>
    <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
    <Command HRESULT="-2147024895">%windir%\system32\netsh.exe wlan show profiles</Command>
</Collection>

Администраторы могут применить автоматизацию к results.xml, чтобы создать собственные предпочтительные представления данных. Например, следующая однострочная строка PowerShell извлекает из XML упорядоченный список директив с кодом состояния и подробными сведениями.

Select-XML -Path results.xml -XPath '//RegistryKey | //Command | //Events | //FoldersFiles' | Foreach-Object -Begin {$i=1} -Process { [pscustomobject]@{DirectiveNumber=$i; DirectiveHRESULT=$_.Node.HRESULT; DirectiveInput=$_.Node.('#text')} ; $i++}

В этом примере выходные данные похожи на следующие выходные данные:

DirectiveNumber DirectiveHRESULT DirectiveInput
--------------- ---------------- --------------
              1 0                HKLM\Software\Policies
              2 0                HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
              3 0                HKLM\Software\Microsoft\IntuneManagementExtension
              4 0                HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
              5 0                %windir%\system32\ipconfig.exe /all
              6 0                %windir%\system32\netsh.exe advfirewall show allprofiles
              7 0                %windir%\system32\netsh.exe advfirewall show global
              8 -2147024895      %windir%\system32\netsh.exe wlan show profiles

В следующем примере ZIP-архив извлекается в настраиваемую структуру плоских файлов. Каждое имя файла включает номер директивы, HRESULT и т. д. Этот пример можно настроить для выбора различных сведений о том, какие сведения следует включать в имена файлов и какие варианты форматирования следует использовать для специальных символов.

param( $DiagnosticArchiveZipPath = "C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z.zip" )

#region Formatting Choices
$flatFileNameTemplate = '({0:D2}) ({3}) (0x{2:X8})'
$maxLengthForInputTextPassedToOutput = 80
#endregion

#region Create Output Folders and Expand Zip
$diagnosticArchiveTempUnzippedPath = $DiagnosticArchiveZipPath + "_expanded"
if(-not (Test-Path $diagnosticArchiveTempUnzippedPath)){mkdir $diagnosticArchiveTempUnzippedPath}
$reformattedArchivePath = $DiagnosticArchiveZipPath + "_formatted"
if(-not (Test-Path $reformattedArchivePath)){mkdir $reformattedArchivePath}
Expand-Archive -Path $DiagnosticArchiveZipPath -DestinationPath $diagnosticArchiveTempUnzippedPath
#endregion

#region Discover and Move/rename Files
$resultElements = ([xml](Get-Content -Path (Join-Path -Path $diagnosticArchiveTempUnzippedPath -ChildPath "results.xml"))).Collection.ChildNodes | Foreach-Object{ $_ }
$n = 0
foreach( $element in $resultElements )
{
    $directiveNumber = $n
    $n++
    if($element.Name -eq 'ID'){ continue }
    $directiveType = $element.Name
    $directiveStatus = [int]$element.Attributes.ItemOf('HRESULT').psbase.Value
    $directiveUserInputRaw = $element.InnerText
    $directiveUserInputFileNameCompatible = $directiveUserInputRaw -replace '[\\|/\[\]<>\:"\?\*%\.\s]','_'
    $directiveUserInputTrimmed = $directiveUserInputFileNameCompatible.substring(0, [System.Math]::Min($maxLengthForInputTextPassedToOutput, $directiveUserInputFileNameCompatible.Length))
    $directiveSummaryString = $flatFileNameTemplate -f $directiveNumber,$directiveType,$directiveStatus,$directiveUserInputTrimmed
    $directiveOutputFolder = Join-Path -Path $diagnosticArchiveTempUnzippedPath -ChildPath $directiveNumber
    $directiveOutputFiles = Get-ChildItem -Path $directiveOutputFolder -File
    foreach( $file in $directiveOutputFiles)
    {
        $leafSummaryString = $directiveSummaryString,$file.Name -join ' '
        Copy-Item $file.FullName -Destination (Join-Path -Path $reformattedArchivePath -ChildPath $leafSummaryString)
    }
}
#endregion
Remove-Item -Path $diagnosticArchiveTempUnzippedPath -Force -Recurse

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

PS C:\> dir C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z.zip_formatted | format-table Length,Name

  Length Name
  ------ ----
   46640 (01) (HKLM_Software_Policies) (0x00000000) export.reg
  203792 (02) (HKLM_Software_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
  214902 (03) (HKLM_Software_Microsoft_IntuneManagementExtension) (0x00000000) export.reg
  212278 (04) (HKLM_SOFTWARE_WOW6432Node_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
    2400 (05) (_windir__system32_ipconfig_exe__all) (0x00000000) output.log
    2147 (06) (_windir__system32_netsh_exe_advfirewall_show_allprofiles) (0x00000000) output.log
    1043 (07) (_windir__system32_netsh_exe_advfirewall_show_global) (0x00000000) output.log
      59 (08) (_windir__system32_netsh_exe_wlan_show_profiles) (0x80070001) output.log
    1591 (09) (_windir__system32_ping_exe_-n_50_localhost) (0x00000000) output.log
    5192 (10) (_windir__system32_Dsregcmd_exe__status) (0x00000000) output.log

Справочник по поставщикам служб конфигурации