Fournisseur de services de configuration DynamicManagement

Le tableau ci-dessous montre l’applicabilité de Windows :

Édition Windows 10 Windows 11
Accueil Non Non
Pro Non Non
Windows SE Non Non
Entreprise Non Non
Enterprise Oui Oui
Éducation Oui Oui

Windows 10 ou Windows 11 vous permet de gérer les appareils différemment selon l’emplacement, le réseau ou l’heure.  Ajouté dans Windows 10 version 1703, l’accent est mis sur les préoccupations les plus courantes exprimées par les organisations. Par exemple, les appareils gérés peuvent avoir des caméras désactivées lorsqu’ils sont au travail, le service cellulaire peut être désactivé en dehors du pays ou de la région pour éviter les frais d’itinérance, ou le réseau sans fil peut être désactivé lorsque l’appareil ne se trouve pas dans le bâtiment ou le campus de l’entreprise. Une fois configurés, ces paramètres sont appliqués même si l’appareil ne peut pas atteindre le serveur d’administration lorsque l’emplacement ou le réseau change. Le fournisseur CSP de gestion dynamique permet de configurer des stratégies qui modifient la manière dont est géré l'appareil, en plus de définir des conditions pour déclencher de telles modifications.

Ce fournisseur de solutions cloud a été ajouté dans Windows 10, version 1703.

L’exemple suivant montre le fournisseur de services de configuration DynamicManagement au format d’arborescence.

./Device/Vendor/MSFT
DynamicManagement
----NotificationsEnabled
----ActiveList
----Contexts
--------ContextID
------------SignalDefinition
------------SettingsPack
------------SettingsPackResponse
------------ContextStatus
------------Altitude
----AlertsEnabled

DynamicManagement Nœud racine du fournisseur de services de configuration DynamicManagement.

NotificationsEnabled Valeur booléenne pour l’envoi d’une notification à l’utilisateur d’une modification de contexte.

La valeur par défaut est False.

Les opérations prises en charge sont Obtenir et Remplacer.

Exemple pour activer NotificationsEnabled :

<Replace>
      <CmdID>100</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/NotificationsEnabled</LocURI>
        </Target>
        <Meta>
          <Type xmlns="syncml:metinf">text/plain</Type>
          <Format xmlns="syncml:metinf">bool</Format>
        </Meta>
          <Data>true</Data>
      </Item>
</Replace>

ActiveList Chaîne contenant la liste de tous les ContextID actifs sur l’appareil. Le délimiteur est 0xF000 caractères Unicode.

L’opération prise en charge est Obtenir.

Contextes Nœud pour les informations de contexte.

L’opération prise en charge est Obtenir.

ContextID Nœud créé par le serveur pour définir un contexte. Le nombre maximal de caractères autorisés est de 38.

Les opérations prises en charge sont Add, Get et Delete.

SignalDefinition Xml de définition de signal.

La type de valeur est une chaîne.

Les opérations prises en charge sont Add, Get, Delete et Replace.

ParamètresPack Paramètres appliqués lorsque le contexte est actif.

La type de valeur est une chaîne.

Les opérations prises en charge sont Add, Get, Delete et Replace.

SettingsPackResponse Réponse de l’application d’un pack de paramètres qui contient des informations sur chaque action individuelle.

La type de valeur est une chaîne.

L’opération prise en charge est Obtenir.

ContextStatus Rapports status du contexte. En cas d’échec, settingsPackResponse doit être vérifié pour déterminer ce qui a échoué exactement.

La type de valeur est un entier.

L’opération prise en charge est Obtenir.

Altitude Valeur qui détermine comment gérer la résolution des conflits d’application de plusieurs contextes sur l’appareil. Cela est obligatoire et doit être distinct des autres priorités.

La type de valeur est un entier.

Les opérations prises en charge sont Add, Get, Delete et Replace.

AlertsEnabled Valeur booléenne pour l’envoi d’une alerte au serveur en cas d’échec d’un contexte. Les opérations prises en charge sont Obtenir et Remplacer.

Exemples

Désactiver Cortana en fonction de l’emplacement géographique et de l’heure, de 9h à 17h00, dans le rayon de 100 mètres de la latitude/longitude spécifiée

    <Replace>
      <CmdID>200</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/Bldg109/SettingsPack</LocURI>
        </Target>
        <Meta>
          <Type xmlns="syncml:metinf">text/plain</Type>
          <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data><SyncML>
  <SyncBody><Replace><CmdID>1001</CmdID><Item><Target><LocURI>./Vendor/MSFT/Policy/Config/Experience/AllowCortana</LocURI></Target><Meta><Format xmlns="syncml:metinf">int</Format></Meta><Data>0</Data></Item></Replace><Final/></SyncBody></SyncML></Data>
      </Item>
    </Replace>
    <Replace>
      <CmdID>201</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/Bldg109/SignalDefinition</LocURI>
        </Target>
        <Meta>
          <Type xmlns="syncml:metinf">text/plain</Type>
          <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data>
          <rule schemaVersion="1.0">

           <and>
                    <signal type="geoloc" latitude="47.6375" longitude="-122.1402" radiusInMeters="100"/>
                    <signal type="time">
                              <daily startTime="09:00:00" endTime="17:00:00"/>
                    </signal>
           </and>
          </rule>
        </Data>
      </Item>
    </Replace>
    <Replace>
      <CmdID>202</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/Bldg109/Altitude</LocURI>
        </Target>
        <Meta>
          <Format xmlns="syncml:metinf">int</Format>
        </Meta>
        <Data>3</Data>
      </Item>
    </Replace>

Désactiver la caméra à l’aide d’un déclencheur réseau avec un déclencheur de temps, de 9 à 5, lorsque la passerelle ip4 est 192.168.0.1

<Replace>
      <CmdID>300</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime/SettingsPack</LocURI>
        </Target>
        <Meta>
          <Type xmlns="syncml:metinf">text/plain</Type>
          <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data><SyncML>
  <SyncBody><Replace><CmdID>1002</CmdID><Item><Target><LocURI>./Vendor/MSFT/Policy/Config/Camera/AllowCamera</LocURI></Target><Meta><Format xmlns="syncml:metinf">int</Format></Meta><Data>0</Data></Item></Replace> <Final/></SyncBody></SyncML></Data>
      </Item>
    </Replace>
    <Replace>
      <CmdID>301</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime/SignalDefinition</LocURI>
        </Target>
        <Meta>
          <Type xmlns="syncml:metinf">text/plain</Type>
          <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data>
          <rule schemaVersion="1.0">
           <and>
             <signal type="ipConfig">
                   <ipv4Gateway>192.168.0.1</ipv4Gateway>
             </signal>
                    <signal type="time">
                              <daily startTime="09:00:00" endTime="17:00:00"/>
                    </signal>
           </and>
          </rule>
        </Data>
      </Item>
    </Replace>
    <Replace>
      <CmdID>302</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime/Altitude</LocURI>
        </Target>
        <Meta>
          <Format xmlns="syncml:metinf">int</Format>
        </Meta>
        <Data>10</Data>
      </Item>
    </Replace>

Supprimer un contexte :

<Delete>
      <CmdID>400</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime</LocURI>
        </Target>
      </Item>
</Delete>

Obtenez ContextStatus et SignalDefinition à partir d’un contexte spécifique :

<Get>
      <CmdID>400</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime/ContextStatus</LocURI>
        </Target>
      </Item>
</Get>
<Get>
      <CmdID>401</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime/SignalDefinition </LocURI>
        </Target>
      </Item>
</Get>

Informations de référence sur les fournisseurs de services de configuration