MSEndpointMgr / ModernBIOSManagement

MIT License
45 stars 22 forks source link

Invoke-CMDownloadBIOSPackage - Multiple matches problem #15

Open DanielTHN opened 2 years ago

DanielTHN commented 2 years ago

Hi!

Writing regarding that I have encountered problems with multiple matches of my BIOS packages. All of a sudden the Invoke-CMDownloadBIOSPackage causes my TS to fail during the "Find a match for BIOS package" step. In the "ApplyBIOSPackage.log" it says "Unable to determine a matching BIOS package from list since an unsupported count was returned from package list, bailing out". See below.

image

On some models I have multiple BIOS packages with the same name. They are seperated by version and creation date. This have worked fine before. We have recently upgraded our MS Endpoint Configuration Manager environment to 2111.

image

I have read some similar posts and have beeen able to solve this by doing the following two steps.

  1. Use [array] infront of $PackageList = $PackageList | Sort-Object.....
  2. Change the property "PackageCreated" to "Version" instead.

If I only add [array] and not the Property "Version" I get a match on a older package. Have tried to remove the -Descending parameter but no difference... I´m using the admin service with the parameters -BareMetal -Endpoint "CM01.domain.com" My question is if anyone knows what it could be that are causing this?

kemiSwe commented 2 years ago

Hi,

I am experiencing the very same problem but with diffrent models. The reason it fails is because the computer models have the same baseboard SKU.

1030 G7 and 1040 G7 have the same baseboard SKU. 1030 G8 and 1040 G8 also share the same SKU.

These models share the same BIOS so i just removed the 1030 g7 and g8 BIOS packages from the DP and the script will still match the 1040 G7 BIOS for the 1030 G7 computer based of the SKU.