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 | Sì | Sì |
Istruzione | Sì | Sì |
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>