CSP DiagnosticLog
A lista a seguir mostra os nós do provedor de serviços de configuração do DiagnosticLog:
- ./Vendor/MSFT/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 oSasUrl
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
- Valor de entrada esperado: a linha de comando completa, incluindo caminho e quaisquer argumentos, como
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:
- Especifique um CollectorName para o contêiner dos provedores ETW de destino.
- (Opcional) Defina parâmetros de arquivo de log e log usando as seguintes opções:
- Indique um ou mais provedores ETW de destino fornecendo seu ProviderGUID para a operação Adicionar de EtwLog/Collectors/CollectorName/Providers/ProviderGUID.
- (Opcional) Defina parâmetros de arquivo de log e log usando as seguintes opções:
- Inicie o registro em log usando o comando TRACEControl EXECUTE "START".
- Execute ações no dispositivo de destino que gerarão atividade nos arquivos de log.
- Pare o registro em log usando o comando TRACEControl EXECUTE "STOP".
- 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:
- Enumera o arquivo de log em ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel.
- Selecione um arquivo de log no resultado da Enumeração.
- Defina BlockSizeKB por limitação de carga do servidor DM.
- Obtenha BlockCount para determinar a solicitação total de leitura.
- Defina BlockIndexToRead para inicializar o ponto de partida de leitura.
- Obtenha BlockData para carregar o bloco de log.
- Aumentar BlockIndexToRead.
- 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