Dell Command | Deploy Catalog (又稱 驅動程式套件目錄) 1.0 (版本資訊) 是關於 Dell 推出之最新系統與 WinPE 驅動程式套件的中繼資料。支援 Dell 平板電腦、Latitude、OptiPlex 及 Precision 系統。可讓客戶尋找並下載目前的 Dell Command | Deploy 驅動程式套件 (又稱驅動程式套件) 並自行選擇自動化方法。
驅動程式套件目錄和驅動程式套件會根據版本排程更新。可透過以下三個連結的任何一個下載驅動程式套件目錄:
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 企業級系統 (Latitude、OptiPlex、Precision 及平板電腦) 的可遍歷系統和 WinPE 驅動程式套件清單。 「DriverPackCatalog.xml」壓縮、數位簽署,並以「DriverPackCatalog.cab」透過網際網路遞送。「DriverPackCatalog.xml」的 XML-Schema 可在 DriverPackManilas.xsd下載 (參照的 XSD 位於相同位置:DataModelCore.xsd 和 Package.xsd)。
查看Dell TechCenter 搖滾巨星 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。但若驅動程式套件的內部結構有所變更,版本便會變更。
Dell 為驅動程式套件指派的版本。版本號碼會以增量方式,從 A00 指派到 A99。
顯示從根下載位置或「DriverPackManifest」節點的「baselocation」的相對 URL。
Dell 指派給驅動程式套件的唯一識別碼。
驅動程式套件目錄支援系統和 WinPE 驅動程式套件,系統驅動程式套件的類型為「Win」,WinPE 驅動程式套件的類型為「WinPE」。
「驅動程式套件」節點的重要子節點:
「SupportedSystems」節點定義驅動程式套件對型號的適用性。「Brand」(子) 節點提供關於產品線的資訊,「Model」(孫) 節點則提供關於型號的資訊。
用於評估型號適用性的「Brand」和「Model」節點主要屬性為:
Dell 指派的識別金鑰和產品線前綴。
金鑰 |
前綴 |
產品線 |
---|---|---|
4 |
LAT |
Latitude |
1 |
OP |
OptiPlex |
11 |
PRE |
Precision |
90 |
平板電腦 |
平板電腦 |
72 |
XPSNOTEBOOK |
XPS 筆記型電腦 |
Dell 為型號之系統 BIOS 指定的唯一識別碼。
Dell 指派的型號名稱。
注意:「systemID」和「name」都會寫入 BIOS,但「systemID」尚無法供 WMI 查詢存取。因此,建議使用“name”。
注意:不建議以程式設計方式使用「Display」節點的 CDATA。
驅動程式套件的作業系統適用性是由「SupportedOperatingSystems」和「OperatingSystem」節點所定義。
用於評估作業系統適用性的「Operating System」節點主要屬性為:
由於驅動程式套件的目標只有 Microsoft Windows 作業系統,因此預設值是Microsoft。
Dell 的系統和 WinPE 驅動程式套件支援 32 位元 (x86) 和 64 位元 (x64) 作業系統架構。
這些屬性代表 Windows 作業系統的主要、次要、Service Pack 主要和 Service Pack 次要版本。 如需更多資訊,請參閱作業系統版本。
注意:驅動程式套件的設計與發行僅針對 Windows XP、Windows Vist、 Windows 7、Windows 8 和 Windows 8.1 等用戶端作業系統,由於軟硬體相容性等問題,可能不會針對特定型號提供適用於所有作業系統的驅動程式套件。
注意:不建議使用 xml 檔案中存在的其他資料,例如語言、名稱或標題等,即「majorVersion」、「minorVersion」、osArch」和「osVendor」,以識別作業系統適用性。
1.如何從 Dell「下載 DriverPackCatalog.cab」?
注意:最新的驅動程式套件目錄「DriverPackCatalog.cab」檔案可在 Dell 支援網站取得。每次更新都會從網站移除舊版本。
PowerShell 指令檔片段:
Description: 使用 http://downloads.dell.com/catalog/DriverPackCatalog.cab 或 ftp://downloads.dell.com/catalog/DriverPackCatalog.cab 或 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 指令檔片段:
Description: 將「DriverPackCatalog.xml」從「DriverPackCatalog.cab」解壓縮至目前的目錄。
$catalogCABFile = "$pwd" + "\DriverPackCatalog.cab"
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
EXPAND $catalogCABFile $catalogXMLFile
3.如何找到「DriverPackCatalog.xml」支援的機型清單?
注意:雖然子節點中有 LOB 標題和型號代碼,但我們建議您使用 BIOS/系統 ID 和名稱來評估驅動程式套件的適用性。
Description: 從目前目錄中的「DriverPackCatalog.xml」目錄內取得型號名稱與 BIOS/系統 ID 與產品線的對應。
$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 或「Name」找出適用於型號的所有驅動程式套件
PowerShell 指令檔片段:
Description: 若要取得適用特定系統的所有系統和 WinPE 驅動程式套件,請更換指令檔中的「BIOS ID」或「System Name」。
$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 指令檔片段:
Description: 更換「OS Major Version」、「OS Minor Version」和「BIOS ID」或「System Name」,以取得特定型號和作業系統的 System Cab。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.systemID -eq “BIOS ID”) - 和 ($_.type -ne “WinPE”) - 和 ($_。SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -和 ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
或
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.name -eq “System Name”) -and ($_.type -ne “WinPE”) - 和 ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -和 ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
6.如何從「DriverPackCatalog.xml」尋找作業系統的 WinPE 驅動程式套件?
注意: 若 WinPE Cab 支援目錄中的所有機型,將不會擁有支援的系統清單。
PowerShell 指令檔片段:
Description: 更換「OS Major Version」和「OS Minor Version」,以取得特定作業系統的 WinPE Cab。
$catalogXMLFile = "$pwd" + "\DriverPackCatalog.xml"
[xml]$catalogXMLDoc = Get-Content $catalogXMLFile
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.type -eq “WinPE”) - 和 ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -和 ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq “OS Minor Version”)}
7.如何從「DriverPackCatalog.xml」下載型號、作業系統及類型的驅動程式套件連結?
在找到驅動程式套件的 (類型)-(BIOS/系統 ID 或系統名稱)-(作業系統) 之後,您便可以輕鬆下載。
PowerShell 指令檔片段:
Description: 此範例示範如何下載 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 ”) - 和 ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq “OS Major Version”) -和 ($_.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)