Erweitern des BiosUpdateTemplate Paket Skripts

Svitlana Sattler
2026-01-01T18:33:05Z

Einstiegspunkt von Install.ps1 ist die Funktion Main. Dort sehen Sie einen Aufruf der Funktion UpdateBios mit Hersteller, Modell und BIOS-Version des jeweiligen Systems als Argumente. Innerhalb dieser Funktion können weitere Hersteller als Argumente hinzugefügt werden.

switch($systemManufacturer.ToUpper())
    {
        "DELL INC."
        {
            $exitCode = UpdateDellBios $systemModel $biosVersion;
        }
    }

Hier können Sie die Funktion mit einem anderen Hersteller erweitern. Auch für den neuen Hersteller benötigen Sie eine eigene Update-Funktion. Hier verwenden wir eine neue UpdateLenovoBios-Funktion.

switch($systemManufacturer.ToUpper())
    {
        "DELL INC."
        {
           $exitCode = UpdateDellBios $systemModel $biosVersion;
        }
        "LENOVO"
        {
           $exitCode = UpdateLenovoBios $systemModel $biosVersion;
        }
    }

Die Prüfung der Exit-Codes muss entsprechend der Dokumentation des BIOS-Update- oder Flash-Dienstprogramms des Herstellers erweitert oder modifiziert werden.

Für Dell finden Sie diese hier: https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=0r8cx

Unsere neue UpdateLenovoBios-Funktion könnte wie die vorhandene UpdateDellBios-Funktion aussehen und Modelle des Herstellers auflisten und eine Methode aufrufen, um ein Gerät mit diesem Modell zu aktualisieren. Hier UpdateLenovo20BW Funktion, die wir mit der BIOS-Version des aktuellen Systems aufrufen.

switch($systemModel.ToUpper())
    {
        "20BW"
        {
           $exitCode = UpdateLenovo20BW $biosVersion;
        }
    }

Sobald wir die Funktion UpdateLenovoBios eingetragen haben, erstellen wir auch eine neue Funktion UpdateLenovo20BW, mit der wir alle erforderlichen BIOS-Versionen der verfügbaren Clients abdecken. Und wir erstellen eine Funktion, die das Flash-Gerät mit der neuen ausführbaren BIOS-Version ausstattet.

switch($biosVersion.ToUpper())
    {
        "JBET67WW"
        {
           $exitCode = UpdateLenovo20BWToJBET67WW;
        }
        default
        {
           $exitCode = UpdateLenovo20BWToJBET67WW;
        }
    }

In einer solchen Funktion UpdateLenovo20BWToJBET67WW benötigen wir eine Flash-Funktion für unseren neuen Hersteller, die wie die bestehende FlashDellDevice-Funktion aussieht. Die neue FlashLenovoDevice-Funktion würde das BIOS-Flash-Dienstprogramm von der Website dieses Herstellers mit den erforderlichen Parametern verwenden oder direkt ein BIOS-Update-Update-Programm ausführen, das auf WinPE ausgeführt werden kann.

$exitCode = FlashLenovoDevice "WINUPTP64.exe";

Für Updates könnte ein BIOS-Passwort erforderlich sein

Das Matrix42 PreOS Package BiosUpdateTemplate wird mit der Paketvariablen BiosPassword geliefert. Dieses kann in der Matrix42 Management Konsole eingestellt werden.

Öffnen Sie die Matrix42-Management Konsole und navigieren Sie zu Verwaltung > Administration.

Wählen Sie die Konfigurationsgruppe, die den Computer enthält, und öffnen Sie den Variablendialog über das Kontextmenü.

Das Variablen-Dialogfeld zeigt die benutzerdefinierte Variable BiosUpdateTemplate, die die untergeordnete Variable BiosPassword enthält. Wählen Sie die Variable BiosUpdateTemplate und klicken Sie auf Bearbeiten, um die Variable BiosPassword anzuzeigen. Wählen Sie diese Variable erneut aus und drücken Sie Bearbeiten, um den Wert der Variable BiosPassword zu ändern.

Wo BIOS-Flash-Dienstprogramm und ausführbare BIOS-Update-Dateien speichern

Innerhalb des BiosUpdateTemplate-Pakets können Update-Executables und Flash-Utilities im BiosUpdateExecutables-Ordner direkt unter dem Versions-Ordner in der Nähe des Install-Ordners abgelegt werden.

In dieser Vorlage werden einige ausführbare Dateien von Dell verwendet.

Es könnte effizienter sein, dort Unterordner für jeden Hersteller anzulegen.

Die Funktion FlashDellDevice in diesem BiosUpdateTemplate-Paket demonstriert, wie man zu diesem Ordner navigiert und das Flash-Dienstprogramm mit Update-Executables als Argument ausführt.