首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在哪里可以找到最新的unattended.xml模式(xsd)?

在哪里可以找到最新的unattended.xml模式(xsd)?
EN

Server Fault用户
提问于 2013-01-10 15:59:41
回答 3查看 2.3K关注 0票数 7

我正在使用Windows 2012、Windows部署服务(WDS)和Windows评估和部署工具包(ADK)。我创建了一个基本unattended.xml文件。当我在xml编辑器中编辑时,实际上有点烦人,因为我没有xsd。

基本上,我想知道是否存在unattended.xml文件的模式(xsd)。我知道我可以轻松地访问微软:无人值守的TechNet安装程序站点,但我发现以下两个问题:

  1. 我似乎找不到每个节点可用的属性。比如 ..。我知道微软安装仅通过查看我所拥有的默认unattended.xml文件就允许使用诸如publicKeyTokenlanguageversionScopeprocessorArchitecture等属性;但是,在页面上我没有看到列出的这些属性.只有摘要和哪些节点可以放置在此节点中。
  2. 它不会提高速度,也不会使我的xml编辑器中的xml文件更容易编辑。

再说一遍,只要在哪里我就能真正找到xsd,不管它是微软下载的,还是位于微软下载的特定文件夹位置,或者如果它必须是手工制作的,甚至是某人的天空驱动器帐户。

EN

回答 3

Server Fault用户

发布于 2013-01-13 08:10:33

根据这个堆栈溢出问题(链接),您可以生成它

代码语言:javascript
复制
xsd.exe unattend.xml

我对MDT中的所有xsd文件进行了关键字搜索,下面的文件匹配publicKeyTokenlanguageprocessorArchitecture (但没有versionScope)。

代码语言:javascript
复制
C:\Program Files\Microsoft Deployment Toolkit\Templates\Packages.xsd

看起来,即使从MS文档中,我也在走向死胡同。http://schemas.microsoft.com/unattend提供错误页面(它确实包含其他MS模式)。尝试在某些DLL上使用资源查看器,但没有找到任何xsd资源。我开始怀疑,不参与模式是作为某种数据结构存储在MS工具中的。

我确实对xsd.exe使用了Microsoft Deployment Toolkit\Templates\Unattend_Core_x64.xml,并产生了下面的xsd。也许这可以帮助您的xml编辑器。(这并不取代官方模式。)

Unattend_Core_x64.xsd

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="unattend" targetNamespace="urn:schemas-microsoft-com:unattend" xmlns:mstns="urn:schemas-microsoft-com:unattend" xmlns="urn:schemas-microsoft-com:unattend" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://schemas.microsoft.com/WMIConfig/2002/State">
  <xs:import namespace="http://schemas.microsoft.com/WMIConfig/2002/State" schemaLocation="Unattend_Core_x64_app1.xsd" />
  <xs:element name="unattend" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="settings">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="component" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ComputerName" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                    <xs:element name="ProductKey" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                    <xs:element name="RegisteredOrganization" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
                    <xs:element name="RegisteredOwner" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
                    <xs:element name="DoNotCleanTaskBar" type="xs:string" minOccurs="0" msdata:Ordinal="5" />
                    <xs:element name="TimeZone" type="xs:string" minOccurs="0" msdata:Ordinal="6" />
                    <xs:element name="InputLocale" type="xs:string" minOccurs="0" msdata:Ordinal="7" />
                    <xs:element name="SystemLocale" type="xs:string" minOccurs="0" msdata:Ordinal="8" />
                    <xs:element name="UILanguage" type="xs:string" minOccurs="0" msdata:Ordinal="9" />
                    <xs:element name="UserLocale" type="xs:string" minOccurs="0" msdata:Ordinal="10" />
                    <xs:element name="UserAccounts" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="AdministratorPassword" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Value" type="xs:string" minOccurs="0" />
                                <xs:element name="PlainText" type="xs:string" minOccurs="0" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="AutoLogon" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Enabled" type="xs:string" minOccurs="0" />
                          <xs:element name="Username" type="xs:string" minOccurs="0" />
                          <xs:element name="Domain" type="xs:string" minOccurs="0" />
                          <xs:element name="LogonCount" type="xs:string" minOccurs="0" />
                          <xs:element name="Password" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Value" type="xs:string" minOccurs="0" />
                                <xs:element name="PlainText" type="xs:string" minOccurs="0" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RunSynchronous" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="RunSynchronousCommand" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Description" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                                <xs:element name="Order" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                                <xs:element name="Path" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                              </xs:sequence>
                              <xs:attribute ref="app1:action" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Identification" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="JoinDomain" type="xs:string" minOccurs="0" />
                          <xs:element name="JoinWorkgroup" type="xs:string" minOccurs="0" />
                          <xs:element name="MachineObjectOU" type="xs:string" minOccurs="0" />
                          <xs:element name="Credentials" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Username" type="xs:string" minOccurs="0" />
                                <xs:element name="Domain" type="xs:string" minOccurs="0" />
                                <xs:element name="Password" type="xs:string" minOccurs="0" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SetupUILanguage" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="UILanguage" type="xs:string" minOccurs="0" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ImageInstall" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="OSImage" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="WillShowUI" type="xs:string" minOccurs="0" />
                                <xs:element name="InstallTo" minOccurs="0" maxOccurs="unbounded">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="DiskID" type="xs:string" minOccurs="0" />
                                      <xs:element name="PartitionID" type="xs:string" minOccurs="0" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="InstallFrom" minOccurs="0" maxOccurs="unbounded">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Path" type="xs:string" minOccurs="0" />
                                      <xs:element name="MetaData" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="Key" type="xs:string" minOccurs="0" />
                                            <xs:element name="Value" type="xs:string" minOccurs="0" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Display" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="ColorDepth" type="xs:string" minOccurs="0" />
                          <xs:element name="HorizontalResolution" type="xs:string" minOccurs="0" />
                          <xs:element name="RefreshRate" type="xs:string" minOccurs="0" />
                          <xs:element name="VerticalResolution" type="xs:string" minOccurs="0" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="FirstLogonCommands" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="SynchronousCommand" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="CommandLine" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                                <xs:element name="Description" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                                <xs:element name="Order" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                              </xs:sequence>
                              <xs:attribute ref="app1:action" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="OOBE" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="HideEULAPage" type="xs:string" minOccurs="0" />
                          <xs:element name="NetworkLocation" type="xs:string" minOccurs="0" />
                          <xs:element name="ProtectYourPC" type="xs:string" minOccurs="0" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ComplianceCheck" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="DisplayReport" type="xs:string" minOccurs="0" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="UserData" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="AcceptEula" type="xs:string" minOccurs="0" />
                          <xs:element name="ProductKey" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Key" type="xs:string" minOccurs="0" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="DriverPaths" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="PathAndCredentials" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Path" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                              </xs:sequence>
                              <xs:attribute ref="app1:keyValue" />
                              <xs:attribute ref="app1:action" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" form="unqualified" type="xs:string" />
                  <xs:attribute name="processorArchitecture" form="unqualified" type="xs:string" />
                  <xs:attribute name="publicKeyToken" form="unqualified" type="xs:string" />
                  <xs:attribute name="language" form="unqualified" type="xs:string" />
                  <xs:attribute name="versionScope" form="unqualified" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="pass" form="unqualified" type="xs:string" />
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
票数 3
EN

Server Fault用户

发布于 2013-06-10 21:30:30

如果安装了WAIK 8,请转到安装它的目录。找到文件Microsoft.ComponentStudio.ComponentPlatformInterface.dll并在您最喜欢的反编译器中打开它,查看Microsoft是如何做到的。

要查看的主要方法是Validate()方法,当您查看它时,它会经历不同的阶段(通过)并逐一验证它们。ValidateXml()也很有用,值得一看,DoLoad()也是如此。

它基本上采用了与WAIK一起安装的一些XSD文件,并使用它们:

"C:\Program \MicrosoftDeploymentToolkit\Templates\Drivers.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\Groups.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\InstallerComponents.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\LinkedDeploymentShares.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\Medias.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\OperatingSystems.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\Packages.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\SelectionProfiles.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\TaskSequences.xsd“

"C:\Program \MicrosoftDeploymentToolkit\Templates\Applications.xsd“

票数 0
EN

Server Fault用户

发布于 2021-07-01 10:49:18

有一个用于验证的powershell脚本:

https://gist.github.com/davidwallis3101/48454cb6c17c988de43b5ea17089ea6f

在其中,我找到了关于模式在哪里以及如何在以下URL中提取模式的描述:

https://schneegans.de/windows/unattend-schema/

它是在ADK的某些组件中编码的:

文件名为microsoft.componentstudio.componentplatforminterface.dll,资源路径为:Microsoft.ComponentStudio.ComponentPlatformInterface.MyResources.resources

因为它只是命名为MyResources,我想这是在一定的时间压力下构建的,也许这就是为什么没有人有机会发布它的原因。我想它需要一个在微软有好朋友的人才能以一种更容易接近的方式发布它。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/465847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档