Página 2 de 2

Re: [RESUELTO] Paquete de configuración del BIOS de DELL

Publicado: 30 de noviembre de 2023 - 16:02
por gaelds
¡Gracias Simón!

Aquí está mi código para quienes estén interesados. Lo probé en algunos modelos Dell con contraseña de BIOS, sin contraseña y con una contraseña desconocida. Durante las pruebas, encontré tres códigos de error diferentes cuando la contraseña de BIOS estaba vacía: 65, 106 y 146.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
cctk_binaries = makepath(programfiles32,'Dell','Command Configure','X86_64','cctk.exe')

def install():
    import wmi
    c = wmi.WMI()
    for computersystem in c.Win32_ComputerSystem():
        if(computersystem.Manufacturer == "Dell Inc."):
            if(isfile(cctk_binaries)):
                print(r'Configuration BIOS Dell avec pass')
                result = run (r'"%s" -i cctk.ini --valsetuppwd=monpassword -l c:\dell_cctk.log' %cctk_binaries,accept_returncodes=[0,3010,58,106,146,65])
                print(f"Code retour = {result.returncode}.")
                if result.returncode == 58:
                    error(r"Le mot de passe de configuration fourni est incorrect.")
                    exit()
                if (result.returncode == 65 or result.returncode == 146 or result.returncode == 106) :
                    print(r"Le mot de passe BIOS est vide ? Tentative d'ajout du mot de passe BIOS")
                    run (r'"%s" -i cctk.ini --setuppwd=monpassword ' %cctk_binaries,accept_returncodes=[0,3010,58,106,146,65])
                else:
                    print(r'Configuration BIOS Dell avec pass')
                    run (r'"%s" -i cctk.ini --valsetuppwd=monpassword -l c:\dell_cctk.log' %cctk_binaries,accept_returncodes=[0,3010,58,106,146,65])
            else:
                error(r"Dell Command and configure ne semble pas installé.")
                exit()
        else:
            print(r"Ce n'est pas un PC DELL. Marque = %s)" %computersystem.Manufacturer)
Y mi archivo cctk.ini se ve así:

Código: Seleccionar todo

[cctk]
WakeOnLan=LanWithPxeBoot
AcPwrRcvry=Last
BlockSleep=Enabled
DeepSleepCtrl=Disabled
EmbNic1=EnabledPxe
NumLock=Enabled
SetupPwd=monpassword
TpmSecurity=Enabled
UefiBootPathSecurity=Never
UsbWake=Disabled