Panoramica del protocollo di configurazione dichiarato da Windows
Il protocollo di configurazione dichiarata da Windows (WinDC) è un modello di configurazione del dispositivo stato desiderato progettato per una gestione efficiente e affidabile dei dispositivi Windows. Usa il protocollo SyncML OMA-DM per fornire tutte le impostazioni necessarie in un singolo batch tramite un server OMA-DM dedicato. Lo stack client WinDC nel dispositivo elabora queste impostazioni per ottenere lo stato desiderato nel modo più efficiente e affidabile.
Il protocollo WinDC richiede che un dispositivo disponga di una registrazione OMA-DM separata, che dipende dal dispositivo registrato con il server OMA-DM primario. Il modello di stato desiderato è un modello diverso dal modello corrente in cui il server è responsabile dello stato desiderato del dispositivo. Questa doppia registrazione è consentita solo se il dispositivo è già registrato in un server MDM (Mobile Device Management) primario. Questa altra registrazione separa la funzionalità di gestione dello stato desiderata dalla funzionalità primaria.
La registrazione WinDC prevede due fasi:
- Individuazione della configurazione dichiarata: la fase di individuazione iniziale del protocollo WinDC usa uno schema JSON dedicato per eseguire query sui dettagli della registrazione dall'endpoint del servizio di individuazione (DS). Questa fase prevede l'invio di richieste HTTP con intestazioni specifiche e un corpo JSON contenente dettagli quali dominio utente, ID tenant e versione del sistema operativo. Il servizio DS risponde con gli URL del servizio di registrazione e i criteri di autenticazione necessari in base al tipo di registrazione (Microsoft Entra dispositivi aggiunti o registrati).
-
Registrazione di configurazione dichiarata: la fase di registrazione usa il protocollo MS-MDE2 e i nuovi criteri CSP DMClient per la doppia registrazione. Questa fase prevede l'impostazione di e l'attivazione
LinkedEnrollment/DiscoveryEndpoint
di usando iLinkedEnrollment/Enroll
comandi SyncML. Il dispositivo può quindi gestire il relativo stato di configurazione interagisce con il server OMA-DM tramite questi criteri.
La registrazione WinDC offre queste funzionalità di gestione dello stato desiderate:
- Accesso alle risorse: fornisce l'accesso alle risorse necessarie per la configurazione.
- Estendibilità: consente di estendere le funzionalità di configurazione in base alle esigenze.
Dopo la registrazione di un dispositivo, il server OMA-DM può inviare una raccolta completa di nomi di impostazione e valori per uno scenario specificato usando il provider di servizi di configurazione DeclaredConfiguration. Lo stack WinDC nel dispositivo è responsabile della gestione della richiesta di configurazione e della gestione del relativo stato, inclusi gli aggiornamenti allo scenario.
Il vantaggio del modello di stato desiderato di WinDC è che è efficiente e accurato, soprattutto perché è responsabilità dello stack client WinDC configurare il dispositivo. L'efficienza di WinDC è dovuta al fatto che il client può elaborare in modo asincrono batch di impostazioni dello scenario, liberando così le risorse del server per eseguire altre operazioni. Di conseguenza, il protocollo WinDC ha una bassa latenza. Per quanto riguarda la qualità e l'accuratezza della configurazione, lo stack client WinDC ha una conoscenza dettagliata della superficie di configurazione del dispositivo. Questo comportamento include la corretta gestione degli aggiornamenti continui dei dispositivi che influiscono sullo scenario di configurazione.
Piattaforme supportate
La registrazione WinDC per Microsoft Entra dispositivi aggiunti è supportata per tutte le versioni di Windows 10/11.
La registrazione WinDC per Microsoft Entra dispositivi registrati è supportata per Windows 10/11 con gli aggiornamenti seguenti:
- Windows 11 versione 24H2 con KB5040529 (build del sistema operativo 26100.1301)
- Windows 11 versione 23H2 con KB5040527 (build del sistema operativo 22631.3958)
- Windows 11 versione 22H2 con KB5040527 (build del sistema operativo 22621.3958)
- Windows 10 versione 22H2 con KB5040525 (build del sistema operativo 19045.4717)
Intervallo di aggiornamento
La pianificazione dell'aggiornamento di WinDC viene creata ogni volta che nel dispositivo è presente un documento WinDC e non è attualmente disponibile alcuna attività di pianificazione per l'aggiornamento. L'attività viene eseguita ogni 4 ore per impostazione predefinita e può essere configurata. Ogni volta che viene eseguita l'attività di aggiornamento WinDC, controlla tutte le deviazioni dallo stato desiderato confrontando la configurazione del sistema corrente con l'intenzione del server nei documenti WinDC. In caso di deviazioni, il motore WinDC tenta di riapplicare i documenti WinDC per correggerli. Nel caso in cui un documento WinDC non possa essere riapplicato a causa di dati dell'istanza mancanti, il documento WinDC viene contrassegnato in stato di deriva e viene attivata una nuova sessione di sincronizzazione per notificare la presenza di una deviazione.
Per identificare, modificare o rimuovere la pianificazione dell'aggiornamento, usare l'URI RefreshInterval :
Identificare la pianificazione corrente:
<?xml version="1.0" encoding="utf-8"?> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncBody> <Get> <CmdID>2</CmdID> <Item> <Target> <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> </Item> </Get> <Final /> </SyncBody> </SyncML>
Modificare la pianificazione corrente:
<?xml version="1.0" encoding="utf-8"?> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncBody> <Replace> <CmdID>2</CmdID> <Item> <Meta> <Format>int</Format> <Type>text/plain</Type> </Meta> <Target> <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> <Data>30</Data> </Item> </Replace> <Final /> </SyncBody> </SyncML>
Eliminare la pianificazione corrente e usare l'impostazione predefinita del sistema:
<?xml version="1.0" encoding="utf-8"?> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncBody> <Delete> <CmdID>2</CmdID> <Item> <Target> <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> </Item> </Delete> <Final /> </SyncBody> </SyncML>
Risoluzione dei problemi
Se l'elaborazione del documento di configurazione dichiarato ha esito negativo, gli errori vengono registrati nei log eventi di Windows:
- eventi Amministrazione:
Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Admin
. - Eventi operativi:
Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Operational
.
Errori comuni
Se usa l'ambito
<LocURI>
Dispositivo, mentre il documento DeclaredConfiguration specifica contesto utente, Amministrazione registro eventi visualizza un messaggio di errore simile al seguente:MDM ConfigurationManager: Command failure status. Configuration Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Name: (MicrosoftManagementPlatformCloud), Provider Name: (DeclaredConfiguration), Command Type: (SetValue: from Replace), CSP URI: (./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document), Result: (The system cannot find the file specified.)
Se l'ID documento non corrisponde tra e all'interno del
<LocURI>
documento DeclaredConfiguration, Amministrazione registro eventi visualizza un messaggio di errore simile al seguente:MDM Declared Configuration: End document parsing from CSP: Document Id: (DCA000B5-397D-40A1-AABF-40B25078A7F91), Scenario: (MSFTVPN), Version: (A0), Enrollment Id: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Current User: (S-1-5-21-1004336348-1177238915-682003330-1234), Schema: (1.0), Download URL: (), Scope: (0x1), Enroll Type: (0x1A), File size: (0xDE2), CSP Count: (0x1), URI Count: (0xF), Action Requested: (0x0), Model: (0x1), Result:(0x8000FFFF) Catastrophic failure.
Qualsiasi errore di digitazione nell'URI OMA comporta un errore. In questo esempio viene
TrafficFilterList
specificato invece diTrafficFilterLists
e Amministrazione registro eventi mostra un messaggio di errore simile al seguente:MDM ConfigurationManager: Command failure status. Configuraton Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Type: (MicrosoftManagementPlatformCloud), CSP Name: (vpnv2), Command Type: (Add: from Replace or Add), CSP URI: (./user/vendor/msft/vpnv2/Test_SonicWall/TrafficFilterLists), Result: (Unknown Win32 Error code: 0x86000002).
C'è anche un altro messaggio di avviso nel canale operativo:
MDM Declared Configuration: Function (DeclaredConfigurationExtension_PolicyCSPConfigureGivenCurrentDoc) operation (ErrorAtDocLevel: one or more CSPs failed) failed with (Unknown Win32 Error code: 0x82d00007).