在 MDM 中启用 ADMX 策略
从 Windows 10 开始,移动设备管理 (MDM) 策略配置支持已扩展,允许通过策略配置服务提供商 (CSP ) 访问所选组策略管理模板集 (适用于 Windows 电脑的 ADMX 策略) 。 在策略 CSP 中配置 ADMX 策略不同于配置传统 MDM 策略的典型方法。
启用策略的步骤摘要:
- 从 ADMX 策略列表中查找策略。
- 从 MDM 策略说明中找到组策略相关信息。
- 使用组策略 编辑器确定是否需要参数来启用策略。
- 为 SyncML 创建数据有效负载。
有关使用 Intune 的演练,请参阅支持提示:使用 Microsoft Intune 引入 Office ADMX策略和使用 Microsoft Intune 部署 ADMX 策略。
启用策略
注意
请参阅 了解策略 CSP 中的 ADMX 策略。
从 ADMX 策略列表中查找策略。 需要策略说明中列出的以下信息。
- GP 友好名称
- GP 名称
- GP ADMX 文件名
- GP 路径
使用组策略 编辑器确定是否需要其他信息来启用策略。 运行 GPEdit.msc
选择“ 开始”,然后在文本框中键入 gpedit。
在 “最佳匹配”下,选择 “编辑组策略 ”以启动它。
在 “本地计算机策略” 中,导航到要配置的策略。
在此示例中,导航到 “管理模板 > 系统 > App-V”。
双击“ 启用 App-V 客户端”。
“选项”部分为空,这意味着不需要参数来启用策略。 如果“选项”部分不为空,请按照启用需要参数的策略中的过程操作
创建 SyncML 以启用不需要任何参数的策略。
在此示例中,将 “启用 App-V 客户端” 配置为 “已启用”。
注意
数据<>有效负载必须经过 XML 编码。 若要避免编码,可以使用 CData(如果 MDM 支持)。 有关详细信息,请参阅 CDATA 节。 如果使用Intune,请选择“字符串”作为数据类型。
<SyncML xmlns="SYNCML:SYNCML1.2"> <SyncBody> <Replace> <CmdID>2</CmdID> <Item> <Meta> <Format>chr</Format> <Type>text/plain</Type> </Meta> <Target> <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/AllowAppVClient </LocURI> </Target> <Data><Enabled/></Data> </Item> </Replace> <Final/> </SyncBody> </SyncML>
启用需要参数的策略
创建 SyncML 以启用需要参数的策略。
在此示例中,策略位于 管理模板 > 系统 > App-V > 发布中。
双击“ 发布服务器 2 设置” 以查看启用此策略时需要配置的参数。
在 ADMX 文件中查找参数的变量名称。
可以在策略 CSP 的策略说明中找到 ADMX 文件名。 在此示例中,文件名 appv.admx 列在 AppVirtualization/PublishingAllowServer2 中。
导航到 C:\Windows\PolicyDefinitions (ADMX 文件) 的默认位置,然后打开 appv.admx。
Publishing_Server2_policy搜索 GP 名称。
在 策略名称=“Publishing_Server2_Policy” 下,可以看到
<elements>
列出的 。text id
和enum id
表示data id
需要包含在 SyncML 数据有效负载中的 。 它们对应于你在组策略 编辑器中看到的字段。下面是 appv.admx 中的代码片段:
<!-- Publishing Server 2 --> <policy name="Publishing_Server2_Policy" class="Machine" displayName="$(string.PublishingServer2)" explainText="$(string.Publishing_Server_Help)" presentation="$(presentation.Publishing_Server2)" key="SOFTWARE\Policies\Microsoft\AppV\Client\Publishing\Servers\2"> <parentCategory ref="CAT_Publishing" /> <supportedOn ref="windows:SUPPORTED_Windows7" /> <elements> <text id="Publishing_Server2_Name_Prompt" valueName="Name" required="true"/> <text id="Publishing_Server_URL_Prompt" valueName="URL" required="true"/> <enum id="Global_Publishing_Refresh_Options" valueName="GlobalEnabled"> <item displayName="$(string.False)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.True)"> <value> <decimal value="1"/> </value> </item> </enum> <enum id="Global_Refresh_OnLogon_Options" valueName="GlobalLogonRefresh"> <item displayName="$(string.False)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.True)"> <value> <decimal value="1"/> </value> </item> </enum> <decimal id="Global_Refresh_Interval_Prompt" valueName="GlobalPeriodicRefreshInterval" minValue="0" maxValue="31"/> <enum id="Global_Refresh_Unit_Options" valueName="GlobalPeriodicRefreshIntervalUnit"> <item displayName="$(string.Hour)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.Day)"> <value> <decimal value="1"/> </value> </item> </enum> <enum id="User_Publishing_Refresh_Options" valueName="UserEnabled"> <item displayName="$(string.False)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.True)"> <value> <decimal value="1"/> </value> </item> </enum> <enum id="User_Refresh_OnLogon_Options" valueName="UserLogonRefresh"> <item displayName="$(string.False)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.True)"> <value> <decimal value="1"/> </value> </item> </enum> <decimal id="User_Refresh_Interval_Prompt" valueName="UserPeriodicRefreshInterval" minValue="0" maxValue="31"/> <enum id="User_Refresh_Unit_Options" valueName="UserPeriodicRefreshIntervalUnit"> <item displayName="$(string.Hour)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.Day)"> <value> <decimal value="1"/> </value> </item> </enum> </elements> </policy>
从 标记中
<elements>
复制所有 和enum id
,text id
并使用 和value
字段创建 XMLdata id
。 值字段包含将在组策略 编辑器中输入的配置设置。下面是Publishing_Server2_Policy的示例 XML:
<data id="Publishing_Server2_Name_Prompt" value="Name"/> <data id="Publishing_Server_URL_Prompt" value="http://someuri"/> <data id="Global_Publishing_Refresh_Options" value="1"/> <data id="Global_Refresh_OnLogon_Options" value="0"/> <data id="Global_Refresh_Interval_Prompt" value="15"/> <data id="Global_Refresh_Unit_Options" value="0"/> <data id="User_Publishing_Refresh_Options" value="0"/> <data id="User_Refresh_OnLogon_Options" value="0"/> <data id="User_Refresh_Interval_Prompt" value="15"/> <data id="User_Refresh_Unit_Options" value="1"/>
创建 SyncML 以启用策略。 有效负载包含 <enabled/> 和名称/值对。
下面是 AppVirtualization/PublishingAllowServer2 的示例:
注意
数据<>有效负载必须经过 XML 编码。 若要避免编码,可以使用 CData(如果 MDM 支持)。 有关详细信息,请参阅 CDATA 节。 如果使用Intune,请选择“字符串”作为数据类型。
<?xml version="1.0" encoding="utf-8"?> <SyncML xmlns="SYNCML:SYNCML1.2"> <SyncBody> <Replace> <CmdID>2</CmdID> <Item> <Meta> <Format>chr</Format> <Type>text/plain</Type> </Meta> <Target> <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI> </Target> <Data> <![CDATA[<enabled/><data id="Publishing_Server2_Name_Prompt" value="name prompt"/><data id="Publishing_Server_URL_Prompt" value="URL prompt"/><data id="Global_Publishing_Refresh_Options" value="1"/><data id="Global_Refresh_OnLogon_Options" value="0"/><data id="Global_Refresh_Interval_Prompt" value="15"/><data id="Global_Refresh_Unit_Options" value="0"/><data id="User_Publishing_Refresh_Options" value="0"/><data id="User_Refresh_OnLogon_Options" value="0"/><data id="User_Refresh_Interval_Prompt" value="15"/><data id="User_Refresh_Unit_Options" value="1"/>]]> </Data> </Item> </Replace> <Final/> </SyncBody> </SyncML>
禁用策略
数据<>有效负载已<禁用/>。 下面是禁用 AppVirtualization/PublishingAllowServer2 的示例。
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>2</CmdID>
<Item>
<Meta>
<Format>chr</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI>
</Target>
<Data><disabled/></Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>
将策略设置为未配置
数据<>有效负载为空。 下面是将 AppVirtualization/PublishingAllowServer2 设置为“未配置”的示例。
<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Delete>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI>
</Target>
</Item>
</Delete>
<Final/>
</SyncBody>
</SyncML>