`Invoke-OSDCloud` ignores Microsoft Update Catalog settings chosen in OSDCloudGUI and always downloads Update Catalog drivers

Đang mở Phù hợp với người mới
#363 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
70/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
powershell
Lĩnh vực
infrastructure

Hướng nghiên cứu

Sự không khớp nằm giữa các khóa được đặt trong Projects/OSDCloudGUI/MainWindow.ps1 (updateDiskDrivers, updateFirmware, updateNetworkDrivers, updateSCSIDrivers) và các khóa Master Settings (MSCatalogFirmware, MSCatalogDiskDrivers, MSCatalogNetDrivers, MSCatalogScsiDrivers) trong Public/OSDCloud.ps1. Bắt đầu bằng cách tìm trong module từng khóa MSCatalog để xem nó được đọc ở đâu, sau đó ánh xạ các giá trị GUI sang những khóa đó ở một nơi duy nhất. Hoàn thành khi tắt các tùy chọn GUI khiến các lần tải Update Catalog bị bỏ qua và hành vi mặc định không thay đổi khi không dùng GUI.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug
Disabling any of the Microsoft Update Catalog options in the GUI after a Start-OSDCloudGUI has no effect and clicking Start causes Invoke-OSDCloud to download all the Microsoft Update Catalog drivers/firmware regardless.

To Reproduce
Steps to reproduce the behavior:

  1. Build an ISO with Edit-OSDCloudWinPE -StartOSDCloudGUI (and whatever other parameters you like).
  2. Boot from it.
  3. Make sure a device-specific driver pack is selected in the GUI.
  4. Disable all the Microsoft Update Catalog options in the GUI, i.e. "update Disk Drivers, update System Firmware, updateNetworkDrivers, update SCSIAdapter Drivers".
  5. Click Start.

Expected behavior
Invoke-OSDCloud does not download any drivers/firmware from the Microsoft Update Catalog.

Actual behavior
Invoke-OSDCloud ignores your choices and downloads all the drivers/firmware from the Microsoft Update Catalog.

I believe this is occurring because Projects/OSDCloudGUI/MainWindow.ps1 sends the following settings keys to Invoke-OSDCloud:

updateDiskDrivers    = [System.Boolean]$formMainWindowControlupdateDiskDrivers.IsChecked
updateFirmware       = [System.Boolean]$formMainWindowControlupdateFirmware.IsChecked
updateNetworkDrivers = [System.Boolean]$formMainWindowControlupdateNetworkDrivers.IsChecked
updateSCSIDrivers    = [System.Boolean]$formMainWindowControlupdateSCSIDrivers.IsChecked

but in Public/OSDCloud.ps1 the following "Master Settings" keys are set and later evaluated:

MSCatalogFirmware    = $true
MSCatalogDiskDrivers = $true
MSCatalogNetDrivers  = $true
MSCatalogScsiDrivers = $true

So, because the key names coming from the GUI are different to the key names used in Invoke-OSDCloud, the Master Settings never get overwritten by the GUI choices, meaning the conditions that check whether to execute the Microsoft Update Catalog downloads always see the default $true values.

Looks like the key names in MainWindows.ps1 were changed 3 years ago (6f003fa) but were never updated to match in OSDCloud.ps1.

Ngôn ngữ chính
PowerShell
Star
251
Fork
102
Merge trung bình
2 phút
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của OSDeploy/OSD

Tất cả issue của OSDeploy/OSD

Issue tương tự

Thêm issue về DevOps

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.