配置服务提供程序 DDF 文件
本文列出了各种配置服务提供程序的 OMA DM 设备描述框架 (DDF) 文件。 DDF 文件仅用于 OMA DM 预配 XML。
截至 2022 年 12 月,DDF XML 架构已更新为包含其他信息,例如 OS 生成适用性。 Windows 10和Windows 11的 DDF v2 XML 文件合并在一起,在一次下载中提供:
DDF v2 架构
下面列出了 DDF v2 XML 架构定义以及所 MSFT
引用命名空间的架构定义。
DDF v2 的架构定义:
<?xml version="1.0" encoding="Windows-1252"?> <xs:schema xmlns="http://tempuri.org/DM_DDF-V1_2" elementFormDefault="qualified" targetNamespace="http://tempuri.org/DM_DDF-V1_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:MSFT="http://schemas.microsoft.com/MobileDevice/DM"> <xs:import schemaLocation="DDFv2Msft.xsd" namespace="http://schemas.microsoft.com/MobileDevice/DM" /> <xs:element name="MgmtTree"> <xs:annotation> <xs:documentation>Starting point for DDF</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="VerDTD" /> <xs:element minOccurs="1" ref="MSFT:Diagnostics" /> <xs:element minOccurs="1" maxOccurs="unbounded" ref="Node" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="VerDTD" type="xs:string" /> <xs:element name="Node"> <xs:annotation> <xs:documentation>Main Recurring XML tag describing nodes of the CSP</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="NodeName" /> <xs:element minOccurs="0" maxOccurs="1" ref="Path" /> <xs:element minOccurs="1" maxOccurs="1" ref="DFProperties" /> <xs:choice> <xs:element minOccurs="0" maxOccurs="unbounded" ref="Node" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NodeName" type="xs:anyURI" /> <xs:element name="Path" type="xs:anyURI" /> <xs:element name="MIME" type="xs:string" /> <xs:element name="DDFName" type="xs:string" /> <xs:element name="DFProperties"> <xs:complexType> <xs:sequence> <xs:element ref="AccessType" /> <xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue" /> <xs:element minOccurs="0" maxOccurs="1" ref="Description" /> <xs:element ref="DFFormat" /> <xs:element minOccurs="0" maxOccurs="1" ref="Occurrence" /> <xs:element minOccurs="0" maxOccurs="1" ref="Scope" /> <xs:element minOccurs="0" maxOccurs="1" ref="DFTitle" /> <xs:element ref="DFType" /> <xs:element minOccurs="0" maxOccurs="1" ref="CaseSense" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Applicability" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DynamicNodeNaming" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AllowedValues" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ReplaceBehavior" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:RebootBehavior" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:GpMapping" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:CommonErrorResults" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Deprecated" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DependencyBehavior" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ConflictResolution" /> <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AtomicRequired" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AccessType"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Add" /> <xs:element minOccurs="0" maxOccurs="1" name="Copy" /> <xs:element minOccurs="0" maxOccurs="1" name="Delete" /> <xs:element minOccurs="0" maxOccurs="1" name="Exec" /> <xs:element minOccurs="0" maxOccurs="1" name="Get" /> <xs:element minOccurs="0" maxOccurs="1" name="Replace" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DefaultValue" type="xs:string" /> <xs:element name="Description" type="xs:string" /> <xs:element name="DFFormat"> <xs:complexType> <xs:choice> <xs:element name="b64" /> <xs:element name="bin" /> <xs:element name="bool" /> <xs:element name="chr" /> <xs:element name="int" /> <xs:element name="node" /> <xs:element name="null" /> <xs:element name="xml" /> <xs:element name="date" /> <xs:element name="time" /> <xs:element name="float" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="Occurrence"> <xs:complexType> <xs:choice> <xs:element name="One" /> <xs:element name="ZeroOrOne" /> <xs:element name="ZeroOrMore" /> <xs:element name="OneOrMore" /> <xs:element name="ZeroOrN" type="xs:integer" /> <xs:element name="OneOrN" type="xs:integer" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="Scope"> <xs:complexType> <xs:choice> <xs:element name="Permanent" /> <xs:element name="Dynamic" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="DFTitle" type="xs:string" /> <xs:element name="DFType"> <xs:complexType> <xs:choice> <xs:element minOccurs="1" maxOccurs="unbounded" ref="MIME" /> <xs:element ref="DDFName" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="CaseSense"> <xs:complexType> <xs:choice> <xs:element name="CS" /> <xs:element name="CIS" /> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
命名空间的
MSFT
架构定义:<?xml version="1.0" encoding="utf-8"?> <xs:schema elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/MobileDevice/DM" targetNamespace="http://schemas.microsoft.com/MobileDevice/DM" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Diagnostics" type="xs:string"> <xs:annotation> <xs:documentation>This node contains an XML blob that can be used as an argument to the DiagnosticsLogCSP to pull diagnostics for a feature.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Deprecated"> <xs:annotation> <xs:documentation>This node marks that a feature is deprecated. If included, OsBuildDeprecated gives the OS Build version that the node is no longer recommended to be set.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="OsBuildDeprecated" type="xs:string" /> </xs:complexType> </xs:element> <xs:element name="DynamicNodeNaming"> <xs:annotation> <xs:documentation>This node contains information on how to dynamically name the node such that the name is valid.</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice> <xs:element name="ServerGeneratedUniqueIdentifier"> <xs:annotation> <xs:documentation>This indicates that the server should generate a unique identifier for the node.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientInventory"> <xs:annotation> <xs:documentation>This indicates that the client will generate the name of the node based on the device state (such as inventorying apps).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="UniqueName" type="xs:string"> <xs:annotation> <xs:documentation>This indicates that the server should name the node, and the value listed gives a regex to define what is allowed.</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:complexType> </xs:element> <xs:element name="ConflictResolution" default="NoMerge"> <xs:simpleType> <xs:annotation> <xs:documentation>The type of the conflict resolution.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="NoMerge"> <xs:annotation> <xs:documentation>No policy merge.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LowestValueMostSecure"> <xs:annotation> <xs:documentation>The lowest value is the most secure policy value.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="HighestValueMostSecure"> <xs:annotation> <xs:documentation>The highest value is the most secure policy value.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LastWrite"> <xs:annotation> <xs:documentation>The last written value is current value</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LowestValueMostSecureZeroHasNoLimits"> <xs:annotation> <xs:documentation>The lowest value is the most secure policy value unless the value is zero.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="HighestValueMostSecureZeroHasNoLimits"> <xs:annotation> <xs:documentation>The highest value is the most secure policy value unless the value is zero.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Applicability"> <xs:annotation> <xs:documentation>These tags indicate what are required on the device for the node to be applicable to configured. These tags can be inherited by children nodes.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="OsBuildVersion" type="xs:string"> <xs:annotation> <xs:documentation>This tag describes the first build that a feature is released to. If the feature was backported, multiple OS versions will be listed, such that the OS build version without a minor number is the first "major release."</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="CspVersion" type="xs:decimal"> <xs:annotation> <xs:documentation>This tag describes the lowest CSP Version that the node was released to.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="EditionAllowList" type="xs:string"> <xs:annotation> <xs:documentation>This tag describes the list of Edition IDs that the features is allowed on. 0x88* refers to Windows Holographic for Business.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="RequiresAzureAd"> <xs:annotation> <xs:documentation>This tag indicates that the node requires the device to be Azure Active Directory Joined to be applicable.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AllowedValues"> <xs:annotation> <xs:documentation>These tags describe what values are allowed to be set for this particular node.</xs:documentation> </xs:annotation> <xs:complexType> <xs:group ref="AllowedValuesGroup" /> <xs:attributeGroup ref="AllowedValuesAttributeGroup" /> </xs:complexType> </xs:element> <xs:attributeGroup name="AllowedValuesAttributeGroup"> <xs:attribute name="ValueType" use="required"> <xs:annotation> <xs:documentation>This attribute describes what kind of Allowed Values tag this is.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="XSD"> <xs:annotation> <xs:documentation>This attribute indicates that the Value tag contains an XSD for the node.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="RegEx"> <xs:annotation> <xs:documentation>This attribute indicates that the Value tag contains a RegEx for the node.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="ADMX"> <xs:annotation> <xs:documentation>This attribute indicates that the node can be described by an external ADMX file.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="JSON"> <xs:annotation> <xs:documentation>This attribute indicates that the node can be described by a JSON schema.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="ENUM"> <xs:annotation> <xs:documentation>This attribute indicates that the allowed values are an enumeration.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Flag"> <xs:annotation> <xs:documentation>This attribute indicates that the allowed values can be combined into a bitwise flag.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Range"> <xs:annotation> <xs:documentation>This attribute indicates that the allowed values are a numerical range.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SDDL"> <xs:annotation> <xs:documentation>This attribute indicates that the allowed values are a string in the SDDL format.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="None"> <xs:annotation> <xs:documentation>This attribute indicates there is no data-driven way to define the allowed values of the node. This potentially means that all string values are valid values.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:group name="AllowedValuesGroup"> <xs:sequence> <xs:group minOccurs="0" maxOccurs="1" ref="AllowedValueGroupedNodes" /> <xs:element minOccurs="0" maxOccurs="1" name="List"> <xs:annotation> <xs:documentation>This tag indicates that the node input can contain multiple, delimited values.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="Delimiter" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute details the delimeter used for the list of values.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:group> <xs:group name="ValueAndDescriptionGroup"> <xs:sequence> <xs:element name="Value" type="xs:string"> <xs:annotation> <xs:documentation>This tag indicates an allowed value.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="ValueDescription" type="xs:string"> <xs:annotation> <xs:documentation>This tag gives further description to an allowed value, such as for an enumeration.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:group> <xs:group name="AllowedValueGroupedNodes"> <xs:choice> <xs:element ref="Enum" maxOccurs="unbounded" /> <xs:group ref="ValueAndDescriptionGroup" /> <xs:element ref="AdmxBacked" /> </xs:choice> </xs:group> <xs:element name="Enum"> <xs:annotation> <xs:documentation>This tag gives details for one particular enumeration of the allowed values.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:group ref="ValueAndDescriptionGroup" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AdmxBacked"> <xs:annotation> <xs:documentation>This tag indicates the relevent details for the corresponding ADMX policy for this node.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="Area" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute gives the area path of the ADMX policy.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Name" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute gives the name of the ADMX policy.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="File" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute gives the filename for the ADMX policy.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="ReplaceBehavior" default="Replace"> <xs:annotation> <xs:documentation>This tag details the replace behavior of the node.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Append"> <xs:annotation> <xs:documentation>When performing a replace operation on this node, the value is appending to the existing node data.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Replace"> <xs:annotation> <xs:documentation>When performing a replace operation on this node, the existing node data is removed before new data is added.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RebootBehavior" default="None"> <xs:annotation> <xs:documentation>This tag describes the reboot behavior of the node.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="None"> <xs:annotation> <xs:documentation>No reboot is required for this node.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Automatic"> <xs:annotation> <xs:documentation>This node will automatically perform a reboot to take effect.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="ServerInitiated"> <xs:annotation> <xs:documentation>This node needs a reboot initiated from an external source to take effect.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="GpMapping"> <xs:annotation> <xs:documentation>This tag details the information necessary to map this node to an existing group policy.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="GpEnglishName" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute details the English name of the GP.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="GpAreaPath" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute details the area path of the GP.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="GpElement" type="xs:string"> <xs:annotation> <xs:documentation>This attribute details a particular element of a GP that the CSP node maps to.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="CommonErrorResults"> <xs:annotation> <xs:documentation>This tag lists out common error HRESULTS reported by the CSP and English text to associate with them.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="CommonErrorOne" type="xs:string" /> <xs:element name="CommonErrorTwo" type="xs:string" /> <xs:element name="CommonErrorThree" type="xs:string" /> <xs:element name="CommonErrorFour" type="xs:string" /> <xs:element name="CommonErrorFive" type="xs:string" /> <xs:element name="CommonErrorSix" type="xs:string" /> <xs:element name="CommonErrorSeven" type="xs:string" /> <xs:element name="CommonErrorEight" type="xs:string" /> <xs:element name="CommonErrorNine" type="xs:string" /> <xs:element name="CommonErrorTen" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AtomicRequired"> <xs:annotation> <xs:documentation>This tag indicates that this node and all children nodes should be enclosed by an Atomic tag when being sent to the client.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DependencyBehavior"> <xs:annotation> <xs:documentation>These tags detail potential dependencies that the current CSP node has on other nodes in the same CSP.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="DependencyGroup" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Dependency"> <xs:annotation> <xs:documentation>This tag describes a dependency that the current CSP node has on another nodes in the same CSP.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="DependencyUri" type="xs:anyURI"> <xs:annotation> <xs:documentation>The URI that the current CSP node has a dependency on.</xs:documentation> </xs:annotation> </xs:element> <xs:element ref="DependencyAllowedValue" /> </xs:sequence> <xs:attribute name="Type" use="required"> <xs:annotation> <xs:documentation>This tag details the kind of dependency.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="DependsOn"> <xs:annotation> <xs:documentation>The current node depends on the dependency holding a certain value.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Not"> <xs:annotation> <xs:documentation>The current node depends on the dependency not holding a certain value.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="DependencyGroup"> <xs:annotation> <xs:documentation>This tag details one specific dependency. A node might have multiple different dependencies.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" ref="DependencyChangedAllowedValues" /> <xs:element ref="Dependency" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="FriendlyId" type="xs:string" use="required"> <xs:annotation> <xs:documentation>This attribute gives a friendly ID to the dependency, to differentiate it from other dependencies.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="DependencyAllowedValue"> <xs:annotation> <xs:documentation>This tag details the values that the dependency must be set to for the dependency to be satisfied.</xs:documentation> </xs:annotation> <xs:complexType> <xs:group ref="AllowedValuesGroup" /> <xs:attributeGroup ref="AllowedValuesAttributeGroup" /> </xs:complexType> </xs:element> <xs:element name="DependencyChangedAllowedValues"> <xs:annotation> <xs:documentation>This tag details a change to the current node's allowed values if the dependency is satisfied.</xs:documentation> </xs:annotation> <xs:complexType> <xs:group ref="AllowedValuesGroup" /> <xs:attributeGroup ref="AllowedValuesAttributeGroup" /> </xs:complexType> </xs:element> </xs:schema>
较旧的 DDF 文件
可以从以下链接下载各种 CSP 的旧 DDF 文件:
- 下载 2024 年 5 月 11 日Windows 10和 2024 年 5 月 11 日的所有 DDF 文件
- 下载 2023 年 9 月 11 日Windows 10的所有 DDF 文件
- 下载 2022 年 12 月 11 日和 Windows 10 的所有 DDF 文件
- 下载Windows 10版本 2004 的所有 DDF 文件
- 下载Windows 10版本 1903 的所有 DDF 文件
- 下载Windows 10 版本 1809的所有 DDF 文件
- 下载Windows 10版本 1803 的所有 DDF 文件
- 下载 Windows 10 版本 1709 的所有 DDF 文件
- 下载Windows 10版本 1703 的所有 DDF 文件
- 下载 Windows 10 版本 1607 的所有 DDF 文件
可以通过单击以下链接下载较旧的策略区域 DDF 文件:
- 查看 Windows 10 版本 20H2 的策略 DDF 文件
- 查看 Windows 10 版本 2004 的策略 DDF 文件
- 查看 Windows 10 版本 1903 的策略 DDF 文件
- 查看Windows 10 版本 1809的策略 DDF 文件
- 查看 Windows 10 版本 1803 的策略 DDF 文件
- 查看 Windows 10 版本 1803 版本 C 的策略 DDF 文件
- 查看 Windows 10 版本 1709 的策略 DDF 文件
- 查看 Windows 10 版本 1703 的策略 DDF 文件
- 查看 Windows 10 版本 1607 的策略 DDF 文件
- 查看 Windows 10 1607 版本 8C 的策略 DDF 文件