CSP DynamicManagement
A tabela abaixo mostra a aplicabilidade do Windows:
Edição | Windows 10 | Windows 11 |
---|---|---|
Home | Não | Não |
Pro | Não | Não |
Windows SE | Não | Não |
Negócios | Não | Não |
Enterprise | Sim | Sim |
Educação | Sim | Sim |
Windows 10 ou Windows 11 permite gerenciar dispositivos de forma diferente, dependendo da localização, rede ou hora. Adicionado no Windows 10, versão 1703, o foco está nas áreas mais comuns de preocupação expressas pelas organizações. Por exemplo, dispositivos gerenciados podem ter câmeras desabilitadas quando em um local de trabalho, o serviço de celular pode ser desabilitado quando fora do país/região para evitar cobranças de roaming, ou a rede sem fio pode ser desabilitada quando o dispositivo não está dentro do prédio ou campus corporativo. Depois de configuradas, essas configurações serão impostas mesmo que o dispositivo não possa alcançar o servidor de gerenciamento quando o local ou a rede for alterado. O CSP de gerenciamento dinâmico habilita a configuração de políticas que alteram como o dispositivo é gerenciado além de definir as condições em que a alteração ocorre.
Este CSP foi adicionado no Windows 10, versão 1703.
O exemplo a seguir mostra o provedor de serviços de configuração DynamicManagement no formato de árvore.
./Device/Vendor/MSFT
DynamicManagement
----NotificationsEnabled
----ActiveList
----Contexts
--------ContextID
------------SignalDefinition
------------SettingsPack
------------SettingsPackResponse
------------ContextStatus
------------Altitude
----AlertsEnabled
DynamicManagement O nó raiz do provedor de serviços de configuração DynamicManagement.
Notificationsenabled Valor booliano para enviar notificação ao usuário de uma alteração de contexto.
O valor padrão é False.
As operações com suporte são Get e Replace.
Exemplo para ativar 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 Uma cadeia de caracteres que contém a lista de todos os ContextIDs ativos no dispositivo. Delimitador é 0xF000 de caractere unicode.
A operação com suporte é Get.
Contextos Nó para informações de contexto.
A operação com suporte é Get.
Contextid Nó criado pelo servidor para definir um contexto. O número máximo de caracteres permitidos é 38.
As operações com suporte são Adicionar, Obter e Excluir.
SignalDefinition Definição de sinal XML.
Tipo de valor é cadeia de caracteres.
As operações com suporte são Adicionar, Obter, Excluir e Substituir.
ConfiguraçõesPacote Configurações que são aplicadas quando o Contexto está ativo.
Tipo de valor é cadeia de caracteres.
As operações com suporte são Adicionar, Obter, Excluir e Substituir.
ConfiguraçõesPackResponse Resposta da aplicação de um Pacote de Configurações que contém informações sobre cada ação individual.
Tipo de valor é cadeia de caracteres.
A operação com suporte é Get.
ContextStatus Relatórios status do contexto. Se houve uma falha, configuraçõesPackResponse devem ser verificadas para o que exatamente está falhando.
Tipo de valor é número inteiro.
A operação com suporte é Get.
Altitude Um valor que determina como lidar com a resolução de conflitos da aplicação de vários contextos no dispositivo. Isso é necessário e deve ser distinto de outras prioridades.
Tipo de valor é número inteiro.
As operações com suporte são Adicionar, Obter, Excluir e Substituir.
AlertsEnabled Um valor booliano para enviar um alerta ao servidor quando um contexto falhar. As operações com suporte são Get e Replace.
Exemplos
Desabilitar a Cortana com base na localização geográfica e na hora, das 9h às 17h, quando no raio de 100 metros da latitude/longitude especificada
<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>
Desabilitar a câmera usando o gatilho de rede com gatilho de tempo, de 9 a 5, quando o 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>
Excluir um contexto:
<Delete>
<CmdID>400</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DynamicManagement/Contexts/NetworkWithTime</LocURI>
</Target>
</Item>
</Delete>
Obtenha ContextStatus e SignalDefinition de um contexto específico:
<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>