Voici mon code pour ceux que ça intéresse, je l'ai testé sur quelques modèles de Dell avec mot de passe BIOS, sans mot de passe et avec un mot de passe inconnu. Au cours des tests, je suis tombé sur 3 codes erreurs différents quand le pass du BIOS est vide : 65, 106 et 146.
Code : Tout sélectionner
# -*- 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)
Code : Tout sélectionner
[cctk]
WakeOnLan=LanWithPxeBoot
AcPwrRcvry=Last
BlockSleep=Enabled
DeepSleepCtrl=Disabled
EmbNic1=EnabledPxe
NumLock=Enabled
SetupPwd=monpassword
TpmSecurity=Enabled
UefiBootPathSecurity=Never
UsbWake=Disabled