Dell Command | Deploy Catalog(別名ドライバー パック カタログ)1.0(リリース ノート(英語))は、デルがリリースした最新のシステムおよびWinPEのドライバー パックに関するメタデータです。Dell製タブレット、Latitude、OptiPlex、Dell Precisionシステムをサポートしています。お客様はこれを利用して、現在のDell Command | Deploy Driver Packs(別名ドライバー パック)を見つけて、ダウンロードし、お好みの自動化方式で使用できます。
ドライバー パック カタログとドライバー パックは、「リリース スケジュール(英語)」に従ってアップデートされます。ドライバー パック カタログは、次の3つのリンクのいずれかからダウンロードできます。
https://downloads.dell.com/catalog/DriverPackCatalog.cab
ftps://downloads.dell.com/catalog/DriverPackCatalog.cab
ftps://ftps.dell.com/catalog/DriverPackCatalog.cab
ドライバー パック カタログは「DriverPackCatalog.xml」形式のXMLファイルであり、Dellエンタープライズ クラスのシステム(Latitude、OptiPlex、Dell Precision、タブレット)に適用されるシステムおよびWinPEドライバー パックの通過可能なリストです。「DriverPackCatalog.xml」は圧縮され、デジタル署名され、「DriverPackCatalog.cab」としてインターネット上で配信されます。「DriverPackCatalog.xml」のXMLスキーマは、「DriverPackManifest.xsd」からダウンロードできます(参照されているXSDのDataModelCore.xsdおよびPackage.xsdは同じ場所から入手できます)。
DellテックセンターのRockStarに認定されているDustin Hedges氏のブログ(英語)では、ドライバー パック カタログを使用することでドライバーCABを「automagicallyに(魔法のように自動的に)」取得する方法が紹介されていますので、ご参照ください。また、MDTに詳しいKeith Garner氏は、MDT用スクリプト(ビデオ チュートリアル付き)(英語)を提供しています。
「DriverPackCatalog.xml」のコンテンツは、次の2つの項目からなります。
1. ドライバー パック カタログに関するメタデータ:
このセクションは、ドライバー パック リリースの親ノードとして機能し、カタログ自体に関するメタデータを含んでいます。このセクションに存在する重要な情報または属性を、下で説明します。
ドライバー パックのダウンロード時のルート フォルダーを指定するURLコンポーネント。
ネットワーク プロトコルは、ベース ロケーションで許可されます。デフォルトでは、HTTPおよびFTPが許可されています。
カタログ ビルドの日付と時刻に関する情報。
カタログのリリース バージョン。バージョン番号の形式は次のとおりです。年.月.リリース番号(YYYY.MM.RN)
カタログの構築に使用されたXMLスキーマのバージョンに関する情報。
2. ドライバー パックに関するメタデータ:
それぞれの「ドライバー パッケージ」ノードは、エンティティーとしてのドライバー パックを表します。属性および子ノードとして存在する情報またはデータは、次の2つの基本的な目的で使用されます。
これらの目的に基づいて、一部の重要な属性および子ノードについて詳しく説明します。
「ドライバー パッケージ」ノードの重要な属性:
ドライバー パックは.EXEファイルとして配信されるため、デフォルト値は「DUP」です。
.EXEファイルのMD5。
.EXEファイルのサイズ。
ドライバー パックのリリース日。
一般に、デフォルト値は1.0です。ただし、ドライバー パックの内部構造が変更されると、バージョンも変更されます。
デルによって割り当てられた、ドライバー パック リリースのバージョン。バージョン番号は、A00 から A99 まで段階的に割り当てられます。
ルートのダウンロード場所または「DriverPackManifest」ノードの「baselocation」を基準とした相対URLに関する情報を表示します。
デルによって割り当てられた、ドライバー パックの固有のID。
ドライバー パック カタログは、システム ドライバー パックとWinPEドライバー パックをサポートしており、システム ドライバー パックはタイプが「Win」、WinPEドライバー パックはタイプが「WinPE」です。
「ドライバー パッケージ」ノードの重要な子ノード:
「SupportedSystems」ノードは、モデルに関するドライバー パックの適用可能性を定義します。「Brand」という(子)ノードは取扱製品に関する情報を提供し、「Model」という(孫)ノードはモデルに関する情報を提供します。
モデルの適用可能性を評価するために使用される「Brand」および「Model」ノードの主要な属性は、次のとおりです。
Dellは、基幹業務の識別キーとプレフィックスを割り当てました。
Key |
接頭コード |
基幹業務 |
---|---|---|
4 |
ラッチ |
Latitude |
1 |
OP |
OptiPlex |
11 |
PRE |
Precision |
90 |
TABLET |
タブレット |
72 |
XPSNOTEBOOK |
XPSノートパソコン |
デルによって割り当てられた、モデルのシステムBIOSに対する固有ID。
Dellによってモデル名が割り当てられました。
注:「systemID」と「name」はいずれもBIOSでフラッシュされますが、「systemID」は容易にアクセス可能なWMIクエリーではありません。したがって、「名前」の使用をお勧めします。
注:「Display」ノードのCDATAをプログラムで使用することはお勧めしません。
ドライバー パックのオペレーティング システムの適用可能性は、「SupportedOperatingSystems」および「OperatingSystem」ノードで定義されます。
オペレーティング システムの適用可能性を評価するために使用される「OperatingSystem」ノードの主要な属性は、次のとおりです。
ドライバー パックはMicrosoft Windowsオペレーティング システムのみを対象としているため、デフォルト値はMicrosoftです。
デルが提供するシステムおよびWinPEのドライバー パックは、32ビット(x86)および64ビット(x64)のオペレーティング システム アーキテクチャをサポートします。
これらの属性は、Windowsオペレーティング システムのメジャー バージョン、マイナー バージョン、サービス パック メジャー バージョン、サービス パック マイナー バージョンを表します。 詳細については、「オペレーティング システムのバージョン(英語)」を参照してください。
注:ドライバー パックは、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1などのクライアント オペレーティング システム用にのみ構築およびリリースされています。特定のモデルのすべてのオペレーティング システム用のドライバー パックは、ハードウェアとソフトウェアの互換性などのために提供されていない場合があります。
注:xmlファイルに存在する他のデータ(言語、名前、タイトルなど)の使用は推奨されません。つまり、OSの適用可能性を識別するために「majorVersion」、「minorVersion」、「osArch」、「osVendor」を使用する必要があります。
1.「DriverPackCatalog.cab」をDellからダウンロードする方法
注:最新のドライバー パック カタログの「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」でサポートされているモデルのリストを検索する方法
注:取扱製品のタイトルおよびモデル コードが子ノードに存在しますが、ドライバー パックの適用可能性を評価するにはBIOS/システムのIDおよび名前を使用することをお勧めします。
「Description: カタログでサポートされているシステムのモデル名と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
注:1つのモデル名が複数のシステムIDに関連付けられている場合、および1つのシステムIDが複数のモデル名に関連付けられている場合があります。このような場合が生じるのは、構成/機能がBIOS/システムIDで制御されており、一部のモデルで複数の構成が使用可能であるからです。
Recommendations:(推奨手順:)上記のスクリプトで説明したように、SystemIDまたはSystemName、つまりModelノードの「SystemID」属性と「Name」属性を使用して、ドライバー パック カタログを走査する必要があります。ただし、SystemIDはMicrosoftのWMIクラスから容易にアクセス可能ではないので、Name属性をお勧めします。
4.「DriverPackCatalog.xml」からシステムのドライバー パックを見つけるまたは検索する方法
「DriverPackCatalog.xml」が現在のディレクトリーで使用可能になると、BIOS/システムIDまたは名前を使用してxmlを解析し、モデルに適用可能なすべてのドライバー パックを検索できます。
PowerShellスクリプト スニペット:
「Description: 特定のシステムに適用可能なすべてのシステムおよび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 "システム名") -or ($_.type -eq "WinPE")} |sort type
5.「DriverPackCatalog.xml」からシステムおよびオペレーティング システム用のシステム ドライバー パックを検索する方法
ドライバー パック カタログには、特定のモデルとオペレーティング システム用の最新のドライバー パックのみが含まれています。
PowerShellスクリプト スニペット:
「Description: モデルおよびオペレーティング システム用のシステムCABを取得するには、「OSメジャー バージョン」、「OSマイナー バージョン」、および「BIOS ID」または「システム名」を置き換えてください。
$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マイナー バージョン")}
または
$catalogXMLDoc.DriverPackManifest.DriverPackage| ? { ($_.SupportedSystems.Brand.Model.name -eq "システム名") -and ($_.type -ne "WinPE") -and ($_.SupportedOperatingSystems.OperatingSystem.majorVersion -eq "OS Major Version") -and ($_.SupportedOperatingSystems.OperatingSystem.minorVersion -eq "OSマイナー バージョン")}
6.オペレーティング システム用のWinPEドライバー パックを「DriverPackCatalog.xml」から検索する方法
注: カタログ内のすべてのモデルをサポートするWinPE CABには、サポートされるシステムのリストがありません。
PowerShellスクリプト スニペット:
「Description: オペレーティング システム用のWinPE CABを取得するには、「OSメジャー バージョン」と「OSマイナー バージョン」を置き換えます。
$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マイナー バージョン")}
7.モデル、オペレーティング システム、およびタイプに応じたドライバー パックのリンクを「DriverPackCatalog.xml」からダウンロードする方法
(タイプ)-(BIOS/システムのIDまたはシステム名)-(オペレーティング システム)用のドライバー パックが見つかったら、それを簡単にダウンロードできます。
PowerShellスクリプト スニペット:
「Description: この例では、WinPE CABのダウンロード方法を示します。モデルとオペレーティング システム用のWinPE CABを取得し、現在のディレクトリーにダウンロードするには、「OSメジャー バージョン」と「OSマイナー バージョン」を置き換えます。
$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マイナー バージョン")}
$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)