Compartir a través de


Introducción al protocolo de configuración declarado por Windows

El protocolo de configuración declarada de Windows (WinDC) es un modelo de configuración de dispositivo de estado deseado diseñado para una administración eficaz y confiable de los dispositivos Windows. Usa el protocolo SyncML de OMA-DM para proporcionar todos los valores necesarios en un único lote a través de un servidor OMA-DM dedicado. La pila de cliente winDC del dispositivo procesa esta configuración para lograr el estado deseado de la manera más eficaz y confiable.

El protocolo WinDC requiere que un dispositivo tenga una inscripción de OMA-DM independiente, que depende del dispositivo que se inscribe con el servidor OMA-DM principal. El modelo de estado deseado es un modelo diferente del modelo actual en el que el servidor es responsable del estado deseado del dispositivo. Esta inscripción doble solo se permite si el dispositivo ya está inscrito en un servidor de administración de dispositivos móviles (MDM) principal. Esta otra inscripción separa la funcionalidad de administración de estado deseada de la funcionalidad principal.

La inscripción de WinDC implica dos fases:

  • Detección de configuración declarada: la fase de detección inicial del protocolo WinDC usa un esquema JSON dedicado para consultar los detalles de inscripción desde el punto de conexión del servicio de detección (DS). Esta fase implica el envío de solicitudes HTTP con encabezados específicos y un cuerpo JSON que contiene detalles como el dominio de usuario, el identificador de inquilino y la versión del sistema operativo. El DS responde con las direcciones URL del servicio de inscripción y las directivas de autenticación necesarias en función del tipo de inscripción (Microsoft Entra dispositivos unidos o registrados).
  • Inscripción de configuración declarada: la fase de inscripción usa el protocolo MS-MDE2 y las nuevas directivas de CSP de DMClient para la inscripción doble. Esta fase implica establecer LinkedEnrollment/DiscoveryEndpoint y desencadenar el LinkedEnrollment/Enroll uso de comandos SyncML. A continuación, el dispositivo puede administrar su estado de configuración mediante la interacción con el servidor OMA-DM a través de estas directivas.

La inscripción de WinDC ofrece estas características de administración de estado deseadas:

  • Acceso a recursos: proporciona acceso a los recursos necesarios para la configuración.
  • Extensibilidad: permite ampliar las funcionalidades de configuración según sea necesario.

Diagrama que ilustra el modelo de WinDC.

Una vez inscrito un dispositivo, el servidor OMA-DM puede enviar una colección completa de nombres y valores de configuración para un escenario especificado mediante el CSP DeclaredConfiguration. La pila de WinDC en el dispositivo es responsable de controlar la solicitud de configuración y mantener su estado, incluidas las actualizaciones del escenario.

La ventaja del modelo de estado deseado de WinDC es que es eficaz y preciso, especialmente porque es responsabilidad de la pila de cliente winDC configurar el dispositivo. La eficacia de WinDC se debe a que el cliente puede procesar de forma asincrónica lotes de configuración de escenarios, lo que libera los recursos del servidor para realizar otro trabajo. Por lo tanto, el protocolo WinDC tiene una latencia baja. En cuanto a la calidad y precisión de la configuración, la pila de cliente de WinDC tiene conocimientos detallados del área de la superficie de configuración del dispositivo. Este comportamiento incluye el control adecuado de las actualizaciones continuas de dispositivos que afectan al escenario de configuración.

Plataformas compatibles

La inscripción de WinDC para dispositivos unidos a Microsoft Entra es compatible con todas las versiones de Windows 10/11.

La inscripción de WinDC para Microsoft Entra dispositivos registrados se admite para Windows 10/11 con las siguientes actualizaciones:

  • Windows 11, versión 24H2 con KB5040529 (compilación del sistema operativo 26100.1301)
  • Windows 11, versión 23H2 con KB5040527 (compilación del sistema operativo 22631.3958)
  • Windows 11, versión 22H2 con KB5040527 (compilación del sistema operativo 22621.3958)
  • Windows 10, versión 22H2 con KB5040525 (compilación del sistema operativo 19045.4717)

Intervalo de actualización

La programación de actualización de WinDC se crea cada vez que hay un documento de WinDC presente en el dispositivo y actualmente no hay ninguna tarea de programación para la actualización. La tarea se ejecuta cada 4 horas de forma predeterminada y se puede configurar. Cada vez que se ejecuta la tarea de actualización de WinDC, comprueba todos los desfases del estado deseado comparando la configuración actual del sistema con la intención del servidor en los documentos de WinDC. Si hay algún desfase, el motor de WinDC intenta volver a aplicar los documentos de WinDC para corregirlo. En caso de que no se pueda volver a aplicar un documento de WinDC debido a que faltan datos de instancia, el documento de WinDC se marca en estado de desfase y se desencadena una nueva sesión de sincronización para notificar que hay un desfase.

Para identificar, ajustar o quitar la programación de actualización, use el URI RefreshInterval :

  • Identificar la programación actual:

    <?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>
    
  • Ajuste de la programación actual:

    <?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>
    
  • Elimine la programación actual y use el valor predeterminado 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>
    

Solución de problemas

Si se produce un error en el procesamiento del documento de configuración declarado, los errores se registran en los registros de eventos de Windows:

  • Administración eventos: Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Admin.
  • Eventos operativos: Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Operational.

Errores comunes

  • Si usa ámbito <LocURI>de dispositivo, mientras que el documento DeclaredConfiguration especifica el contexto de usuario, Administración registro de eventos muestra un mensaje de error similar al siguiente:

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

  • Si el identificador de documento no coincide entre el <LocURI> documento DeclaredConfiguration y dentro de él, Administración registro de eventos muestra un mensaje de error similar al siguiente:

    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-3436249567-4017981746-3373817415-1001), 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.

  • Cualquier error tipográfico en el OMA-URI produce un error. En este ejemplo, TrafficFilterList se especifica en lugar de TrafficFilterListsy Administración registro de eventos muestra un mensaje de error similar al siguiente:

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

    También hay otro mensaje de advertencia en el canal operativo:

    MDM Declared Configuration: Function (DeclaredConfigurationExtension_PolicyCSPConfigureGivenCurrentDoc) operation (ErrorAtDocLevel: one or more CSPs failed) failed with (Unknown Win32 Error code: 0x82d00007)