DiagnosticLog CSP
En la lista siguiente se muestran los nodos del proveedor de servicios de configuración DiagnosticLog:
- ./Vendor/MSFT/DiagnosticLog
DeviceStateData
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/DeviceStateData
Nodo raíz de todos los tipos de datos de estado de dispositivo que expone CSP.
La funcionalidad DeviceStateData dentro del CSP de DiagnosticLog proporciona información adicional del dispositivo.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
DeviceStateData/MdmConfiguration
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1607 [10.0.14393] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration
Este nodo debe desencadenar el ajuste de los datos de estado de Administración de dispositivos con "SNAP".
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Exec, Get |
Ejemplo:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive
Nodo raíz para la definición de archivo y la colección.
La funcionalidad DiagnosticArchive dentro del CSP de DiagnosticLog se usa para desencadenar dispositivos para recopilar datos de solución de problemas en un archivo zip y cargar ese archivo en el almacenamiento en la nube.
DiagnosticArchive está diseñado para escenarios de solución de problemas ad hoc, como un administrador de TI que investiga un error de instalación de una aplicación mediante una colección de eventos de registro de eventos, valores del Registro y archivos de registro de aplicación o sistema operativo.
Nota
DiagnosticArchive es una opción de backstop "break glass" para la solución de problemas de dispositivos. Los datos de diagnóstico, como los archivos de registro, pueden crecer a muchos gigabytes. Recopilar, transferir y almacenar grandes cantidades de datos puede sobrecargar el dispositivo del usuario, la red y el almacenamiento en la nube. Los servidores de administración que invocan DiagnosticArchive deben tener cuidado para minimizar la frecuencia y el ámbito de recopilación de datos.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
DiagnosticArchive/ArchiveDefinition
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveDefinition
La acción Ejecutar para este nodo acepta un Collection
fragmento de código XML (como una cadena) que describe qué datos se van a recopilar y dónde cargarlos. Los resultados se comprimen y cargan en el SasUrl especificado. El formato de nombre de archivo comprimido es DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip
.
Con Windows 10 KB5011543 y Windows 11 KB5011563, hay compatibilidad adicional con un elemento adicional que determinará si el archivo de salida generado por el CSP es una estructura de carpetas planas, en lugar de tener carpetas individuales para cada directiva en el XML. En el ejemplo siguiente se muestra un 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>
El XML debe incluir los siguientes elementos dentro del Collection
elemento :
- Identificador: el valor id. identifica de forma única esta solicitud de recopilación de datos. Para evitar la repetición accidental de la recopilación de datos, el CSP omite las invocaciones Set o Execute posteriores con el mismo valor de identificador. El CSP espera que el valor se rellene cuando se reciba la solicitud, por lo que debe ser generado por el administrador de TI o el servidor de administración.
-
SasUrl: el valor de SasUrl es el URI de destino al que el CSP carga el archivo ZIP que contiene los datos recopilados. Es responsabilidad del servidor de administración aprovisionar el almacenamiento de forma que el servidor de almacenamiento acepte el HTTP PUT del dispositivo en esta dirección URL. Por ejemplo, el servicio de administración de dispositivos podría:
- Aprovisionamiento del almacenamiento en la nube accesible por el dispositivo de destino, como un contenedor de Almacenamiento de blobs de Microsoft Azure
- Generación de una dirección URL de firma de acceso compartido que conceda al poseedor (el dispositivo de destino) acceso de escritura limitado por tiempo al contenedor de almacenamiento
- Pase este valor al CSP del dispositivo de destino a través del
Collection
XML comoSasUrl
valor.
Además, el XML puede incluir una o varias directivas de recopilación de datos, que pueden incluir cualquiera de las siguientes:
RegistryKey: exporta todos los nombres y valores de clave en una ruta de acceso determinada (recursiva).
- Valor de entrada esperado: ruta de acceso del Registro como "HKLM\Software\Policies".
- Formato de salida: crea un archivo .reg, similar a la salida de reg.exe comando EXPORT.
- Barreras de privacidad: para habilitar la captura de registros de diagnóstico y reducir el riesgo de que un administrador de TI capture involuntariamente documentos generados por el usuario, las rutas de acceso del Registro se restringen a las rutas de acceso que se encuentran en HKLM y HKCR.
Eventos: exporta todos los eventos del registro de eventos de Windows con nombre.
- Valor de entrada esperado: canal de registro de eventos con nombre, como "Application" o "Microsoft-Windows-DeviceGuard/Operational".
- Formato de salida: crea un archivo .evtx.
Comandos: este tipo de directiva permite la ejecución de comandos específicos, como ipconfig.exe. Tenga en cuenta que las directivas DiagnosticArchive y Commands no son una plataforma de scripting de uso general. Estos comandos se permiten en el contexto DiagnosticArchive para controlar los casos en los que es posible que la información crítica del dispositivo no esté disponible a través de archivos de registro existentes.
- Valor de entrada esperado: la línea de comandos completa, incluida la ruta de acceso y cualquier argumento, como
%windir%\\system32\\ipconfig.exe /all
. - Formato de salida: la salida de texto de la consola del comando se captura en un archivo de texto y se incluye en el archivo de salida general. Para los comandos que pueden generar la salida de archivo en lugar de la salida de la consola, se usaría una directiva FolderFiles posterior para capturar esa salida. El XML de ejemplo anterior muestra este patrón con el parámetro -out de mdmdiagnosticstool.exe.
- Barreras de privacidad: para habilitar la captura de datos de diagnóstico y reducir el riesgo de que un administrador de TI capture involuntariamente documentos generados por el usuario, solo se permiten los siguientes comandos:
- %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: la línea de comandos completa, incluida la ruta de acceso y cualquier argumento, como
FoldersFiles: captura los archivos de registro de una ruta de acceso determinada (sin recursividad).
- Valor de entrada esperado: ruta de acceso del archivo con o sin caracteres comodín, como "%windir%\System32" o "%programfiles%\*.log".
- Barreras de privacidad: para habilitar la captura de registros de diagnóstico y reducir el riesgo de que un administrador de TI capture involuntariamente documentos generados por el usuario, solo se permiten rutas de acceso bajo las siguientes raíces:
- %PROGRAMFILES%
- %PROGRAMDATA%
- %PUBLIC%
- %WINDIR%
- %TEMP%
- %TMP%
- Además, solo se capturan los archivos con las siguientes extensiones:
- .Registro
- .txt
- .dmp
- .cab
- .zip
- .xml
- .html
- .evtx
- .Etl
OutputFileFormat: aplana la estructura de carpetas, en lugar de tener carpetas individuales para cada directiva en el XML.
- El valor "Aplanado" es el único valor admitido para OutputFileFormat. Si OutputFileFormat está ausente en el XML o si se establece explícitamente en algo distinto de Aplanado, dejará la estructura de archivos en la estructura antigua.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Exec, Get, Replace |
DiagnosticArchive/ArchiveResults
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults
Extraiga los resultados de la última ejecución de archivo.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Obtener |
Ejemplo:
Un uri Get to the above devolverá los resultados de la recopilación de datos para la última solicitud de diagnóstico. Por ejemplo:
<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 obtener información sobre cómo leer los datos resultantes, consulte Revisión de ArchiveResults.
EtwLog
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog
Nodo raíz de todos los tipos de nodos de registro de eventos que administra CSP.
La característica de registro seguimiento de eventos para Windows (ETW) de DiagnosticLog CSP se usa para controlar los siguientes tipos de seguimiento de eventos:
La característica de registro ETW está diseñada para un uso avanzado y supone que los desarrolladores están familiarizados con ETW. Para obtener más información, consulte Acerca del seguimiento de eventos.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
EtwLog/Channels
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels
Nodo raíz de nodos de "canal" registrados.
El tipo de seguimiento de eventos exporta datos de eventos de un canal específico. Los usuarios pueden agregar o eliminar un nodo de canal con el nombre completo, como Microsoft-Windows-AppModel-Runtime/Administración.
DiagnosticLog CSP mantiene un archivo de registro para cada nodo de canal y el archivo de registro se sobrescribe si se desencadena de nuevo un comando de inicio en el mismo nodo de canal.
Para cada nodo de canal, el usuario puede:
- Exportar datos de eventos de canal a un archivo de registro (.evtx).
- Habilite o deshabilite el canal del servicio de registro de eventos para permitir o impedir que se escriban datos de eventos en el canal.
- Especifique una consulta XPath para filtrar eventos al exportar los datos de eventos del canal.
Para obtener más información sobre el uso de DiagnosticLog para recopilar registros de forma remota desde un equipo o dispositivo móvil, consulte Recopilación de registros mdm.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
EtwLog/Channels/{ChannelName}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}
Cada nodo dinámico representa un nodo "Channel" registrado. El nombre del nodo debe ser un nombre de canal de registro de eventos de Windows válido, por ejemplo, "Microsoft-Client-Licensing-Platform%2FAdmin". Al especificar el nombre en LocURI, debe estar codificado como dirección URL o se traducirá a un URI diferente inesperadamente.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Agregar, eliminar, obtener |
Nomenclatura dinámica de nodos | UniqueName: el nombre del nodo debe ser un nombre de canal de registro de eventos de Windows válido, como "Microsoft-Client-Licensing-Platform%2FAdmin" |
Ejemplos:
Agregar un 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>
Eliminación de un 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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Export
Este nodo va a desencadenar la exportación de eventos a un archivo de registro desde el canal de eventos de Windows asociado de este nodo. La extensión del archivo de registro es .evtx, que es la extensión estándar del registro del canal de eventos de Windows. El comando "Get" devuelve el nombre de este nodo.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | null |
Tipo de acceso | Exec, Get |
Ejemplo:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Filter
Este nodo se usa para establecer o obtener la cadena de consulta xpath para filtrar los eventos al exportar el archivo de registro desde el canal. El valor predeterminado es una cadena vacía.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Obtener, reemplazar |
Valor predeterminado | "" |
Ejemplo:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/State
Este nodo se usa para establecer o obtener el estado "Habilitado" del canal de eventos de Windows asociado de este nodo en el sistema. Si se establece en "TRUE", se habilita el canal; si se establece en "FALSE", se deshabilita el canal.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | bool |
Tipo de acceso | Obtener, reemplazar |
Valores permitidos:
Valor | Descripción |
---|---|
true | El canal está habilitado. |
false | El canal está deshabilitado. |
Ejemplos:
Obtener el estado del 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>
Establecer el estado del 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/Collectors
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors
Nodo raíz de nodos "Recopilador" registrados.
Este tipo de seguimiento de eventos recopila datos de eventos de una colección de proveedores ETW registrados. Un recopilador de eventos es un contenedor de proveedores ETW registrados. Los usuarios pueden agregar o eliminar un nodo de recopilador y registrar o anular el registro de varios proveedores en este recopilador.
{CollectorName}
debe ser único dentro del CSP y no debe ser un nombre de canal de eventos válido ni un GUID de proveedor.
El CSP de DiagnosticLog mantiene un archivo de registro para cada nodo del recopilador y el archivo de registro se sobrescribe si se desencadena de nuevo un comando de inicio en el mismo nodo del recopilador.
Para cada nodo de recopilador, el usuario puede:
- Inicie o detenga la sesión con todos los proveedores registrados y habilitados.
- Estado de la sesión de consulta.
- Cambiar el modo de archivo de registro de seguimiento.
- Cambie el límite de tamaño del archivo de registro de seguimiento.
El modo de archivo de registro de configuraciones y el límite de tamaño del archivo de registro no surten efecto mientras la sesión de seguimiento está en curso. Estos atributos se aplican cuando el usuario detiene la sesión actual y, a continuación, la inicia de nuevo para este recopilador.
Para cada proveedor registrado de este recopilador, el usuario puede:
- Especifique palabras clave para filtrar eventos de este proveedor.
- Cambie el nivel de seguimiento para filtrar los eventos de este proveedor.
- Habilite o deshabilite el proveedor en la sesión de seguimiento.
Los cambios en State, Keywords y TraceLevel surten efecto inmediatamente mientras la sesión de seguimiento está en curso.
Nota
Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) tiene los archivos de recursos de depuración necesarios integrados en Windows, lo que permitirá descodificar los archivos de registros en el equipo remoto. Es posible que cualquier otro registro no tenga los recursos de depuración necesarios para descodificar.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
Ejemplo:
Para recopilar diagnósticos mediante este CSP:
- Especifique un collectorName para el contenedor de los proveedores ETW de destino.
- (Opcional) Establezca los parámetros de registro y archivo de registro mediante las siguientes opciones:
- Indique uno o varios proveedores ETW de destino proporcionando su ProviderGUID a la operación Agregar de EtwLog/Collectors/CollectorName/Providers/ProviderGUID.
- (Opcional) Establezca los parámetros de registro y archivo de registro mediante las siguientes opciones:
- Inicie el registro con el comando TraceControl EXECUTE "START".
- Realice acciones en el dispositivo de destino que generarán actividad en los archivos de registro.
- Detenga el registro mediante el comando TraceControl EXECUTE "STOP".
- Recopile el archivo de registro ubicado en la
%temp%
carpeta mediante el método Lectura de un archivo de registro descrito en FileDownload.
EtwLog/Collectors/{CollectorName}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}
Cada nodo dinámico representa un nodo "Recopilador" registrado. CSP mantendrá una sesión de seguimiento ETW para este recopilador con su nombre usado como identificador único. En un recopilador, se puede registrar y anular el registro de un proveedor ETW válido. La sesión de seguimiento asociada del recopilador habilitará los proveedores registrados en él si el estado del proveedor es "Habilitado". El estado, el nivel de seguimiento y las palabras clave de cada proveedor se pueden controlar por separado. El nombre de este nodo no debe ser un nombre de canal de eventos de Windows válido. Puede ser un guid de proveedor etw siempre y cuando no sea igual a un nombre de nodo "Proveedor" ya registrado.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Agregar, eliminar, obtener |
Nomenclatura dinámica de nodos | ServerGeneratedUniqueIdentifier |
Ejemplos:
Agregar un recopilador
<?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>
Eliminación de un recopilador
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB
Este nodo se usa para establecer o obtener el límite de tamaño del archivo de registro de seguimiento (en megabytes) de la sesión de seguimiento asociada a este nodo del recopilador. El intervalo de valores es 1~2048. El valor predeterminado es 4.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener, reemplazar |
Valores permitidos | Gama: [1-2048] |
Valor predeterminado | 4 |
EtwLog/Collectors/{CollectorName}/Providers
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers
Nodo raíz de todos los proveedores registrados en este nodo recopilador.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
Cada nodo dinámico representa un proveedor ETW registrado en este nodo recopilador. El nombre del nodo debe ser un GUID de proveedor válido.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Agregar, eliminar, obtener |
Nomenclatura dinámica de nodos | UniqueName: el nombre del nodo debe ser un GUID de proveedor válido. |
Ejemplos:
Agregue un proveedor:
<?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>
Eliminar un proveedor:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords
Este nodo se usa para establecer o obtener las palabras clave del proveedor de eventos en la sesión de seguimiento asociada de este nodo del recopilador. La cadena tiene el formato de dígitos hexadecimales y 16 caracteres de ancho. Se convertirá internamente en un tipo de datos ULONGLONG en el CSP. El valor predeterminado es "0", lo que significa que se incluyen todos los eventos de este proveedor. Si la sesión de seguimiento asociada está en curso, se aplica inmediatamente la nueva configuración de palabras clave; Si no es así, se aplicará la próxima vez que se inicie la sesión.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Obtener, reemplazar |
Valor predeterminado | "0" |
Ejemplos:
Obtener palabras clave del proveedor:
<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>
Establecer palabras clave de proveedor:
<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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State
Este nodo se usa para establecer o obtener el estado del proveedor de eventos en la sesión de seguimiento asociada de este nodo del recopilador. Si no se inicia la sesión de seguimiento, al cambiar el valor se controla si se va a habilitar el proveedor o no cuando se inicia la sesión; Si la sesión de seguimiento ya se ha iniciado, el cambio de su valor hace que se habilite o deshabilite el proveedor en la sesión de seguimiento en directo. El valor predeterminado es true.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | bool |
Tipo de acceso | Obtener, reemplazar |
Valor predeterminado | true |
Valores permitidos:
Valor | Descripción |
---|---|
true (valor predeterminado) | El proveedor está habilitado en la sesión de seguimiento. Este es el valor predeterminado. |
false | El proveedor está deshabilitado en la sesión de seguimiento. |
Ejemplo:
Establecer el estado del proveedor:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel
Este nodo se usa para establecer o obtener el nivel de seguimiento de este proveedor de eventos en la sesión de seguimiento asociada de este nodo del recopilador. El valor predeterminado es 5, que es TRACE_LEVEL_VERBOSE. Si la sesión de seguimiento asociada está en curso, se aplica inmediatamente una nueva configuración de nivel de seguimiento; Si no es así, se aplicará la próxima vez que se inicie la sesión.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener, reemplazar |
Valor predeterminado | 5 |
Valores permitidos:
Valor | Descripción |
---|---|
1 | TRACE_LEVEL_CRITICAL: eventos de salida o finalización anómalos. |
2 | TRACE_LEVEL_ERROR: eventos de error graves. |
3 | TRACE_LEVEL_WARNING: eventos de advertencia, como errores de asignación. |
4 | TRACE_LEVEL_INFORMATION: eventos que no son de error, como eventos de entrada o salida. |
5 (valor predeterminado) | TRACE_LEVEL_VERBOSE: información detallada. |
Ejemplo:
Establezca el proveedor 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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceControl
Este nodo debe desencadenar "start" y "stop" de la sesión de seguimiento asociada de este nodo de recopilador. "Get" devuelve el nombre de este nodo.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Exec, Get |
Valores permitidos:
Valor | Descripción |
---|---|
INICIO | Inicie el seguimiento de registros. |
DETENER | Detener el seguimiento de registros. |
Ejemplos:
Después de agregar una tarea de registro, puede iniciar o detener un seguimiento ejecutando un comando Execute en este nodo.
Iniciar el registro de seguimiento del recopilador:
<?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>
Detener el registro de seguimiento del recopilador:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceLogFileMode
Este nodo se usa para establecer o obtener el modo de archivo de registro de seguimiento de la sesión de seguimiento asociada de este nodo de recopilador. Los dos únicos valores permitidos son 1 y 2, que son EVENT_TRACE_FILE_MODE_SEQUENTIAL y EVENT_TRACE_FILE_MODE_CIRCULAR. El valor predeterminado es 1.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener, reemplazar |
Valor predeterminado | 1 |
Valores permitidos:
Valor | Descripción |
---|---|
1 (valor predeterminado) | EVENT_TRACE_FILE_MODE_SEQUENTIAL-Writes eventos en un archivo de registro secuencialmente. Se detiene cuando el archivo alcanza su tamaño máximo. |
2 | EVENT_TRACE_FILE_MODE_CIRCULAR-Writes eventos en un archivo de registro. Una vez que el archivo alcanza el tamaño máximo, los eventos más antiguos se reemplazan por los eventos entrantes. |
EtwLog/Collectors/{CollectorName}/TraceStatus
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceStatus
Este nodo se usa para obtener el estado de la sesión de seguimiento asociada de este nodo del recopilador. 1 significa "en curso"; 0 significa "no iniciado o detenido".
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener |
Filedownload
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload
Nodo raíz de todos los nodos de csp relacionados con la descarga de archivos de registro en csp.
La característica FileDownload del CSP de DiagnosticLog permite a un servidor de administración extraer datos directamente del dispositivo. En el contexto FileDownload, los roles de cliente y servidor se invierten conceptualmente, con el servidor de administración que actúa como cliente para descargar los datos del dispositivo administrado.
Lectura de un archivo de registro:
- Enumera el archivo de registro en ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel.
- Seleccione un archivo de registro en el resultado de enumeración.
- Establezca la limitación de carga de BlockSizeKB por servidor DM.
- Obtenga BlockCount para determinar la solicitud de lectura total.
- Establezca BlockIndexToRead para inicializar el punto de inicio de lectura.
- Obtenga BlockData para el bloque de registro de carga.
- Aumente BlockIndexToRead.
- Repita los pasos del 5 al 7 hasta BlockIndexToRead == (BlockIndexToRead – 1).
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
FileDownload/DMChannel
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel
Nodo raíz de todos los nodos csp que se usan para controlar la descarga de archivos para su archivo de registro asociado generado por los nodos de csp de registro.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
FileDownload/DMChannel/{FileContext}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}
Cada nodo dinámico representa un nodo "FileContext" correspondiente a un archivo de registro generado por uno de los nodos de CSP de registro (debajo del nodo "EtwLog"). El nombre del nodo debe ser el nombre de un nodo "Provider", "Collector" o "Channel" registrado. El archivo de registro y su ubicación se determinarán por CSP en función del nombre del nodo. La descarga de archivos se realiza dividiendo el archivo de registro en varios bloques de tamaño de bloque configurado y, a continuación, enviando los bloques según lo solicitado por el servidor MDM.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
Nomenclatura dinámica de nodos | UniqueName: el nombre del nodo debe ser el nombre de un nodo "Provider", "Collector" o "Channel" registrado. |
FileDownload/DMChannel/{FileContext}/BlockCount
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockCount
Este nodo se usa para obtener el número total de bloques para el archivo de registro asociado. Si aún no se genera el archivo de registro, el valor devuelto es -1; si la sesión de seguimiento está en curso, el valor devuelto es -2.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener |
Ejemplo:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockData
Este nodo se usa para obtener los datos binarios del bloque al que apunta el nodo "BlockIndexToRead".
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | b64 |
Tipo de acceso | Obtener |
Ejemplo:
<?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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockIndexToRead
Este nodo se usa para establecer y obtener el índice de bloque que apunta al bloque de datos para el nodo "BlockData". El intervalo de valores es 0~(BlockCount-1).
Ejemplo:
Establezca BlockIndexToRead en 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>
Establezca BlockIndexToRead en 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>
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener, reemplazar |
FileDownload/DMChannel/{FileContext}/BlockSizeKB
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockSizeKB
Este nodo se usa para establecer o obtener el tamaño de bloque (en Kilobytes) para la descarga del archivo de registro asociado. El intervalo de valores es de 1 a 16. El valor predeterminado es 4.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Obtener, reemplazar |
Valores permitidos | Gama: [1-16] |
Valor predeterminado | 4 |
Ejemplos:
Establezca 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>
Get 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
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks
Nodo raíz de todos los nodos "BlockNumber" para el archivo de registro asociado. El número de sus elementos secundarios debe ser el número total de bloques del archivo de registro. No existen nodos secundarios si el valor del nodo "BlockCount" es menor que 0.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1511 [10.0.10586] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
Cada nodo dinámico representa un nodo "BlockNumber". El nombre del nodo es un entero igual al índice del bloque que representa este nodo. Por lo tanto, el nombre del nodo debe oscilar entre 0 y (BlockCount -1). Devuelve los datos binarios del bloque al que hace referencia este nodo.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | b64 |
Tipo de acceso | Obtener |
Nomenclatura dinámica de nodos | ClientInventory |
Directiva
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy
Contiene la directiva para la configuración de diagnóstico.
Esto se puede usar para configurar directivas de registro de eventos de Windows, como el tamaño máximo del registro.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
Directivas o canales
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels
Contiene la directiva para la configuración del canal del registro de eventos.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Obtener |
Directiva/Canales/{ChannelName}
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}
Cada nodo dinámico representa un nodo "Channel" registrado. El nombre del nodo debe ser un nombre de canal de registro de eventos de Windows válido, por ejemplo, "Microsoft-Client-Licensing-Platform%2FAdmin". Al especificar el nombre en LocURI, debe estar codificado como dirección URL o se traducirá a un URI diferente inesperadamente.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | node |
Tipo de acceso | Agregar, eliminar, obtener |
Nomenclatura dinámica de nodos | UniqueName: el nombre del nodo debe ser un nombre de canal de registro de eventos de Windows válido, como Microsoft-Client-Licensing-Platform%2FAdmin. Al especificar el nombre en LocURI, debe estar codificado en dirección URL; de lo contrario, puede traducirse inesperadamente en un URI diferente. |
Ejemplos:
Agregar 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>
Eliminar 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>
Obtener 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>
Policy/Channels/{ChannelName}/ActionWhenFull
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/ActionWhenFull
Acción que se debe realizar cuando el archivo de registro alcanza el tamaño máximo. "Truncate", "Overwrite", "Archive".
Si deshabilita o no establece esta configuración de directiva, el valor configurado localmente se usará como valor predeterminado. Cada canal instalado, ya sea bandeja de entrada o ISV, es responsable de definir su propia configuración local y cualquier administrador puede cambiar esa configuración. Los valores establecidos a través de esta invalidación de directiva, pero no reemplazan la configuración local.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Agregar, Eliminar, Obtener, Reemplazar |
Valores permitidos:
Valor | Descripción |
---|---|
Truncar | Cuando el archivo de registro alcanza su tamaño máximo, los nuevos eventos no se escriben en el registro y se pierden. |
Overwrite | Cuando el archivo de registro alcanza su tamaño máximo de archivo, los eventos nuevos sobrescriben eventos antiguos. |
Archive | Cuando el archivo de registro alcanza su tamaño máximo, el archivo de registro se guarda en la ubicación especificada por la configuración de directiva "Ubicación de archivo". Si no se establece el valor de ubicación de archivo, el nuevo archivo se guarda en el mismo directorio que el archivo de registro actual. |
Ejemplos:
Agregar acciónCuandofull
<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>
Eliminar acciónWhenFull
<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>
Obtener acciónWhenFull
<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>
Reemplazar acciónWhenFull
<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>
Policy/Channels/{ChannelName}/Enabled
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/Enabled
Esta configuración de directiva especifica si el canal debe estar habilitado o deshabilitado. Establezca el valor en TRUE para habilitar y FALSE en deshabilitar.
Si deshabilita o no establece esta configuración de directiva, el valor configurado localmente se usa como valor predeterminado.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | bool |
Tipo de acceso | Agregar, Eliminar, Obtener, Reemplazar |
Valores permitidos:
Valor | Descripción |
---|---|
true | Habilita el canal. |
false | Deshabilita el canal. |
Ejemplos:
Agregar 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>
Eliminar 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>
Obtener habilitado
<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>
Reemplazar 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>
Policy/Channels/{ChannelName}/MaximumFileSize
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/MaximumFileSize
Tamaño máximo del archivo de registro de canal en MB.
- Si habilita esta configuración de directiva, puede configurar el tamaño máximo del archivo de registro para que esté entre 1 megabyte y 2 terabytes en incrementos de megabyte.
- Si deshabilita o no establece esta configuración de directiva, el tamaño máximo del archivo de registro se establecerá en el valor configurado localmente. El administrador local puede cambiar este valor mediante el cuadro de diálogo Propiedades del registro y el valor predeterminado es de 1 megabyte.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato | int |
Tipo de acceso | Agregar, eliminar, obtener y reemplazar |
Valores permitidos | Gama: [1-2000000] |
Valor predeterminado | 1 |
Ejemplos:
Agregar 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>
Eliminar 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>
Obtener 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>
Reemplazar MaximumFileSize
<SyncML xmlns="SYNCML:SYNCML1.2"> <SyncBody> <Replace> <CmdID>8</CmdID> <Item> <Target> <LocURI> ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize </LocURI> </Target> <Meta> <Format xmlns="syncml:metinf">int</Format> <Type>text/plain</Type> </Meta> <Data>5</Data> </Item> </Replace> <Final/> </SyncBody> </SyncML>
Policy/Channels/{ChannelName}/SDDL
Ámbito | Ediciones | Sistema operativo aplicable |
---|---|---|
Dispositivo ✅ ❌ Usuario |
✅ Pro ✅ Empresa ✅ Educación ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10, versión 1903 [10.0.18362] y versiones posteriores |
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/SDDL
Cadena SDDL que controla el acceso al canal. Para obtener más información, vea Tipo complejo ChannelType.
Propiedades del marco de descripción:
Nombre de la propiedad | Valor de propiedad |
---|---|
Formato |
chr (cadena) |
Tipo de acceso | Agregar, Eliminar, Obtener, Reemplazar |
Distingue mayúsculas de minúsculas | Verdadero |
Ejemplos:
Adición de 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>
Eliminación de 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>
Obtener 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>
Reemplazar 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>
Comparación de FileDownload y DiagnosticArchive
Las características FileDownload y DiagnosticArchive se pueden usar para obtener datos del dispositivo al servidor de administración, pero están optimizados para diferentes flujos de trabajo.
- FileDownload permite al servidor de administración extraer directamente datos de seguimiento de nivel de bytes del dispositivo administrado. La transferencia de datos se realiza a través del contexto OMA-DM/SyncML existente. Se usa junto con la característica EtwLogs como parte de un flujo de supervisión o diagnóstico avanzado. FileDownlod requiere una orquestación pormenorizada por parte del servidor de administración, pero evita la necesidad de almacenamiento en la nube dedicado.
- DiagnosticArchive permite al servidor de administración proporcionar al CSP un conjunto completo de instrucciones como comando único. En función de esas instrucciones, el CSP organiza el cliente de trabajo para empaquetar los archivos de diagnóstico solicitados en un archivo ZIP y cargarlo en el almacenamiento en la nube. La transferencia de datos se produce fuera de la sesión de OMA-DM, a través de un HTTP PUT.
Cómo revisar ArchiveResults
El archivo ZIP creado y cargado por ArchiveResults contiene una estructura de carpetas como en el ejemplo siguiente:
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 directiva de recopilación de datos del XML original Collection
corresponde a una carpeta de la salida. Por ejemplo, la primera directiva era:
<Collection HRESULT="0">
<RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
</Collection>
A continuación, la carpeta 1
contendrá el archivo correspondiente export.reg
.
El results.xml
archivo es la asignación autoritativa a la salida. Incluye un código de estado para cada directiva. El orden de las directivas del archivo corresponde al orden de las carpetas de salida. El uso results.xml
del administrador puede ver qué datos se recopilaron, qué errores pueden haberse producido y qué carpetas contienen qué salida. Por ejemplo, el siguiente results.xml
contenido indica que la exportación del Registro de HKLM\Software\Policies se realizó correctamente y que los datos se pueden encontrar en la carpeta 1
. También indica que se produjo un error en el netsh.exe wlan show profiles
comando.
<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>
Los administradores pueden aplicar la automatización a "results.xml" para crear sus propias vistas preferidas de los datos. Por ejemplo, el siguiente liner de PowerShell extrae del XML una lista ordenada de las directivas con código de estado y detalles.
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++}
En este ejemplo se genera una salida similar a la siguiente:
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
En el ejemplo siguiente se extrae el archivo ZIP en una estructura de archivos acoplada personalizada. Cada nombre de archivo incluye el número de directiva, HRESULT, etc. Este ejemplo se podría personalizar para tomar diferentes decisiones sobre qué información incluir en los nombres de archivo y qué opciones de formato tomar para caracteres especiales.
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 ejemplo genera un conjunto de archivos similar al siguiente conjunto de archivos, que puede ser una vista útil para que un administrador examine interactivamente los resultados sin necesidad de navegar por subcarpetas ni hacer referencia repetidamente a results.xml
:
PS C:\> dir C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z.zip_formatted | format-table Length,Name
Length Name
------ ----
46640 (01) (HKLM_Software_Policies) (0x00000000) export.reg
203792 (02) (HKLM_Software_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
214902 (03) (HKLM_Software_Microsoft_IntuneManagementExtension) (0x00000000) export.reg
212278 (04) (HKLM_SOFTWARE_WOW6432Node_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
2400 (05) (_windir__system32_ipconfig_exe__all) (0x00000000) output.log
2147 (06) (_windir__system32_netsh_exe_advfirewall_show_allprofiles) (0x00000000) output.log
1043 (07) (_windir__system32_netsh_exe_advfirewall_show_global) (0x00000000) output.log
59 (08) (_windir__system32_netsh_exe_wlan_show_profiles) (0x80070001) output.log
1591 (09) (_windir__system32_ping_exe_-n_50_localhost) (0x00000000) output.log
5192 (10) (_windir__system32_Dsregcmd_exe__status) (0x00000000) output.log