Dell Command | Deploy Catalog(又称驱动程序包目录)1.0(发行说明)是关于最新系统和戴尔发布的WinPE驱动程序包的元数据。它支持戴尔平板电脑、Latitude、OptiPlex 和 Precision 系统。它使客户可以使用自己选择的自动化方法,找到并下载最新的 Dell Command | Deploy Driver Packs(又称驱动程序包)。
驱动程序包目录和驱动程序包按照发布计划更新。驱动程序包目录可通过以下三个链接中的任何一个下载:
https://downloads.dell.com/catalog/DriverPackCatalog.cab
ftps://downloads.dell.com/catalog/DriverPackCatalog.cab
ftps://ftps.dell.com/catalog/DriverPackCatalog.cab驱动程序包目录是一个 XML 文件“DriverPackCatalog.xml”,是适用于 Dell Enterprise 级系统(Latitude、OptiPlex、Precision 和平板电脑)的系统和 WinPE 驱动程序包的可遍历列表。 “DriverPackCatalog.xml”经过压缩、数字签名,并作为“DriverPackCatalog.cab”在互联网上交付。“DriverPackCatalog.xml”的 XML 架构可通过DriverPackManifest.xsd下载(引用的 XSD 可通过相同位置获得:DataModelCore.xsd 和 Package.xsd)。
请查阅戴尔技术中心“摇滚巨星”Dustin Hedges的博客,在文中,他介绍自己通过使用驱动程序包目录“魔法般地自动”获取驱动程序CAB。MDT专家Keith Garner也拥有MDT的脚本(带教程视频)!
“DriverPackCatalog.xml”的内容可分为两个类别:
1. 有关驱动程序包目录的元数据:
本节将充当驱动程序包版本的父节点,包含关于目录本身的元数据。本节中存在重要信息或属性如下所示:
URL组件,以在下载驱动程序包时查找根文件夹。
基本位置允许使用网络协议。默认情况下,允许使用HTTP和FTP。
关于目录构建的日期和时间的信息。
目录的发行版本。版本号采用以下格式:年.月.版本号(YYYY.MM.RN)。
用于构建目录的XML架构版本的相关信息。
2. 驱动程序包的元数据:
每个“驱动程序包”节点将驱动程序包表示为一个实体。表示为属性和子节点的信息或数据具有两种基本用途:
根据以上用途,下文将详细解释一些重要属性和子节点:
“驱动程序包”节点的重要属性:
默认值是“DUP”,因为驱动程序包作为 .EXE 文件交付。
.EXE文件的MD5。
.EXE文件的大小。
驱动程序包的发布日期。
一般来说,默认值是:1.0。但是,如果驱动程序包的内部结构更改,版本也会更改。
戴尔指定的驱动程序包的版本。版本号从 A00 到 A99 以增量方式分配。
显示来自根下载位置或“DriverPackManifest”节点的“baselocation”的相关 URL 信息。
戴尔分配给驱动程序包的唯一标识。
驱动程序包目录支持系统和 WinPE 驱动程序包,类型为“Win”(对于系统驱动程序包)和“WinPE”(WinPE 驱动程序包)。
“驱动程序包”节点的重要子节点:
“SupportedSystems”节点确定驱动程序包在型号方面的适用性。“品牌”(子)节点提供行业相关信息,“型号”(孙)节点提供型号相关信息。
用于评估型号适用性的“品牌”和“型号”节点的重要属性是:
戴尔分配了业务线的标识密钥和前缀。
密钥 |
代码 |
行业 |
---|---|---|
4 |
LAT |
Latitude |
1 |
OP |
OptiPlex |
11 |
PRE |
Precision |
90 |
平板电脑 |
平板电脑 |
72 |
XPSNOTEBOOK |
XPS笔记本电脑 |
戴尔分配给某型号的系统BIOS的唯一标识。
戴尔分配了型号的名称。
提醒:“systemID”和“name”都刷新到 BIOS,但是“systemID”并非可供访问的 WMI 查询。因此,建议使用“name”。
提醒:不建议以编程方式使用“显示”节点。
驱动程序包的操作系统适用性由“SupportedOperatingSystems”和“OperatingSystem”节点定义。
用于评估操作系统适用性的“Operating System”节点的重要属性是:
驱动程序包仅面向Microsoft Windows操作系统,因此,默认值是Microsoft。
戴尔提供的系统和WinPE驱动程序包支持32位(x86)和64位(x64)操作系统架构。
这些属性表示 Windows 操作系统的主要版本、次要版本、服务包主要版本和服务包次要版本。 有关详情,请参阅Operating System Version(操作系统版本)。
提醒:说明:驱动程序仅为客户端操作系统(例如 Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1 等)构建和发布。由于硬件-软件兼容性等问题,可能不会为特定型号提供所有操作系统的驱动程序包。
提醒:不建议使用 xml 文件中存在的其他数据,例如语言、名称或标题等,应使用“majorVersion”、“minorVersion”、“osArch”和“osVendor”来标识操作系统的适用性。
1.如何从戴尔“下载 DriverPackCatalog.cab”?
提醒:最新的驱动程序包目录-“DriverPackCatalog.cab”文件在戴尔支持网站上提供。每次更新时,早前的版本将从站点中删除。
PowerShell脚本片段:
描述:使用http://downloads.dell.com/catalog/DriverPackCatalog.cab or ftp://downloads.dell.com/catalog/DriverPackCatalog.cab or ftp://ftp.dell.com/catalog/DriverPackCatalog.cab 可将目录下载至当前目录。
$source = "http://downloads.dell.com/catalog/DriverPackCatalog.cab"
$destination = "$pwd" + "\DriverPackCatalog.cab"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source, $destination)
2.如何从“DriverPackCatalog.cab”获取“DriverPackCatalog.xml”?
驱动程序包目录(“DriverPackCatalog.xml”)经过数字签名,并作为可解压的“DriverPackCatalog.cab”文件提供。
PowerShell脚本片段:
描述:从 DriverPackCatalog.cab”将“DriverPackCatalog.xml”提取至当前目录。
$catalogCABFile = "$pwd" + "\DriverPackCatalog.cab"
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
EXPAND $catalogCABFile $catalogXMLFile
3.如何查找“DriverPackCatalog.xml”支持的型号的列表?
提醒:虽然 LOB 标题和型号代码存在于子节点中,但是我们还是建议您使用 BIOS/系统 ID 和名称来评估驱动程序包的适用性。
描述:获取型号名称和 BIOS/系统 ID 之间的映射以及业务线,适用于 当前目录中“DriverPackCatalog.xml”目录支持的系统。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage | Select-Object @{Expression={$_.SupportedSystems.Brand.key};Label="LOBKey";}, @{Expression={$_.SupportedSystems.Brand.prefix};Label="LOBPrefix";}, @{Expression={$_.SupportedSystems.Brand.Model.systemID};Label="SystemID";}, @{Expression={$_.SupportedSystems.Brand.Model.name};Label="SystemName";} –unique
提醒:一个型号名称可以与多个系统 ID 相关联,反之亦然。这种情况可能发生,因为配置/功能由BIOS/系统ID控制,多个配置可能适用于特定型号。
建议:驱动程序包目录应使用 SystemID 或 SystemName 遍历,如上述脚本中所述,即型号节点的“SystemID”和“Name”属性。但是,由于SystemID无法轻易地通过Microsoft的WMI类访问,因此‘Name’属性为首选项。
4.如何从“DriverPackCatalog.xml”查找系统的驱动程序包?
“DriverPackCatalog.xml”在当前目录中可用后,可以解析 xml,以使用 BIOS/系统 ID 或名称查找适用于某个型号的所有驱动程序包。
PowerShell脚本片段:
描述: 要获取给定系统的所有适用系统和 WinPE 驱动程序包,请替换脚本中的“BIOS ID”或“系统名称”。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.systemID -eq "BIOS ID") -or ($_.type -eq "WinPE")} |sort type
或
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.name -eq "System Name") -or ($_.type -eq "WinPE")} |sort type
5.如何从“DriverPackCatalog.xml”查找系统和操作系统的系统驱动程序包?
驱动程序包目录仅包含给定型号和操作系统的最新驱动程序包。
PowerShell脚本片段:
描述:替换'OS Major Version'、'OS Minor Version'和'BIOS ID'或'System Name',以获得某型号和操作系统的系统 Cab。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.systemID -eq “BIOS ID”) — and ($_.type -ne “WinPE”) — and ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -and ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
或
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.name -eq “System Name”) - and ($_.type -ne “WinPE”) - and ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -and ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
6.如何从“DriverPackCatalog.xml”查找操作系统的 WinPE 驱动程序包?
提醒: 支持目录中所有型号的 WinPE Cab 没有支持的系统的列表。
PowerShell脚本片段:
描述:替换'OS Major Version'和'OS Minor Version'以获取操作系统的 WinPE Cab。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.type -eq “WinPE”) - and ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -and ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
7.如何从“DriverPackCatalog.xml”下载某型号、操作系统和类型的驱动程序包的链接?
找到(Type)-(BIOS/System ID或System Name)-(Operating System)的驱动程序包后,您可以轻松下载。
PowerShell脚本片段:
描述:示例演示了 WinPE Cab 的下载。替换'OS Major Version'和'OS Minor Version'以获取某型号和操作系统的WinPE Cab,并将其下载到当前目录。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$cabSelected = $catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.type -eq “WinPE”) - and ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -and ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
$cabDownloadLink = "http://"+ $catalogXMLDoc.DriverPackManifest.baseLocation + $cabSelected.path
$cabDownloadLink = "http://"+ $catalogXMLDoc.DriverPackManifest.baseLocation + "/" + $cabSelected.path
$Filename = [System.IO.Path]::GetFileName($cabDownloadLink)
$downlodDestination = "$pwd" + "\" + $Filename
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($cabDownloadLink, $downlodDestination)