Get-DellWinPEDriverPack: LastKnownGood fallback is always empty (key name mismatch), so Edit-OSDCloudWinPE -CloudDriver * crashes

オープン 初心者向け
#401 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
powershell
領域
devtools

調査の方向性

Public/OEM/Get-DellWinPEDriverPack.ps1の55行目付近を読み、OSD.json内のDellキーを確認してください。issueでは、一致しないキーが特定され、利用できないDellページの再現手順が示されています。再現手順を実行し、Dellページが利用できない場合にフォールバックが設定済みのLastKnownGoodWin11 URLを返し、Edit-OSDCloudWinPE -CloudDriver '*'が続行できることを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Describe the bug
Get-DellWinPEDriverPack falls back to $Global:OSDModuleResource.WinPEDriverPack.Dell.LastKnownGood11 (Public/OEM/Get-DellWinPEDriverPack.ps1, line 55). But OSD.json defines that key as LastKnownGoodWin11, so the fallback is always $null.

dell.com regularly refuses the scripted request to the kbdoc page; in our tests, 2 out of 3 attempts failed. The function then returns nothing, and Save-WinPECloudDriver passes $null to Test-WebConnection (line 213), which throws. As a result, Edit-OSDCloudWinPE -CloudDriver * fails intermittently and leaves boot.wim mounted.

To Reproduce

  1. Simulate dell.com refusing the request:
    Import-Module OSD
    $Global:OSDModuleResource.WinPEDriverPack.Dell.Info = 'https://does-not-exist.invalid/'
    Get-DellWinPEDriverPack
    
  2. Output: WARNING: DriverPack LastKnownGood Offline: with an empty URL, and the function returns nothing.
  3. Check the key names:
    $Global:OSDModuleResource.WinPEDriverPack.Dell.Keys
    # LastKnownGoodWin11, LastKnownGoodWin10, Info - no LastKnownGood11
    
  4. In a real build, Edit-OSDCloudWinPE -WorkspacePath C:\OSDCloud -CloudDriver '*' fails whenever dell.com refuses the request:
    WARNING: DriverPack Info Offline: https://www.dell.com/support/kbdoc/en-us/000107478/dell-command-deploy-winpe-driver-packs
    WARNING: DriverPack LastKnownGood Offline:
    [..] Dell WinPE Driver Pack
    Test-WebConnection : Exception calling ".ctor" with "1" argument(s): "Invalid URI: The hostname could not be parsed."
    At C:\Program Files\WindowsPowerShell\Modules\OSD\26.10.16.1\Public\Functions\Save-WinPECloudDriver.ps1:213 char:17
    +             if (Test-WebConnection -Uri $DellCloudDriverPack) {
    

Expected behavior
When dell.com doesn't answer, Get-DellWinPEDriverPack returns the LastKnownGoodWin11 URL from OSD.json, which is reachable. Edit-OSDCloudWinPE continues with that driver pack. If no URL is available at all, Save-WinPECloudDriver should skip the Dell pack with a warning instead of throwing.

Suggested fix: in Get-DellWinPEDriverPack.ps1 line 55, read LastKnownGoodWin11 instead of LastKnownGood11. Optionally, guard against an empty $DellCloudDriverPack in Save-WinPECloudDriver.ps1.

Screenshots
N/A (the console output is above).

Desktop (please complete the following information):

  • OS: Windows 11 25H2 (build PC), Windows PowerShell 5.1
  • Browser: N/A
  • Version: OSD 26.10.16.1. Also present on the current master branch.

Additional context
Workaround until this is fixed: before calling Edit-OSDCloudWinPE, set the key the function reads:

$Global:OSDModuleResource.WinPEDriverPack.Dell['LastKnownGood11'] = $Global:OSDModuleResource.WinPEDriverPack.Dell.LastKnownGoodWin11
主要言語
PowerShell
スター
251
フォーク
102
平均マージ
2分
マージ済み PR(30日)
4

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OSDeploy/OSD のほかの issue

OSDeploy/OSD の issue をすべて見る

似ている issue

DevTools の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。