CSP DiagnosticLog

L'elenco seguente mostra i nodi del provider del servizio di configurazione DiagnosticLog:

DeviceStateData

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/DeviceStateData

Nodo radice di tutti i tipi di dati sullo stato del dispositivo esposti da CSP.

La funzionalità DeviceStateData all'interno del provider di servizi di configurazione DiagnosticLog fornisce informazioni aggiuntive sul dispositivo.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

DeviceStateData/MdmConfiguration

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1607 [10.0.14393] e versioni successive
./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration

Questo nodo attiva l'aggancio dei dati dello stato Gestione dispositivi con "SNAP".

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Exec, Get

Esempio:

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

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive

Nodo radice per la definizione e la raccolta dell'archivio.

La funzionalità DiagnosticArchive all'interno del provider di servizi di configurazione DiagnosticLog viene usata per attivare i dispositivi per raccogliere i dati di risoluzione dei problemi in un file di archivio ZIP e caricarlo nell'archiviazione cloud.

DiagnosticArchive è progettato per scenari di risoluzione dei problemi ad hoc, ad esempio un amministratore IT che analizza un errore di installazione dell'app usando una raccolta di eventi del registro eventi, valori del Registro di sistema e file di log dell'app o del sistema operativo.

Nota

DiagnosticArchive è un'opzione di backstop "break glass" per la risoluzione dei problemi dei dispositivi. I dati di diagnostica, ad esempio i file di log, possono raggiungere molti gigabyte. La raccolta, il trasferimento e l'archiviazione di grandi quantità di dati possono gravare sul dispositivo dell'utente, sulla rete e sull'archiviazione cloud. I server di gestione che richiamano DiagnosticArchive devono prestare attenzione a ridurre al minimo la frequenza e l'ambito di raccolta dei dati.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

DiagnosticArchive/ArchiveDefinition

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveDefinition

L'azione Di esecuzione per questo nodo accetta un Collection frammento XML (come stringa) che descrive i dati da raccogliere e la posizione in cui caricarli. I risultati vengono compressi e caricati nell'oggetto SasUrl specificato. Il formato del nome file compresso è DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip.

Con Windows 10 KB5011543 e Windows 11 KB5011563, è disponibile un supporto aggiuntivo per un elemento aggiuntivo che determinerà se il file di output generato dal CSP è una struttura di cartelle appiattita, anziché avere singole cartelle per ogni direttiva nel codice XML. Nell'esempio seguente viene illustrato un Collection codice 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>

Il codice XML deve includere gli elementi seguenti all'interno dell'elemento Collection :

  • ID: il valore ID identifica in modo univoco questa richiesta di raccolta dati. Per evitare la ripetizione accidentale della raccolta dei dati, il provider di servizi di configurazione ignora le chiamate set o execute successive con lo stesso valore ID. Il provider di servizi di configurazione prevede che il valore venga popolato quando viene ricevuta la richiesta, quindi deve essere generato dall'amministratore IT o dal server di gestione.
  • SasUrl: il valore SasUrl è l'URI di destinazione in cui il CSP carica il file ZIP contenente i dati raccolti. È responsabilità del server di gestione effettuare il provisioning dell'archiviazione in modo che il server di archiviazione accetti il put HTTP del dispositivo in questo URL. Ad esempio, il servizio di gestione dei dispositivi potrebbe:
    • Effettuare il provisioning dell'archiviazione cloud raggiungibile dal dispositivo di destinazione, ad esempio un contenitore di archiviazione BLOB di Microsoft Azure
    • Generare un URL di firma di accesso condiviso che concede al possessore (il dispositivo di destinazione) l'accesso in scrittura limitato nel tempo al contenitore di archiviazione
    • Passare questo valore al provider di servizi di configurazione nel dispositivo di destinazione tramite il Collection codice XML come SasUrl valore.

Inoltre, il codice XML può includere una o più direttive di raccolta dati, che possono includere una delle seguenti:

  • RegistryKey: esporta tutti i nomi di chiave e i valori in un determinato percorso (ricorsivo).

    • Valore di input previsto: percorso del Registro di sistema, ad esempio "HKLM\Software\Policies".
    • Formato di output: crea un file .reg, simile all'output di reg.exe comando EXPORT.
    • Protezione della privacy: per abilitare l'acquisizione dei log di diagnostica riducendo al tempo stesso il rischio che un amministratore IT acquisirà inavvertitamente documenti generati dall'utente, i percorsi del Registro di sistema sono limitati ai percorsi in HKLM e HKCR.
  • Eventi: esporta tutti gli eventi dal registro eventi di Windows denominato.

    • Valore di input previsto: un canale del log eventi denominato, ad esempio "Application" o "Microsoft-Windows-DeviceGuard/Operational".
    • Formato di output: crea un file con estensione evtx.
  • Comandi: questo tipo di direttiva consente l'esecuzione di comandi specifici, ad esempio ipconfig.exe. Si noti che DiagnosticArchive e le direttive Commands non sono una piattaforma di scripting per utilizzo generico. Questi comandi sono consentiti nel contesto DiagnosticArchive per gestire i casi in cui le informazioni critiche sul dispositivo potrebbero non essere disponibili tramite i file di log esistenti.

    • Valore di input previsto: riga di comando completa che include il percorso e tutti gli argomenti, ad %windir%\\system32\\ipconfig.exe /allesempio .
    • Formato di output: l'output di testo della console dal comando viene acquisito in un file di testo e incluso nell'archivio di output complessivo. Per i comandi che possono generare l'output di file anziché l'output della console, per acquisire tale output verrà usata una direttiva FolderFiles successiva. Il codice XML di esempio precedente illustra questo modello con il parametro -out di mdmdiagnosticstool.exe.
    • Protezione della privacy: per abilitare l'acquisizione dei dati di diagnostica riducendo al tempo stesso il rischio che un amministratore IT acquisirà inavvertitamente documenti generati dall'utente, sono consentiti solo i comandi seguenti:
      • %windir%\system32\certutil.exe
      • %windir%\system32\dxdiag.exe
      • %windir%\system32\gpresult.exe
      • %windir%\system32\msinfo32.exe
      • %windir%\system32\netsh.exe
      • %windir%\system32\nltest.exe
      • %windir%\system32\ping.exe
      • %windir%\system32\powercfg.exe
      • %windir%\system32\w32tm.exe
      • %windir%\system32\wpr.exe
      • %windir%\system32\dsregcmd.exe
      • %windir%\system32\dispdiag.exe
      • %windir%\system32\ipconfig.exe
      • %windir%\system32\logman.exe
      • %windir%\system32\tracelog.exe
      • %programfiles%\windows defender\mpcmdrun.exe
      • %windir%\system32\MdmDiagnosticsTool.exe
      • %windir%\system32\pnputil.exe
  • FoldersFiles: acquisisce i file di log da un determinato percorso (senza ricorsione).

    • Valore di input previsto: percorso file con o senza caratteri jolly, ad esempio "%windir%\System32" o "%programfiles%\*.log".
    • Protezione della privacy: per abilitare l'acquisizione del log di diagnostica riducendo al tempo stesso il rischio che un amministratore IT acquisirà inavvertitamente documenti generati dall'utente, sono consentiti solo i percorsi sotto le radici seguenti:
      • %PROGRAMFILES%
      • %PROGRAMDATA%
      • %PUBLIC%
      • %WINDIR%
      • %TEMP%
      • %TMP%
    • Inoltre, vengono acquisiti solo i file con le estensioni seguenti:
      • .Registro
      • .txt
      • .Dmp
      • .cab
      • .zip
      • .xml
      • .html
      • .evtx
      • .Etl
  • OutputFileFormat: consente di rendere flat la struttura delle cartelle, anziché avere singole cartelle per ogni direttiva nel codice XML.

    • Il valore "Flattened" è l'unico valore supportato per OutputFileFormat. Se OutputFileFormat è assente nel codice XML o se è impostato in modo esplicito su un valore diverso da Flattened, la struttura del file verrà lasciata nella struttura precedente.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Exec, Get, Replace

DiagnosticArchive/ArchiveResults

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults

Eseguire il pull dei risultati dell'ultima esecuzione dell'archivio.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Ottieni

Esempio:

Un oggetto Get to the above URI restituirà i risultati della raccolta dei dati per l'ultima richiesta di diagnostica. Ad esempio:

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

Per informazioni su come leggere i dati risultanti, vedere Come esaminare ArchiveResults.

EtwLog

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog

Nodo radice di tutti i tipi di nodi di registrazione eventi gestiti da CSP.

La funzionalità di log etw (Event Tracing for Windows) del provider di servizi di configurazione DiagnosticLog viene usata per controllare i tipi di traccia eventi seguenti:

La funzionalità di log ETW è progettata per l'utilizzo avanzato e presuppone la familiarità degli sviluppatori con ETW. Per altre informazioni, vedere Informazioni sulla traccia eventi.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

EtwLog/Channels

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels

Nodo radice dei nodi "Channel" registrati.

Il tipo di traccia eventi esporta i dati dell'evento da un canale specifico. Gli utenti possono aggiungere o eliminare un nodo del canale usando il nome completo, ad esempio Microsoft-Windows-AppModel-Runtime/Amministrazione.

Il provider di servizi di configurazione DiagnosticLog gestisce un file di log per ogni nodo del canale e il file di log viene sovrascritto se viene attivato di nuovo un comando start sullo stesso nodo del canale.

Per ogni nodo del canale, l'utente può:

  • Esportare i dati degli eventi del canale in un file di log (con estensione evtx).
  • Abilitare o disabilitare il canale dal servizio Registro eventi per consentire o impedire la scrittura dei dati degli eventi nel canale.
  • Specificare una query XPath per filtrare gli eventi durante l'esportazione dei dati degli eventi del canale.

Per altre informazioni sull'uso di DiagnosticLog per raccogliere i log in remoto da un PC o da un dispositivo mobile, vedere Raccogliere i log MDM.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

EtwLog/Channels/{ChannelName}

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}

Ogni nodo dinamico rappresenta un nodo "Channel" registrato. Il nome del nodo deve essere un nome di canale del log eventi di Windows valido, ad esempio "Microsoft-Client-Licensing-Platform%2FAdmin". Quando si specifica il nome in LocURI, è necessario codificarlo in URL o convertirlo in un URI diverso in modo imprevisto.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Add, Delete, Get
Denominazione dinamica dei nodi UniqueName: il nome del nodo deve essere un nome di canale del log eventi di Windows valido, ad esempio "Microsoft-Client-Licensing-Platform%2FAdmin"

Esempi:

  • Aggiungere un canale

    <?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>
    
  • Eliminare un canale

    <?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Export

Questo nodo consente di attivare l'esportazione di eventi in un file di log dal canale eventi di Windows associato a questo nodo. L'estensione del file di log è .evtx, ovvero l'estensione standard del log dei canali eventi di Windows. Il comando "Get" restituisce il nome di questo nodo.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato null
Tipo accesso Exec, Get

Esempio:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Filter

Questo nodo viene usato per impostare o ottenere la stringa di query xpath per filtrare gli eventi durante l'esportazione del file di log dal canale. Il valore predefinito è una stringa vuota.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Get, Replace
Valore predefinito ""

Esempio:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/State

Questo nodo viene usato per impostare o ottenere lo stato "Abilitato" del canale eventi windows associato di questo nodo nel sistema. L'impostazione su "TRUE" abilita il canale; impostandola su "FALSE" il canale viene disabilitato.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato bool
Tipo accesso Get, Replace

Valori consentiti:

Value Descrizione
true Il canale è abilitato.
false Il canale è disabilitato.

Esempi:

  • Ottenere lo stato del canale:

    <?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>
    
  • Impostare lo stato del canale:

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

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors

Nodo radice dei nodi "Collector" registrati.

Questo tipo di traccia eventi raccoglie i dati degli eventi da una raccolta di provider ETW registrati. Un agente di raccolta eventi è un contenitore di provider ETW registrati. Gli utenti possono aggiungere o eliminare un nodo dell'agente di raccolta e registrare o annullare la registrazione di più provider in questo agente di raccolta.

Deve {CollectorName} essere univoco all'interno del provider di servizi di configurazione e non deve essere un nome di canale eventi valido o un GUID del provider.

Il provider di servizi di configurazione DiagnosticLog gestisce un file di log per ogni nodo dell'agente di raccolta e il file di log viene sovrascritto se viene attivato di nuovo un comando start nello stesso nodo agente di raccolta.

Per ogni nodo dell'agente di raccolta, l'utente può:

  • Avviare o arrestare la sessione con tutti i provider registrati e abilitati.
  • Stato della sessione di query.
  • Modificare la modalità file di log di traccia.
  • Modificare il limite di dimensioni del file di log di traccia.

La modalità file di log delle configurazioni e il limite delle dimensioni dei file di log non hanno effetto mentre è in corso la sessione di traccia. Questi attributi vengono applicati quando l'utente arresta la sessione corrente e quindi la riavvia per questo agente di raccolta.

Per ogni provider registrato in questo agente di raccolta, l'utente può:

  • Specificare le parole chiave per filtrare gli eventi da questo provider.
  • Modificare il livello di traccia per filtrare gli eventi da questo provider.
  • Abilitare o disabilitare il provider nella sessione di traccia.

Le modifiche apportate a State, Keywords e TraceLevel diventano effettive immediatamente mentre è in corso la sessione di traccia.

Nota

Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) include i file di risorse di debug necessari incorporati in Windows, che consentiranno la decodifica dei file di log nel computer remoto. Qualsiasi altro log potrebbe non disporre delle risorse di debug necessarie per la decodifica.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

Esempio:

Per raccogliere la diagnostica usando questo provider di servizi di configurazione:

  1. Specificare un Valore CollectorName per il contenitore dei provider ETW di destinazione.
  2. (Facoltativo) Impostare i parametri di registrazione e file di log usando le opzioni seguenti:
  3. Indicare uno o più provider ETW di destinazione fornendo il relativo ProviderGUID all'operazione Add di EtwLog/Collectors/CollectorName/Providers/ProviderGUID.
  4. (Facoltativo) Impostare i parametri di registrazione e file di log usando le opzioni seguenti:
  5. Avviare la registrazione usando il comando EXECUTE di TraceControl "START".
  6. Eseguire azioni sul dispositivo di destinazione che genereranno attività nei file di log.
  7. Arrestare la registrazione usando il comando EXECUTE di TraceControl "STOP".
  8. Raccogliere il file di log che si trova nella %temp% cartella usando il metodo Lettura di un file di log descritto in FileDownload.

EtwLog/Collectors/{CollectorName}

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}

Ogni nodo dinamico rappresenta un nodo "Collector" registrato. CSP gestirà una sessione di traccia ETW per questo agente di raccolta con il nome usato come identificatore univoco. In un agente di raccolta è possibile registrare e annullare la registrazione di un provider ETW valido. La sessione di traccia associata dell'agente di raccolta abiliterà i provider registrati se lo stato del provider è "Abilitato". Lo stato, il livello di traccia e le parole chiave di ogni provider possono essere controllati separatamente. Il nome di questo nodo non deve essere un nome di canale eventi di Windows valido. Può essere un GUID del provider etw purché non sia uguale a un nome di nodo 'Provider' già registrato.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Add, Delete, Get
Denominazione dinamica dei nodi ServerGeneratedUniqueIdentifier

Esempi:

  • Aggiungere un agente di raccolta

    <?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>
    
  • Eliminare un agente di raccolta

    <?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB

Questo nodo viene usato per impostare o ottenere il limite di dimensioni del file di log di traccia (in megabyte) della sessione di traccia associata del nodo dell'agente di raccolta. L'intervallo di valori è 1~2048. Il valore predefinito è 4.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Get, Replace
Valori consentiti Gamma: [1-2048]
Valore predefinito 4
EtwLog/Collectors/{CollectorName}/Providers
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers

Nodo radice di tutti i provider registrati in questo nodo dell'agente di raccolta.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}

Ogni nodo dinamico rappresenta un provider ETW registrato in questo nodo dell'agente di raccolta. Il nome del nodo deve essere un GUID del provider valido.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Add, Delete, Get
Denominazione dinamica dei nodi UniqueName: il nome del nodo deve essere un GUID del provider valido.

Esempi:

  • Aggiungere un provider:

    <?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>
    
  • Eliminare un provider:

    <?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords

Questo nodo viene usato per impostare o ottenere le parole chiave del provider di eventi nella sessione di traccia associata del nodo dell'agente di raccolta. La stringa è costituita da cifre esadecimali e da 16 caratteri di larghezza. Verrà convertito internamente in tipo di dati ULONGLONG nel CSP. Il valore predefinito è "0", ovvero tutti gli eventi di questo provider sono inclusi. Se la sessione di traccia associata è in corso, viene applicata immediatamente la nuova impostazione delle parole chiave; in caso contrario, verrà applicato alla successiva avvio della sessione.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Get, Replace
Valore predefinito "0"

Esempi:

  • Ottenere le parole chiave del provider:

    <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>
    
  • Impostare le parole chiave del provider:

    <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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State

Questo nodo viene usato per impostare o ottenere lo stato del provider di eventi nella sessione di traccia associata del nodo dell'agente di raccolta. Se la sessione di traccia non viene avviata, la modifica del valore controlla se abilitare il provider o meno all'avvio della sessione; se la sessione di traccia è già avviata, la modifica del relativo valore comporta l'abilitazione o la disabilitazione del provider nella sessione di traccia dinamica. Il valore predefinito è true.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato bool
Tipo accesso Get, Replace
Valore predefinito true

Valori consentiti:

Value Descrizione
true (impostazione predefinita) Il provider è abilitato nella sessione di traccia. Si tratta dell'impostazione predefinita.
false Il provider è disabilitato nella sessione di traccia.

Esempio:

Impostare lo stato del provider:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel

Questo nodo viene usato per impostare o ottenere il livello di traccia di questo provider di eventi nella sessione di traccia associata del nodo dell'agente di raccolta. Il valore predefinito è 5, ovvero TRACE_LEVEL_VERBOSE. Se la sessione di traccia associata è in corso, la nuova impostazione del livello di traccia viene applicata immediatamente; in caso contrario, verrà applicato alla successiva avvio della sessione.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Get, Replace
Valore predefinito 5

Valori consentiti:

Value Descrizione
1 TRACE_LEVEL_CRITICAL - Eventi di chiusura o terminazione anomali.
2 TRACE_LEVEL_ERROR - Eventi di errore gravi.
3 TRACE_LEVEL_WARNING : eventi di avviso, ad esempio errori di allocazione.
4 TRACE_LEVEL_INFORMATION : eventi non di errore, ad esempio eventi di ingresso o uscita.
5 (impostazione predefinita) TRACE_LEVEL_VERBOSE - Informazioni dettagliate.

Esempio:

Impostare il valore TraceLevel del provider:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceControl

Questo nodo deve attivare "start" e "stop" della sessione di traccia associata al nodo dell'agente di raccolta. "Get" restituisce il nome di questo nodo.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Exec, Get

Valori consentiti:

Value Descrizione
AVVIO Avviare la traccia dei log.
STOP Arrestare la traccia dei log.

Esempi:

Dopo aver aggiunto un'attività di registrazione, è possibile avviare/arrestare una traccia eseguendo un comando Execute in questo nodo.

  • Avviare la registrazione delle tracce dell'agente di raccolta:

    <?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>
    
  • Arrestare la registrazione delle tracce dell'agente di raccolta:

    <?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceLogFileMode

Questo nodo viene usato per impostare o ottenere la modalità file di log di traccia della sessione di traccia associata al nodo dell'agente di raccolta. Gli unici due valori consentiti sono 1 e 2, EVENT_TRACE_FILE_MODE_SEQUENTIAL e EVENT_TRACE_FILE_MODE_CIRCULAR. Il valore predefinito è 1.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Get, Replace
Valore predefinito 1

Valori consentiti:

Value Descrizione
1 (impostazione predefinita) EVENT_TRACE_FILE_MODE_SEQUENTIAL-Writes eventi a un file di log in sequenza. Si arresta quando il file raggiunge le dimensioni massime.
2 EVENT_TRACE_FILE_MODE_CIRCULAR-Writes eventi a un file di log. Dopo che il file raggiunge le dimensioni massime, gli eventi meno recenti vengono sostituiti con gli eventi in ingresso.
EtwLog/Collectors/{CollectorName}/TraceStatus
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceStatus

Questo nodo viene usato per ottenere lo stato della sessione di traccia associata al nodo dell'agente di raccolta. 1 significa "in corso"; 0 significa "non avviato o arrestato".

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Ottieni

FileDownload

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload

Nodo radice di tutti i nodi csp correlati al download del file di log in csp.

La funzionalità FileDownload del provider di servizi di configurazione DiagnosticLog consente a un server di gestione di eseguire il pull dei dati direttamente dal dispositivo. Nel contesto FileDownload i ruoli client e server vengono concettualmente invertiti, con il server di gestione che funge da client per scaricare i dati dal dispositivo gestito.

Lettura di un file di log:

  1. Enumerare il file di log in ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel.
  2. Selezionare un file di log nel risultato Dell'enumerazione.
  3. Impostare BlockSizeKB per limitazione del payload del server DM.
  4. Ottenere BlockCount per determinare la richiesta di lettura totale.
  5. Impostare BlockIndexToRead per inizializzare il punto iniziale di lettura.
  6. Ottenere BlockData per il blocco di log di caricamento.
  7. Aumentare BlockIndexToRead.
  8. Ripetere i passaggi da 5 a 7 fino a quando BlockIndexToRead == (BlockIndexToRead - 1).

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

FileDownload/DMChannel

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel

Nodo radice di tutti i nodi csp usati per controllare il download dei file per il file di log associato generato dalla registrazione dei nodi csp.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

FileDownload/DMChannel/{FileContext}

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}

Ogni nodo dinamico rappresenta un nodo 'FileContext' corrispondente a un file di log generato da uno dei nodi CSP di registrazione (sotto il nodo 'EtwLog'). Il nome del nodo deve essere il nome di un nodo "Provider", "Collector" o "Channel" registrato. Il file di log e il relativo percorso verranno determinati da CSP in base al nome del nodo. Il download dei file viene eseguito dividendo il file di log in più blocchi di dimensioni del blocco configurate e quindi inviando i blocchi come richiesto dal server MDM.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni
Denominazione dinamica dei nodi UniqueName: il nome del nodo deve essere il nome di un nodo "Provider", "Collector" o "Channel" registrato.
FileDownload/DMChannel/{FileContext}/BlockCount
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockCount

Questo nodo viene usato per ottenere il numero totale di blocchi per il file di log associato. Se il file di log non è ancora stato generato, il valore restituito è -1; se la sessione di traccia è in corso, il valore restituito è -2.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Ottieni

Esempio:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockData

Questo nodo viene usato per ottenere i dati binari del blocco a cui punta il nodo 'BlockIndexToRead'.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato b64
Tipo accesso Ottieni

Esempio:

<?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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockIndexToRead

Questo nodo viene usato per impostare e ottenere l'indice di blocco che punta al blocco di dati per il nodo 'BlockData'. L'intervallo di valori è 0~(BlockCount-1).

Esempio:

  • Impostare BlockIndexToRead su 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>
    
  • Impostare BlockIndexToRead su 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>
    

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Get, Replace
FileDownload/DMChannel/{FileContext}/BlockSizeKB
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockSizeKB

Questo nodo viene usato per impostare o ottenere le dimensioni del blocco (in Kilobyte) per il download del file di log associato. L'intervallo di valori è 1~16. Il valore predefinito è 4.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Get, Replace
Valori consentiti Gamma: [1-16]
Valore predefinito 4

Esempi:

  • Impostare 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>
    
  • Ottenere 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
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks

Nodo radice di tutti i nodi 'BlockNumber' per il file di log associato. Il numero dei relativi elementi figlio deve corrispondere al numero totale di blocchi del file di log. Se il valore del nodo 'BlockCount' è minore di 0, non esistono nodi figlio.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni
FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10 versione 1511 [10.0.10586] e versioni successive
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}

Ogni nodo dinamico rappresenta un nodo 'BlockNumber'. Il nome del nodo è un numero intero uguale all'indice del blocco rappresentato da questo nodo. Pertanto, il nome del nodo deve essere compreso tra 0 e (BlockCount -1). Restituisce i dati binari del blocco a cui fa riferimento questo nodo.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato b64
Tipo accesso Ottieni
Denominazione dinamica dei nodi ClientInventory

Criterio

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy

Contiene i criteri per le impostazioni di diagnostica.

Può essere usato per configurare i criteri del registro eventi di Windows, ad esempio le dimensioni massime del log.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

Criteri/canali

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels

Contiene i criteri per le impostazioni del canale del registro eventi.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Ottieni

Criteri/Canali/{ChannelName}

Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}

Ogni nodo dinamico rappresenta un nodo "Channel" registrato. Il nome del nodo deve essere un nome di canale del log eventi di Windows valido, ad esempio "Microsoft-Client-Licensing-Platform%2FAdmin". Quando si specifica il nome in LocURI, è necessario codificarlo in URL o convertirlo in un URI diverso in modo imprevisto.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato node
Tipo accesso Add, Delete, Get
Denominazione dinamica dei nodi UniqueName: il nome del nodo deve essere un nome di canale del log eventi di Windows valido, ad esempio Microsoft-Client-Licensing-Platform%2FAdmin. Quando si specifica il nome in LocURI, deve essere codificato con URL, altrimenti potrebbe essere convertito in modo imprevisto in un URI diverso.

Esempi:

  • Aggiungi canale

    <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>
    
  • Elimina canale

    <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>
    
  • Ottenere il canale

    <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>
    
Criteri/Canali/{ChannelName}/ActionWhenFull
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/ActionWhenFull

Azione da eseguire quando il file di log raggiunge le dimensioni massime. "Truncate", "Overwrite", "Archive".

Se si disabilita o non si configura questa impostazione di criterio, il valore configurato in locale verrà usato come predefinito. Ogni canale installato, in arrivo o da ISV, è responsabile della definizione della propria configurazione locale e tale configurazione può essere modificata da qualsiasi amministratore. I valori impostati tramite questa sostituzione dei criteri non sostituiscono la configurazione locale.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Aggiungere, eliminare, ottenere, sostituire

Valori consentiti:

Value Descrizione
Troncare Quando il file di log raggiunge le dimensioni massime del file, i nuovi eventi non vengono scritti nel log e vengono persi.
Sovrascrivi Quando il file di log raggiunge le dimensioni massime del file, i nuovi eventi sovrascrivono gli eventi precedenti.
Archive Quando il file di log raggiunge le dimensioni massime, il file di log viene salvato nel percorso specificato dall'impostazione del criterio "Percorso archivio". Se il valore del percorso di archiviazione non è impostato, il nuovo file viene salvato nella stessa directory del file di log corrente.

Esempi:

  • Aggiungi azioneQuando Full

    <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>
    
  • Delete ActionWhenFull

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

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

    <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>
    
Criteri/Canali/{ChannelName}/Abilitato
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/Enabled

Questa impostazione di criterio specifica se il canale deve essere abilitato o disabilitato. Impostare il valore su TRUE per abilitare e false per disabilitare.

Se si disabilita o non si configura questa impostazione di criterio, il valore configurato localmente viene usato come predefinito.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato bool
Tipo accesso Aggiungere, eliminare, ottenere, sostituire

Valori consentiti:

Value Descrizione
true Abilita il canale.
false Disabilita il canale.

Esempi:

  • Aggiungi abilitato

    <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>
    
  • Eliminazione abilitata

    <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>
    
  • Ottenere l'abilitazione

    <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>
    
  • Sostituisci abilitato

    <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>
    
Criteri/Canali/{ChannelName}/MaximumFileSize
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/MaximumFileSize

Dimensioni massime del file di log del canale in MB.

  • Se si abilita questa impostazione di criterio, è possibile configurare le dimensioni massime del file di log in modo che siano comprese tra 1 megabyte e 2 terabyte in incrementi di megabyte.
  • Se si disabilita o non si configura questa impostazione di criterio, le dimensioni massime del file di log verranno impostate sul valore configurato localmente. Questo valore può essere modificato dall'amministratore locale usando la finestra di dialogo Proprietà log e per impostazione predefinita è 1 megabyte.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato int
Tipo accesso Aggiungi, Elimina, Ottieni, Sostituisci
Valori consentiti Gamma: [1-2000000]
Valore predefinito 1

Esempi:

  • Aggiungi 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>
    
  • Elimina 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>
    
  • Ottenere 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>
    
  • Sostituisci 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>
    
Criteri/Canali/{ChannelName}/SDDL
Ambito Edizioni Sistema operativo applicabile
✅ dispositivo
❌ utente
✅ Pro
✅ Enterprise
✅ Education
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, versione 1903 [10.0.18362] e versioni successive
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/SDDL

Stringa SDDL che controlla l'accesso al canale. Per altre informazioni, vedere Tipo complesso ChannelType.

Proprietà del framework di descrizione:

Nome della proprietà Valore proprietà
Formato chr (stringa)
Tipo accesso Aggiungere, eliminare, ottenere, sostituire
Distinzione tra maiuscole e minuscole True

Esempi:

  • Aggiungere 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>
    
  • Eliminare 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>
    
  • Ottenere 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>
    
  • Sostituire 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>
    

Confronto tra FileDownload e DiagnosticArchive

Entrambe le funzionalità FileDownload e DiagnosticArchive possono essere usate per ottenere i dati dal dispositivo al server di gestione, ma sono ottimizzati per flussi di lavoro diversi.

  • FileDownload consente al server di gestione di eseguire il pull diretto dei dati di traccia a livello di byte dal dispositivo gestito. Il trasferimento dei dati avviene tramite il contesto OMA-DM/SyncML esistente. Viene usato insieme alla funzionalità EtwLogs come parte di un flusso di monitoraggio o diagnostica avanzato. FileDownlod richiede un'orchestrazione granulare da parte del server di gestione, ma evita la necessità di archiviazione cloud dedicata.
  • DiagnosticArchive consente al server di gestione di fornire al provider di servizi di configurazione un set completo di istruzioni come singolo comando. In base a queste istruzioni, il provider di servizi di configurazione orchestra il lato client aziendale per creare il pacchetto dei file di diagnostica richiesti in un archivio ZIP e caricarlo nell'archiviazione cloud. Il trasferimento dei dati avviene all'esterno della sessione OMA-DM tramite HTTP PUT.

Come esaminare ArchiveResults

L'archivio ZIP creato e caricato da ArchiveResults contiene una struttura di cartelle come nell'esempio seguente:

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

Ogni direttiva di raccolta dati dal codice XML originale Collection corrisponde a una cartella nell'output. Ad esempio, la prima direttiva era:

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

La cartella 1 conterrà quindi il file corrispondente export.reg .

Il results.xml file è la mappa autorevole all'output. Include un codice di stato per ogni direttiva. L'ordine delle direttive nel file corrisponde all'ordine delle cartelle di output. L'uso results.xml dell'amministratore può visualizzare quali dati sono stati raccolti, quali errori potrebbero essersi verificati e quali cartelle contengono l'output. Ad esempio, il contenuto seguente results.xml indica che l'esportazione del Registro di sistema di HKLM\Software\Policies ha avuto esito positivo e che i dati sono disponibili nella cartella 1. Indica anche che netsh.exe wlan show profiles il comando non è riuscito.

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

Gli amministratori possono applicare l'automazione a "results.xml" per creare le proprie visualizzazioni preferite dei dati. Ad esempio, il codice one-liner di PowerShell seguente estrae dal codice XML un elenco ordinato delle direttive con codice di stato e dettagli.

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

Questo esempio produce un output simile all'output seguente:

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

L'esempio successivo estrae l'archivio ZIP in una struttura di file flat personalizzata. Ogni nome file include il numero di direttiva, HRESULT e così via. Questo esempio può essere personalizzato per effettuare scelte diverse sulle informazioni da includere nei nomi di file e sulle scelte di formattazione da effettuare per i caratteri speciali.

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

Questo script di esempio produce un set di file simile al set di file seguente, che può essere una visualizzazione utile per un amministratore che esplora in modo interattivo i risultati senza dover esplorare le sottocartelle o fare riferimento ripetutamente 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

Riferimento del provider di servizi di configurazione