ADMXIngestion(Windows 配置设计器参考)
从 Windows 10 版本 1703 开始,可以导入 (引入) 组策略 管理模板 (ADMX 文件) ,并在预配包中为 ADMX 支持的策略配置值。 若要查看可以应用哪些类型的 ADMX 支持的策略,请参阅 Win32 和桌面桥应用策略配置概述。
ConfigADMXInstalledPolicy 下的设置允许你为导入的 ADMX 文件中的策略设置值。
ConfigOperations 下的设置指定要导入的 ADMX 文件。
重要提示
只能使用预配包设置 (class=“Machine”或 class=“Both”) 的设备范围策略。
适用范围
设置组 | Windows 客户端 | Surface Hub | HoloLens | IoT 企业版 |
---|---|---|---|---|
ConfigADMXInstalledPolicy | ✅ | ✅ | ||
ConfigOperations | ✅ | ✅ |
ConfigOperations
使用 ConfigOperations 从 ADMX 文件导入 ADMX 策略。
输入应用名称,然后单击添加。 这可以是你指定的任何名称,因此请选择描述性名称以帮助你识别其目的。 例如,如果要为 Chromium Edge 导入 ADMX,请输入应用名称。 例子
MSEdgeEfficiencyMode
在自定义设置窗格中选择应用名称,然后单击添加。 策略和首选项选择不会影响设置行为,仅为了便于对添加的设置进行分类。
在自定义设置窗格中选择设置类型。 在 AdmxFileUid 字段中,输入 ADMX 文件的名称或文件的唯一 ID,然后单击添加。 AdmxFileUid 可以是任何字符串,但在预配包中必须唯一。 使用 ADMX 文件的名称将帮助你将来识别该文件。 例子
MSEdgeEfficiencyMode
注意
使 AdmxFileUid 和 AppName 保持相同将有助于防止授权错误。
在自定义设置窗格中选择 AdmxFileUid,并将 ADMX 文件的内容粘贴到文本字段中。 复制 ADMX 文件的内容之前,你必须将其转换为单行。 请参阅将多行转换为单行中的说明。
注意
当 ADMX 文件较大时,你可能仅想包括特定设置。 你可以不粘贴整个 ADMX 文件,而是粘贴一个或多个特定策略(将其转换为单行后)。
示例,EfficiencyMode
<policy class="Both" displayName="$(string.EfficiencyMode)" explainText="$(string.EfficiencyMode_Explain)" key="Software\Policies\Microsoft\Edge" name="EfficiencyMode" presentation="$(presentation.EfficiencyMode)"> <parentCategory ref="Performance"/> <supportedOn ref="SUPPORTED_WIN7_V96"/> <elements> <enum id="EfficiencyMode" valueName="EfficiencyMode"> <item displayName="$(string.EfficiencyMode_AlwaysActive)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.EfficiencyMode_NeverActive)"> <value> <decimal value="1"/> </value> </item> <item displayName="$(string.EfficiencyMode_ActiveWhenUnplugged)"> <value> <decimal value="2"/> </value> </item> <item displayName="$(string.EfficiencyMode_ActiveWhenUnpluggedBatteryLow)"> <value> <decimal value="3"/> </value> </item> </enum> </elements> </policy>
对你要添加的每一个 ADMX 或每一组 ADMX 策略重复此操作,然后逐一配置 ConfigADMXInstalledPolicy。
ConfigADMXInstalledPolicy
重要提示
配置设置,以便先将 ADMX 文件导入 ConfigOperations。
在 ConfigADMXInstalledPolicy 中,从导入的 ADMX 提供策略设置和该策略的值。 你需要使用导入 ConfigOperations 中的 ADMX 的信息完成 ConfigADMXInstalledPolicy。
- 输入区域名称,然后单击添加。 区域名称的结构如下:
<AppName (from ConfigOperations)>~<SettingType>~<category name from ADMX>
有关详细信息,请参阅 ADMX 中的类别和策略 。 设置可能具有多个级别的类别名称,如以下示例所示。 示例:MSEdgeEfficiencyMode~Policy~microsoft_edge~Performance
- 在自定义设置窗格中选择区域名称,输入 ADMX 的策略名称,然后单击添加。
示例:
EfficiencyMode
。 - 在自定义设置窗格中选择策略名称,然后在文本字段中输入 ADMX 的值。
示例:
<enabled/><data id="EfficiencyMode" Value="2">
。
ADMX 中的类别和策略
以下示例演示上述过程中的示例中使用的 Chromium Edge 的 ADMX 文件。 第一个示例突出显示了类别名称。
<categories>
<category displayName="$(string.microsoft_edge)" name="microsoft_edge"/>
<category displayName="$(string.Performance_group)" name="Performance">
<parentCategory ref="microsoft_edge"/>
</category>
</categories>
下一个示例突出显示了特定策略。
<policy class="Both" displayName="$(string.EfficiencyMode)" explainText="$(string.EfficiencyMode_Explain)" key="Software\Policies\Microsoft\Edge" name="EfficiencyMode" presentation="$(presentation.EfficiencyMode)">
<parentCategory ref="Performance"/>
<supportedOn ref="SUPPORTED_WIN7_V96"/>
<elements>
<enum id="EfficiencyMode" valueName="EfficiencyMode">
<item displayName="$(string.EfficiencyMode_AlwaysActive)">
<value>
<decimal value="0"/>
</value>
</item>
<item displayName="$(string.EfficiencyMode_NeverActive)">
<value>
<decimal value="1"/>
</value>
</item>
<item displayName="$(string.EfficiencyMode_ActiveWhenUnplugged)">
<value>
<decimal value="2"/>
</value>
</item>
<item displayName="$(string.EfficiencyMode_ActiveWhenUnpluggedBatteryLow)">
<value>
<decimal value="3"/>
</value>
</item>
</enum>
</elements>
</policy>
将多行转换为单行
使用以下 PowerShell cmdlet 删除多行文件的回车号和换行符,以创建可以粘贴到 AdmxFileUid 中的单行文件。
$outputFile = "output.admx"
$inputFile = "input.admx"
(Get-Content $inputFile -Raw).Replace("`r`n","") | Set-Content $outputFile -Force
配置示例
示例:边缘效率模式
<?xml version="1.0" encoding="utf-8"?>
<WindowsCustomizations>
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
<ID>{d1ab1e3e-6e6d-4bd5-b35b-34cca18d2e16}</ID>
<Name>MSEdgeEfficiencyMode</Name>
<Version>1.1</Version>
<OwnerType>OEM</OwnerType>
<Rank>0</Rank>
<Notes></Notes>
</PackageConfig>
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
<Customizations>
<Common>
<ADMXIngestion>
<ConfigADMXInstalledPolicy>
<AreaName>
<PolicyName AreaName="MSEdgeEfficiencyMode~Policy~microsoft_edge~Performance" Name="MSEdgeEfficiencyMode~Policy~microsoft_edge~Performance">
<SetAdmxPolicy PolicyName="EfficiencyMode" Name="EfficiencyMode"><enabled/><data id="EfficiencyMode" value="2"/></SetAdmxPolicy>
</PolicyName>
</AreaName>
</ConfigADMXInstalledPolicy>
<ConfigOperations>
<ADMXInstall>
<AppName>
<SettingType AppName="MSEdgeEfficiencyMode" Name="MSEdgeEfficiencyMode">
<ADMXFileUniqueID SettingType="Policy" Name="Policy">
<InsertADMXFile AdmxFileUid="MSEdgeEfficiencyMode" Name="MSEdgeEfficiencyMode"><?xml version="1.0" ?><policyDefinitions revision="1.0" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions"> <!--microsoft_edge version: 96.0.1054.62--> <policyNamespaces> <target namespace="Microsoft.Policies.Edge" prefix="microsoft_edge"/> <using namespace="Microsoft.Policies.Windows" prefix="windows"/> </policyNamespaces> <resources minRequiredRevision="1.0"/> <supportedOn> <definitions> <definition displayName="$(string.SUPPORTED_WIN7_V96)" name="SUPPORTED_WIN7_V96"/> </definitions> </supportedOn> <categories> <category displayName="$(string.microsoft_edge)" name="microsoft_edge"/> <category displayName="$(string.Performance_group)" name="Performance"> <parentCategory ref="microsoft_edge"/> </category> </categories> <policies> <policy class="Both" displayName="$(string.EfficiencyMode)" explainText="$(string.EfficiencyMode_Explain)" key="Software\Policies\Microsoft\Edge" name="EfficiencyMode" presentation="$(presentation.EfficiencyMode)"> <parentCategory ref="Performance"/> <supportedOn ref="SUPPORTED_WIN7_V96"/> <elements> <enum id="EfficiencyMode" valueName="EfficiencyMode"> <item displayName="$(string.EfficiencyMode_AlwaysActive)"> <value> <decimal value="0"/> </value> </item> <item displayName="$(string.EfficiencyMode_NeverActive)"> <value> <decimal value="1"/> </value> </item> <item displayName="$(string.EfficiencyMode_ActiveWhenUnplugged)"> <value> <decimal value="2"/> </value> </item> <item displayName="$(string.EfficiencyMode_ActiveWhenUnpluggedBatteryLow)"> <value> <decimal value="3"/> </value> </item> </enum> </elements> </policy> </policies></policyDefinitions></InsertADMXFile>
</ADMXFileUniqueID>
</SettingType>
</AppName>
</ADMXInstall>
</ConfigOperations>
</ADMXIngestion>
</Common>
</Customizations>
</Settings>
</WindowsCustomizations>