CSP DynamicManagement

La tabella seguente mostra l'applicabilità di Windows:

Edizione Windows 10 Windows 11
Home No No
Pro No No
Windows SE No No
Lavoro No No
Per le aziende
Istruzione

Windows 10 o Windows 11 consente di gestire i dispositivi in modo diverso a seconda della posizione, della rete o dell'ora.  Aggiunta in Windows 10 versione 1703, l'attenzione è rivolta alle aree di interesse più comuni espresse dalle organizzazioni. Ad esempio, i dispositivi gestiti possono avere fotocamere disabilitate quando si trovano in un luogo di lavoro, il servizio cellulare può essere disabilitato all'esterno del paese o dell'area geografica per evitare addebiti per il roaming o la rete wireless può essere disabilitata quando il dispositivo non si trova all'interno dell'edificio o del campus aziendale. Una volta configurate, queste impostazioni verranno applicate anche se il dispositivo non riesce a raggiungere il server di gestione quando cambia il percorso o la rete. Il CSP DynamicManagement consente la configurazione di criteri che modificano la modalità di gestione del dispositivo oltre a impostare le condizioni in cui si verifica la modifica.

Questo provider di servizi di configurazione è stato aggiunto in Windows 10 versione 1703.

Nell'esempio seguente viene illustrato il provider di servizi di configurazione DynamicManagement in formato albero.

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

DynamicManagement Nodo radice per il provider del servizio di configurazione DynamicManagement.

NotificationsEnabled Valore booleano per l'invio di notifiche all'utente di una modifica di contesto.

Il valore predefinito è False.

Le operazioni supportate sono Get e Replace.

Esempio per attivare 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 Stringa contenente l'elenco di tutti gli ID contesto attivi nel dispositivo. Il delimitatore è un carattere Unicode 0xF000.

L'operazione supportata è Get.

Contesti Nodo per informazioni sul contesto.

L'operazione supportata è Get.

ContextID Nodo creato dal server per definire un contesto. Il numero massimo di caratteri consentiti è 38.

Le operazioni supportate sono Add, Get ed Delete.

SignalDefinition XML di definizione del segnale.

Il tipo di valore è string.

Le operazioni supportate sono Add, Get, Delete e Replace.

SettingsPack Impostazioni che vengono applicate quando il contesto è attivo.

Il tipo di valore è string.

Le operazioni supportate sono Add, Get, Delete e Replace.

SettingsPackResponse Risposta dall'applicazione di un Settings Pack che contiene informazioni su ogni singola azione.

Il tipo di valore è string.

L'operazione supportata è Get.

ContextStatus Segnala lo stato del contesto. Se si è verificato un errore, è necessario verificare che settingsPackResponse non sia riuscito.

Il tipo di valore è un numero intero.

L'operazione supportata è Get.

Altitudine Valore che determina come gestire la risoluzione dei conflitti dell'applicazione di più contesti nel dispositivo. Ciò è necessario e deve essere distinto da altre priorità.

Il tipo di valore è un numero intero.

Le operazioni supportate sono Add, Get, Delete e Replace.

AlertsEnabled Valore booleano per l'invio di un avviso al server in caso di errore di un contesto. Le operazioni supportate sono Get e Replace.

Esempi

Disabilitare Cortana in base alla posizione geografica e all'ora, dalle 9:00 alle 17:00, quando nel raggio di 100 metri della latitudine/longitudine specificata

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

Disabilitare la fotocamera usando il trigger di rete con trigger temporale, da 9 a 5, quando il gateway ip4 è 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>

Eliminare un contesto:

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

Ottenere ContextStatus e SignalDefinition da un contesto specifico:

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

Riferimento del provider di servizi di configurazione