CSP DiagnosticLog

A lista a seguir mostra os nós do provedor de serviços de configuração do DiagnosticLog:

DeviceStateData

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/DeviceStateData

Nó raiz de todos os tipos de dados de estado do dispositivo que o CSP expõe.

A funcionalidade DeviceStateData dentro do CSP do DiagnosticLog fornece informações extras do dispositivo.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

DeviceStateData/MdmConfiguration

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1607 [10.0.14393] e posterior
./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration

Esse nó é para disparar o snap do Gerenciamento de Dispositivos dados de estado com "SNAP".

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Exec, Get

Exemplo:

<?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

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive

Nó raiz para definição e coleção de arquivos.

A funcionalidade DiagnosticArchive dentro do CSP diagnosticLog é usada para disparar dispositivos para coletar dados de solução de problemas em um arquivo zip archive e carregar esse arquivo no armazenamento em nuvem.

DiagnosticArchive foi projetado para cenários de solução de problemas ad hoc, como um administrador de TI que investiga uma falha de instalação do aplicativo usando uma coleção de eventos de log de eventos, valores de registro e arquivos de log do aplicativo ou do sistema operacional.

Observação

DiagnosticArchive é uma opção de backstop "break glass" para solução de problemas do dispositivo. Dados de diagnóstico, como arquivos de log, podem crescer para muitos gigabytes. A coleta, a transferência e o armazenamento de grandes quantidades de dados podem sobrecarregar o dispositivo do usuário, a rede e o armazenamento em nuvem. Os servidores de gerenciamento que invocam o DiagnosticArchive devem ter o cuidado de minimizar a frequência e o escopo da coleta de dados.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

DiagnosticArchive/ArchiveDefinition

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveDefinition

Executar a ação para esse nó aceita um Collection snippet XML (como uma cadeia de caracteres) descrevendo quais dados coletar e onde carregá-los. Os resultados são fechados e carregados no SasUrl especificado. O formato de nome de arquivo com zíper é DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip.

Com Windows 10 KB5011543 e Windows 11 KB5011563, há suporte adicional para um elemento extra que determinará se o arquivo de saída gerado pelo CSP é uma estrutura de pasta achatada, em vez de ter pastas individuais para cada diretiva no XML. O exemplo a seguir mostra um Collection XML:

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

O XML deve incluir os seguintes elementos dentro do Collection elemento:

  • ID: o valor da ID identifica exclusivamente essa solicitação de coleta de dados. Para evitar a repetição acidental da coleta de dados, o CSP ignora as invocações set ou execute subsequentes com o mesmo valor de ID. O CSP espera que o valor seja preenchido quando a solicitação for recebida, portanto, ele deve ser gerado pelo administrador de TI ou pelo servidor de gerenciamento.
  • SasUrl: o valor SasUrl é o URI de destino para o qual o CSP carrega o arquivo zip que contém os dados coletados. É responsabilidade do servidor de gerenciamento provisionar o armazenamento de forma que o servidor de armazenamento aceite a PUT HTTP do dispositivo nessa URL. Por exemplo, o serviço de gerenciamento de dispositivos poderia:
    • Provisionar o armazenamento em nuvem acessível pelo dispositivo de destino, como um contêiner de armazenamento de blobs do Microsoft Azure
    • Gerar uma URL de Assinatura de Acesso Compartilhado concedendo ao possuidor (o dispositivo de destino) acesso de gravação limitado ao contêiner de armazenamento
    • Passe esse valor para o CSP no dispositivo de destino por meio do Collection XML como o SasUrl valor.

Além disso, o XML pode incluir uma ou mais diretivas de coleta de dados, que podem incluir qualquer uma das seguintes:

  • RegistryKey: exporta todos os principais nomes e valores em um determinado caminho (recursivo).

    • Valor de entrada esperado: caminho do Registro, como "HKLM\Software\Policies".
    • Formato de saída: cria um arquivo .reg, semelhante à saída do comando EXPORT reg.exe.
    • Guardrails de privacidade: para habilitar a captura de log de diagnóstico, reduzindo o risco de um administrador de TI capturar inadvertidamente documentos gerados pelo usuário, os caminhos do registro são restritos aos caminhos que estão em HKLM e HKCR.
  • Eventos: exporta todos os eventos do log de eventos do Windows nomeado.

    • Valor de entrada esperado: um canal de log de eventos nomeado, como "Aplicativo" ou "Microsoft-Windows-DeviceGuard/Operational".
    • Formato de saída: cria um arquivo .evtx.
  • Comandos: esse tipo de diretiva permite a execução de comandos específicos, como ipconfig.exe. Observe que as diretivas DiagnosticArchive e Commands não são uma plataforma de script de uso geral. Esses comandos são permitidos no contexto DiagnosticArchive para lidar com casos em que informações críticas do dispositivo podem não estar disponíveis por meio de arquivos de log existentes.

    • Valor de entrada esperado: a linha de comando completa, incluindo caminho e quaisquer argumentos, como %windir%\\system32\\ipconfig.exe /all.
    • Formato de saída: a saída de texto do console do comando é capturada em um arquivo de texto e incluída no arquivo de saída geral. Para comandos que podem gerar saída de arquivo em vez de saída do console, uma diretiva FolderFiles subsequente seria usada para capturar essa saída. O exemplo XML acima demonstra esse padrão com o parâmetro -out do mdmdiagnosticstool.exe.
    • Guardrails de privacidade: para habilitar a captura de dados de diagnóstico, reduzindo o risco de um administrador de TI capturar inadvertidamente documentos gerados pelo usuário, somente os seguintes comandos são permitidos:
      • %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: captura arquivos de log de um determinado caminho (sem recursão).

    • Valor de entrada esperado: caminho de arquivo com ou sem curingas, como "%windir%\System32" ou "%programfiles%\*.log".
    • Guardrails de privacidade: para habilitar a captura de log de diagnóstico, reduzindo o risco de um administrador de TI capturar inadvertidamente documentos gerados pelo usuário, somente os caminhos sob as seguintes raízes são permitidos:
      • %PROGRAMFILES%
      • %PROGRAMDATA%
      • %PUBLIC%
      • %WINDIR%
      • %TEMP%
      • %TMP%
    • Além disso, somente arquivos com as seguintes extensões são capturados:
      • .Log
      • .txt
      • .Dmp
      • .cab
      • .zip
      • .xml
      • .html
      • .Evtx
      • .Etl
  • OutputFileFormat: achata a estrutura de pastas, em vez de ter pastas individuais para cada diretiva no XML.

    • O valor "Achatado" é o único valor com suporte para o OutputFileFormat. Se o OutputFileFormat estiver ausente no XML ou se explicitamente definido como algo diferente de Flattened, ele deixará a estrutura do arquivo na estrutura antiga.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Exec, Get, Replace

DiagnosticArchive/ArchiveResults

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults

Puxe para cima os resultados da última execução de arquivo.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Obter

Exemplo:

Um URI De entrada no URI acima retornará os resultados da coleta de dados para a última solicitação de diagnóstico. Por exemplo:

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

Para saber como ler os dados resultantes, consulte Como revisar ArchiveResults.

EtwLog

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog

Nó raiz de todos os tipos de nós de registro em log de eventos que o CSP gerencia.

O recurso de log do ETW (Rastreamento de Eventos para Windows) do CSP do DiagnosticLog é usado para controlar os seguintes tipos de rastreamento de eventos:

O recurso de log do ETW foi projetado para uso avançado e pressupõe a familiaridade dos desenvolvedores com o ETW. Para obter mais informações, consulte Sobre rastreamento de eventos.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

EtwLog/Channels

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels

Nó raiz de nós "Canal" registrados.

O tipo de rastreamento de eventos exporta dados de eventos de um canal específico. Os usuários podem adicionar ou excluir um nó de canal usando o nome completo, como Microsoft-Windows-AppModel-Runtime/Administração.

O CSP do DiagnosticLog mantém um arquivo de log para cada nó de canal e o arquivo de log será substituído se um comando iniciar for disparado novamente no mesmo nó de canal.

Para cada nó de canal, o usuário pode:

  • Exportar dados de evento de canal para um arquivo de log (.evtx).
  • Habilite ou desabilite o canal do serviço de Log de Eventos para permitir ou desautorizar a gravação de dados de eventos no canal.
  • Especifique uma consulta XPath para filtrar eventos durante a exportação dos dados de evento do canal.

Para obter mais informações sobre como usar o DiagnosticLog para coletar logs remotamente de um computador ou dispositivo móvel, consulte Coletar logs MDM.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

EtwLog/Channels/{ChannelName}

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}

Cada nó dinâmico representa um nó "Canal" registrado. O nome do nó deve ser um nome válido do canal de log de eventos do Windows, por exemplo, "Microsoft-Client-Licensing-Platform%2FAdmin". Ao especificar o nome no LocURI, ele deve ser codificado por url ou será convertido em um URI diferente inesperadamente.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Adicionar, Excluir, Obter
Nomenclatura de nó dinâmico UniqueName: o nome do nó deve ser um nome válido do canal de log de eventos do Windows, como "Microsoft-Client-Licensing-Platform%2FAdmin"

Exemplos:

  • Adicionar um canal

    <?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>
    
  • Excluir um canal

    <?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Export

Esse nó é para disparar a exportação de eventos para um arquivo de log do canal de eventos do Windows associado a esse nó. A extensão do arquivo de log é .evtx, que é a extensão padrão do log do canal de eventos do Windows. O comando "Obter" retorna o nome desse nó.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato null
Tipo de acesso Exec, Get

Exemplo:

<?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Filter

Esse nó é usado para definir ou obter a cadeia de caracteres de consulta xpath para filtrar os eventos ao exportar o arquivo de log do canal. O valor padrão é uma cadeia de caracteres vazia.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Obter, Substituir
Valor Padrão ""

Exemplo:

<?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/State

Esse nó é usado para definir ou obter o estado "Habilitado" do canal de eventos windows associado desse nó no sistema. Defini-lo como "TRUE" habilita o canal; defini-lo como "FALSE" desabilita o canal.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato bool
Tipo de acesso Obter, Substituir

Valores Permitidos:

Valor Descrição
true O canal está habilitado.
false O canal está desabilitado.

Exemplos:

  • Obter estado do canal:

    <?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>
    
  • Definir estado do canal:

    <?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/Coletores

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors

Nó raiz de nós "Coletor" registrados.

Esse tipo de rastreamento de eventos coleta dados de eventos de uma coleção de provedores ETW registrados. Um coletor de eventos é um contêiner de provedores ETW registrados. Os usuários podem adicionar ou excluir um nó de coletor e registrar ou cancelar o registro de vários provedores neste coletor.

O {CollectorName} deve ser exclusivo dentro do CSP e não deve ser um nome de canal de evento válido ou um GUID do provedor.

O CSP do DiagnosticLog mantém um arquivo de log para cada nó de coletor e o arquivo de log será substituído se um comando inicial for disparado novamente no mesmo nó de coletor.

Para cada nó de coletor, o usuário pode:

  • Inicie ou interrompa a sessão com todos os provedores registrados e habilitados.
  • Sessão de consulta status.
  • Alterar o modo de arquivo de log de rastreamento.
  • Alterar o limite de tamanho do arquivo de log de rastreamento.

O modo de arquivo de log de configurações e o limite de tamanho do arquivo de log não fazem efeito enquanto a sessão de rastreamento está em andamento. Esses atributos são aplicados quando o usuário interrompe a sessão atual e, em seguida, inicia-a novamente para esse coletor.

Para cada provedor registrado neste coletor, o usuário pode:

  • Especifique palavras-chave para filtrar eventos desse provedor.
  • Altere o nível de rastreamento para filtrar eventos desse provedor.
  • Habilite ou desabilite o provedor na sessão de rastreamento.

As alterações em Estado, Palavras-chave e TraceLevel entrarão em vigor imediatamente enquanto a sessão de rastreamento está em andamento.

Observação

Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) tem os arquivos de recursos de depuração necessários embutidos no Windows, o que permitirá que os arquivos de logs sejam decodificados no computador remoto. Qualquer outro log pode não ter os recursos de depuração necessários para decodificar.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

Exemplo:

Para reunir diagnóstico usando este CSP:

  1. Especifique um CollectorName para o contêiner dos provedores ETW de destino.
  2. (Opcional) Defina parâmetros de arquivo de log e log usando as seguintes opções:
  3. Indique um ou mais provedores ETW de destino fornecendo seu ProviderGUID para a operação Adicionar de EtwLog/Collectors/CollectorName/Providers/ProviderGUID.
  4. (Opcional) Defina parâmetros de arquivo de log e log usando as seguintes opções:
  5. Inicie o registro em log usando o comando TRACEControl EXECUTE "START".
  6. Execute ações no dispositivo de destino que gerarão atividade nos arquivos de log.
  7. Pare o registro em log usando o comando TRACEControl EXECUTE "STOP".
  8. Colete o arquivo de log localizado na %temp% pasta usando o método Leitura de um arquivo de log descrito em FileDownload.

EtwLog/Collectors/{CollectorName}

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}

Cada nó dinâmico representa um nó "Coletor" registrado. O CSP manterá uma sessão de rastreamento ETW para esse coletor com seu nome usado como um identificador exclusivo. Em um coletor, um provedor ETW válido pode ser registrado e não registrado. A sessão de rastreamento associada do coletor habilitará os provedores registrados nela se o estado do provedor estiver "Habilitado". O estado, o nível de rastreamento e as palavras-chave de cada provedor podem ser controlados separadamente. O nome desse nó não deve ser um nome válido do canal de eventos do Windows. Ele pode ser um guia de provedor de etw desde que não seja igual a um nome de nó 'Provedor' já registrado.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Adicionar, Excluir, Obter
Nomenclatura de nó dinâmico ServerGeneratedUniqueIdentifier

Exemplos:

  • Adicionar um coletor

    <?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>
    
  • Excluir um coletor

    <?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB

Esse nó é usado para definir ou obter o limite de tamanho do arquivo de log de rastreamento (em Megabytes) da sessão de rastreamento associada desse nó de coletor. O intervalo de valor é 1~2048. O valor padrão é 4.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter, Substituir
Valores Permitidos Gama: [1-2048]
Valor Padrão 4
EtwLog/Collectors/{CollectorName}/Providers
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers

Nó raiz de todos os provedores registrados neste nó de coletor.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}

Cada nó dinâmico representa um provedor ETW registrado neste nó de coletor. O nome do nó deve ser um GUID de provedor válido.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Adicionar, Excluir, Obter
Nomenclatura de nó dinâmico UniqueName: o nome do nó deve ser um GUID de provedor válido.

Exemplos:

  • Adicionar um provedor:

    <?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>
    
  • Excluir um provedor:

    <?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords

Esse nó é usado para definir ou obter as palavras-chave do provedor de eventos na sessão de rastreamento associada desse nó de coletor. A cadeia de caracteres está na forma de dígitos hexadecimal e 16 chars de largura. Ele será convertido internamente no tipo de dados ULONGLONG no CSP. O valor padrão é "0", o que significa que todos os eventos desse provedor estão incluídos. Se a sessão de rastreamento associada estiver em andamento, a nova configuração de palavras-chave será aplicada imediatamente; se não, ele será aplicado na próxima vez que a sessão for iniciada.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Obter, Substituir
Valor Padrão "0"

Exemplos:

  • Obter palavras-chave do provedor:

    <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>
    
  • Definir palavras-chave do provedor:

    <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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State

Esse nó é usado para definir ou obter o estado do provedor de eventos na sessão de rastreamento associada desse nó de coletor. Se a sessão de rastreamento não for iniciada, altere os controles de valor para habilitar ou não o provedor quando a sessão for iniciada; se a sessão de rastreamento já estiver iniciada, alterar seu valor causará habilitação ou desabilitação do provedor na sessão de rastreamento ao vivo. O valor padrão é verdadeiro.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato bool
Tipo de acesso Obter, Substituir
Valor Padrão true

Valores Permitidos:

Valor Descrição
true (Padrão) O provedor está habilitado na sessão de rastreamento. Esse é o padrão.
false O provedor está desabilitado na sessão de rastreamento.

Exemplo:

Definir estado do provedor:

<?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel

Esse nó é usado para definir ou obter o nível de rastreamento desse provedor de eventos na sessão de rastreamento associada desse nó de coletor. O valor padrão é 5, que é TRACE_LEVEL_VERBOSE. Se a sessão de rastreamento associada estiver em andamento, a nova configuração de nível de rastreamento será aplicada imediatamente; se não, ele será aplicado na próxima vez que a sessão for iniciada.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter, Substituir
Valor Padrão 5

Valores Permitidos:

Valor Descrição
1 TRACE_LEVEL_CRITICAL – Eventos anormais de saída ou término.
2 TRACE_LEVEL_ERROR – Eventos de erro graves.
3 TRACE_LEVEL_WARNING – Eventos de aviso, como falhas de alocação.
4 TRACE_LEVEL_INFORMATION – eventos sem erro, como eventos de entrada ou saída.
5 (Padrão) TRACE_LEVEL_VERBOSE – Informações detalhadas.

Exemplo:

Definir o provedor 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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceControl

Esse nó é para disparar "iniciar" e "parar" da sessão de rastreamento associada desse nó de coletor. "Get" retorna o nome desse nó.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Exec, Get

Valores Permitidos:

Valor Descrição
INICIAR Iniciar o rastreamento de log.
STOP Parar o rastreamento de log.

Exemplos:

Depois de adicionar uma tarefa de log, você pode iniciar/parar um rastreamento executando um comando Execute neste nó.

  • Iniciar o registro em log de rastreamento do coletor:

    <?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>
    
  • Parar o registro em log de rastreamento do coletor:

    <?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceLogFileMode

Esse nó é usado para definir ou obter o modo de arquivo de log de rastreamento da sessão de rastreamento associada desse nó de coletor. Os dois únicos valores permitidos são 1 e 2, que são EVENT_TRACE_FILE_MODE_SEQUENTIAL e EVENT_TRACE_FILE_MODE_CIRCULAR. O valor padrão é 1.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter, Substituir
Valor Padrão 1

Valores Permitidos:

Valor Descrição
1 (Padrão) EVENT_TRACE_FILE_MODE_SEQUENTIAL-Writes eventos para um arquivo de log sequencialmente. Ele para quando o arquivo atinge seu tamanho máximo.
2 EVENT_TRACE_FILE_MODE_CIRCULAR-Writes eventos em um arquivo de log. Depois que o arquivo atinge o tamanho máximo, os eventos mais antigos são substituídos por eventos de entrada.
EtwLog/Collectors/{CollectorName}/TraceStatus
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceStatus

Esse nó é usado para obter o status da sessão de rastreamento associada desse nó de coletor. 1 significa "em andamento"; 0 significa "não iniciado ou parado".

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter

Filedownload

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload

Nó raiz de todos os nós csp relacionados ao download de arquivo de log no csp.

O recurso FileDownload do CSP do DiagnosticLog permite que um servidor de gerenciamento puxe dados diretamente do dispositivo. No contexto FileDownload, as funções cliente e servidor são conceitualmente revertidas, com o servidor de gerenciamento agindo como um cliente para baixar os dados do dispositivo gerenciado.

Lendo um arquivo de log:

  1. Enumera o arquivo de log em ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel.
  2. Selecione um arquivo de log no resultado da Enumeração.
  3. Defina BlockSizeKB por limitação de carga do servidor DM.
  4. Obtenha BlockCount para determinar a solicitação total de leitura.
  5. Defina BlockIndexToRead para inicializar o ponto de partida de leitura.
  6. Obtenha BlockData para carregar o bloco de log.
  7. Aumentar BlockIndexToRead.
  8. Repita as etapas 5 a 7 até BlockIndexToRead == (BlockIndexToRead – 1).

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

FileDownload/DMChannel

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel

Nó raiz de todos os nós csp que são usados para controlar o download de arquivos para o arquivo de log associado gerado pelo registro em log de nós csp.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

FileDownload/DMChannel/{FileContext}

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}

Cada nó dinâmico representa um nó 'FileContext' correspondente a um arquivo de log gerado por um dos nós CSP de log (em baixo do nó 'EtwLog'). O nome do nó deve ser o nome de um nó "Provedor", "Coletor" ou "Canal" registrado. O arquivo de log e sua localização serão determinados pelo CSP com base no nome do nó. O download do arquivo é feito dividindo o arquivo de log em vários blocos de tamanho de bloco configurado e enviando os blocos conforme solicitado pelo servidor MDM.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter
Nomenclatura de nó dinâmico UniqueName: o nome do nó deve ser o nome de um nó registrado 'Provider', 'Collector' ou 'Channel'.
FileDownload/DMChannel/{FileContext}/BlockCount
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockCount

Esse nó é usado para obter o número total de blocos para o arquivo de log associado. Se o arquivo de log ainda não for gerado, o valor retornado será -1; se a sessão de rastreamento estiver em andamento, o valor retornado será -2.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter

Exemplo:

<?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockData

Esse nó é usado para obter os dados binários do bloco ao qual o nó 'BlockIndexToRead' está apontando.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato b64
Tipo de acesso Obter

Exemplo:

<?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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockIndexToRead

Esse nó é usado para definir e obter o índice de bloco que aponta para o bloco de dados para o nó 'BlockData'. O intervalo de valor é 0~(BlockCount-1).

Exemplo:

  • Defina BlockIndexToRead em 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>
    
  • Defina BlockIndexToRead em 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>
    

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter, Substituir
FileDownload/DMChannel/{FileContext}/BlockSizeKB
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockSizeKB

Esse nó é usado para definir ou obter o tamanho do bloco (em Kilobytes) para o download do arquivo de log assoicado. O intervalo de valor é 1~16. O valor padrão é 4.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Obter, Substituir
Valores Permitidos Gama: [1-16]
Valor Padrão 4

Exemplos:

  • Definir 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>
    
  • Obter 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
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks

Nó raiz de todos os nós 'BlockNumber' para o arquivo de log associado. O número de seus filhos deve ser a contagem total de blocos do arquivo de log. Nenhum nó filho existirá se o valor do nó 'BlockCount' for menor que 0.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter
FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1511 [10.0.10586] e posterior
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}

Cada nó dinâmico representa um nó 'BlockNumber'. O nome do nó é um inteiro igual ao índice do bloco que esse nó representa. Portanto, o nome do nó deve estar variando de 0 a (BlockCount -1). Ele retorna os dados binários do bloco ao qual esse nó está se referindo.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato b64
Tipo de acesso Obter
Nomenclatura de nó dinâmico ClientInventory

Política

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy

Contém política para configurações de diagnóstico.

Isso pode ser usado para configurar políticas de log de eventos do Windows, como o tamanho máximo do log.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

Política/Canais

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels

Contém política para configurações de canal do Log de Eventos.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Obter

Política/Canais/{ChannelName}

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}

Cada nó dinâmico representa um nó "Canal" registrado. O nome do nó deve ser um nome válido do canal de log de eventos do Windows, por exemplo, "Microsoft-Client-Licensing-Platform%2FAdmin". Ao especificar o nome no LocURI, ele deve ser codificado por url ou será convertido em um URI diferente inesperadamente.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato node
Tipo de acesso Adicionar, Excluir, Obter
Nomenclatura de nó dinâmico UniqueName: o nome do nó deve ser um nome válido do canal de log de eventos do Windows, como Microsoft-Client-Licensing-Platform%2FAdmin. Ao especificar o nome no LocURI, ele deve ser codificado por URL, caso contrário, pode se traduzir inesperadamente em um URI diferente.

Exemplos:

  • Adicionar Canal

    <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>
    
  • Excluir Canal

    <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>
    
  • Obter Canal

    <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>
    
Política/Canais/{ChannelName}/ActionWhenFull
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/ActionWhenFull

Ação a ser executada quando o arquivo de log atingir o tamanho máximo. "Truncate", "Overwrite", "Archive".

Se você desabilitar ou não configurar essa configuração de política, o valor configurado localmente será usado como padrão. Cada canal instalado, seja na caixa de entrada ou por ISVs, é responsável por definir sua própria configuração local e essa configuração pode ser alterada por qualquer administrador. Os valores são definidos por meio dessa substituição de política, mas não substituem a configuração local.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Adicionar, Excluir, Obter, Substituir

Valores Permitidos:

Valor Descrição
Truncar Quando o arquivo de log atinge o tamanho máximo do arquivo, novos eventos não são gravados no log e são perdidos.
Overwrite Quando o arquivo de log atinge o tamanho máximo do arquivo, novos eventos substituem eventos antigos.
Archive Quando o arquivo de log atinge seu tamanho máximo, o arquivo de log é salvo no local especificado pela configuração da política "Local do Arquivo". Se o valor do local do arquivo não for definido, o novo arquivo será salvo no mesmo diretório que o arquivo de log atual.

Exemplos:

  • Adicionar 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>
    
  • Excluir 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>
    
  • Obter 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>
    
  • Substituir 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>
    
Política/Canais/{ChannelName}/Habilitado
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/Enabled

Essa configuração de política especifica se o canal deve estar habilitado ou desabilitado. Defina o valor como TRUE para habilitar e FALSE para desabilitar.

Se você desabilitar ou não configurar essa configuração de política, o valor configurado localmente será usado como padrão.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato bool
Tipo de acesso Adicionar, Excluir, Obter, Substituir

Valores Permitidos:

Valor Descrição
true Habilita o canal.
false Desabilita o canal.

Exemplos:

  • Adicionar Habilitado

    <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>
    
  • Excluir Habilitado

    <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>
    
  • Habilitar

    <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>
    
  • Substituir Habilitado

    <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>
    
Política/Canais/{ChannelName}/MaximumFileSize
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/MaximumFileSize

Tamanho máximo do arquivo de log de canal no MB.

  • Se você habilitar essa configuração de política, poderá configurar o tamanho máximo do arquivo de log entre 1 megabyte e 2 terabytes em incrementos de megabyte.
  • Se você desabilitar ou não configurar essa configuração de política, o tamanho máximo do arquivo de log será definido como o valor configurado localmente. Esse valor pode ser alterado pelo administrador local usando a caixa de diálogo Propriedades do Log e ele é padrão para 1 megabyte.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato int
Tipo de acesso Adicionar, Excluir, Obter, Substituir
Valores Permitidos Gama: [1-2000000]
Valor Padrão 1

Exemplos:

  • Adicionar 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>
    
  • Excluir 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>
    
  • Obter 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>
    
  • Substituir 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>
    
Política/Canais/{ChannelName}/SDDL
Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1903 [10.0.18362] e posterior
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/SDDL

SDDL String controlando o acesso ao canal. Para obter mais informações, consulte Tipo Complexo do ChannelType.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
Tipo de acesso Adicionar, Excluir, Obter, Substituir
Confidencial de Caso True

Exemplos:

  • Adicionar 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>
    
  • Excluir 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>
    
  • Obter 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>
    
  • Substituir o 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>
    

Comparando FileDownload e DiagnosticArchive

Os recursos FileDownload e DiagnosticArchive podem ser usados para obter dados do dispositivo para o servidor de gerenciamento, mas são otimizados para fluxos de trabalho diferentes.

  • FileDownload permite que o servidor de gerenciamento puxe diretamente dados de rastreamento no nível do byte do dispositivo gerenciado. A transferência de dados ocorre por meio do contexto OMA-DM/SyncML existente. Ele é usado junto com o recurso EtwLogs como parte de um fluxo avançado de monitoramento ou diagnóstico. FileDownlod requer orquestração granular pelo servidor de gerenciamento, mas evita a necessidade de armazenamento em nuvem dedicado.
  • DiagnosticArchive permite que o servidor de gerenciamento forneça ao CSP um conjunto completo de instruções como comando único. Com base nessas instruções, o CSP orquestra o lado do cliente de trabalho para empacotar os arquivos de diagnóstico solicitados em um arquivo zip e carregar esse arquivo no armazenamento em nuvem. A transferência de dados acontece fora da sessão OMA-DM, por meio de uma PUT HTTP.

Como revisar ArchiveResults

O arquivo zip criado e carregado pelo ArchiveResults contém uma estrutura de pastas como o exemplo a seguir:

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

Cada diretiva de coleta de dados do XML original Collection corresponde a uma pasta na saída. Por exemplo, a primeira diretiva foi:

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

Em seguida, a pasta 1 conterá o arquivo correspondente export.reg .

O results.xml arquivo é o mapa autoritativo para a saída. Ele inclui um código status para cada diretiva. A ordem das diretivas no arquivo corresponde à ordem das pastas de saída. O uso results.xml do administrador pode ver quais dados foram coletados, quais falhas podem ter ocorrido e quais pastas contêm qual saída. Por exemplo, o conteúdo a seguir results.xml indica que a exportação de registro de HKLM\Software\Policies foi bem-sucedida e os dados podem ser encontrados na pasta 1. Ele também indica que netsh.exe wlan show profiles o comando falhou.

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

Os administradores podem aplicar a automação a 'results.xml' para criar suas próprias exibições preferidas dos dados. Por exemplo, o powershell a seguir extrai do XML uma lista ordenada das diretivas com status código e detalhes.

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++}

Este exemplo produz uma saída semelhante à seguinte saída:

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

O próximo exemplo extrai o arquivo zip em uma estrutura de arquivo achatada personalizada. Cada nome do arquivo inclui o número da diretiva, HRESULT e assim por diante. Este exemplo pode ser personalizado para fazer escolhas diferentes sobre quais informações incluir nos nomes de arquivo e quais opções de formatação devem ser feitas para caracteres especiais.

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

Este script de exemplo produz um conjunto de arquivos semelhante ao seguinte conjunto de arquivos, que pode ser uma exibição útil para um administrador navegar interativamente pelos resultados sem precisar navegar por subpastas ou consultar results.xml repetidamente:

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

Referência de provedor de serviços de configuração