Files
Infra-LAB/projects/MDT/Scripts/CSV/README.md
T

7.1 KiB

Configuration BIOS Lenovo - Intégration MDT avec SetBIOS Module

Résumé des changements effectués

1. Fichiers CSV créés

Trois fichiers CSV ont été créés dans le dossier c:\MDT\Scripts\SupportHDF\CSV\:

  • ConfigBIOSLenovo_Gen3.csv - Paramètres pour ThinkCentre neo 50s Gen 3
  • ConfigBIOSLenovo_Gen4.csv - Paramètres pour ThinkCentre neo 50s Gen 4
  • ConfigBIOSLenovo_Gen5.csv - Paramètres pour ThinkCentre neo 50s Gen 5

Chaque fichier contient:

  • Les paramètres CommonSettings (communes à toutes les générations)
  • Les paramètres GenX Settings (spécifiques à chaque génération)
  • Format CSV: "Setting,Value" compatible avec le module SetBIOS.psm1

Contenu des fichiers CSV:

  • Gen3: 79 paramètres
  • Gen4: 84 paramètres
  • Gen5: 85 paramètres

2. Script PowerShell créé

Chemin: c:\MDT\Scripts\SupportHDF\ps1\ConfigureBIOSLenovo_TSIntegration.ps1

Fonction: Script d'intégration à la séquence de tâches qui:

  1. Détecte le modèle Lenovo (Gen3, Gen4, ou Gen5)
  2. Charge le fichier CSV approprié
  3. Importe le module SetBIOS.psm1
  4. Vérifie si un mot de passe BIOS est configuré (via WMI)
  5. Exécute Set-Bios avec le fichier CSV
  6. Utilise la variable MDT BIOSPassword pour éviter toute interaction

Variables d'environnement utilisées:

  • %DEPLOYROOT% - Racine du déploiement MDT
  • $env:LenovoModel - Modèle détecté automatiquement via WMI

Gestion du mot de passe:

  • Détection automatique via classe WMI: Lenovo_BiosPasswordSettings
  • Le script appelle Set-Bios -Password si un mot de passe est détecté
  • L'utilisateur sera invité à entrer le mot de passe lors de l'exécution

3. Tâche ajoutée au fichier ts.xml

Chemin du fichier: c:\MDT\Control\DEPL-W11-25H2-00\ts.xml

Emplacement: Dans le groupe "Postinstall", après le groupe "Settings Only Bios Change Lenovo"

Groupe créé: "Configure BIOS Lenovo Full Settings"

  • Conditions: S'exécute pour tous les ordinateurs Lenovo ThinkCentre (détection WMI)
  • Tâche: Exécute le script ConfigureBIOSLenovo_TSIntegration.ps1
  • Mode: WinPEandFullOS
  • Gestion d'erreur: continueOnError=true (ne bloque pas la séquence si erreur)

Condition WMI:

SELECT * FROM Win32_ComputerSystemProduct WHERE Name LIKE '%ThinkCentre%' OR Name LIKE '%neo 50s%'

4. Fonctionnement du mot de passe BIOS (MODE ZÉRO TOUCH)

La tâche fonctionne sans intervention utilisateur:

Sans mot de passe BIOS:

  • Le script s'exécute normalement
  • Les paramètres sont appliqués directement

Avec mot de passe BIOS actif (Zéro Touch):

  • Le script détecte l'état du mot de passe via WMI (Lenovo_BiosPasswordSettings)
  • Le mot de passe doit être fourni via la variable MDT BIOSPassword
  • Le mot de passe est utilisé directement - AUCUNE demande interactive
  • Les paramètres sont appliqués avec authentification automatique

Configuration du mot de passe BIOS (MODE SÉCURISÉ)

Ne pas stocker le mot de passe en clair dans CustomSettings.ini. Le mot de passe doit être récupéré via un script sécurisé avant l'étape BIOS.

Utilisez le script VBS suivant:

cscript.exe "%SCRIPTROOT%\SupportHDF\Set_BIOSPassword_FromDatabase.vbs"

Ce script doit définir la variable MDT BIOSPassword en mémoire au moment de l'exécution.

Conditions obligatoires:

  • Si un mot de passe BIOS est détecté sur le système
  • ET la variable BIOSPassword est vide
  • Le script échoue avec erreur (pas d'authentification possible)

Recommandations sécurité:

  1. Ne pas mettre le mot de passe en clair dans CustomSettings.ini
  2. Utiliser un script VBS de prédeploiement qui:
    • Récupère le mot de passe depuis une source chiffrée ou sécurisée
    • Le définit dans la variable MDT BIOSPassword
  3. Ne conserver aucun mot de passe BIOS en clair dans les fichiers de configuration

5. Détection du modèle Lenovo

Le script détecte automatiquement la génération selon les critères suivants:

  • Gen 5: Si le modèle contient "Gen 5", "Gen5", "gen 5", ou "gen5"
  • Gen 4: Si le modèle contient "Gen 4", "Gen4", "gen 4", ou "gen4"
  • Gen 3 (par défaut): Tous les autres cas

Priorité de détection:

  1. Variable d'environnement $env:LenovoModel (si définie)
  2. WMI Win32_ComputerSystemProduct.Name (détection locale)
  3. Défaut: Gen 3

6. Points importants

La tâche existante n'est pas modifiée - Le groupe "Settings Only Bios Change Lenovo" reste inchangé (disabled=true)

Gestion différenciée - Chaque génération (Gen3, Gen4, Gen5) a son propre fichier CSV

Détection du mot de passe - Automatique via WMI, pas besoin de variable manuelle

Sécurité - Le script affiche les détails de la configuration dans les logs MDT

7. Tests recommandés

Pour tester correctement:

  1. Commencer par Gen5 (comme demandé)
  2. Vérifier les logs de la séquence de tâches: C:\MININT\SMSTS.log
  3. Tester avec et sans mot de passe BIOS configuré
  4. Vérifier que les paramètres BIOS sont bien appliqués après le redémarrage

8. Variables d'environnement MDT (optionnel)

Pour forcer un modèle spécifique, vous pouvez définir dans CustomSettings.ini:

[Default]
LenovoModel=ThinkCentre neo 50s Gen 5
BIOSPassword=MonMotDePasse  ; ZÉRO TOUCH - Mode automatique sans interaction

9. Configuration des tests

Mode ZÉRO TOUCH (Recommandé):

  1. Ajouter la variable BIOSPassword dans CustomSettings.ini
  2. Ou utiliser un script VBS pour la définir depuis une source sécurisée
  3. Le déploiement fonctionnera sans demande de mot de passe

Mode sans mot de passe:

  1. Laisser BIOSPassword vide
  2. S'assurer que le BIOS Lenovo n'a pas de mot de passe configuré
  3. Le déploiement s'exécutera directement

10. Architecture sécurisée recommandée

Approche SANS clair en production:

Fichier CustomSettings.ini
        ↓
   (appelle)
        ↓
Set_BIOSPassword_FromDatabase.vbs
        ↓
(récupère de):
- Base de données chiffrée
- Active Directory (attribut personnalisé)
- API HTTPS (coffre-fort d'entreprise)
- Fichier sécurisé (permissions AD)
        ↓
Variable MDT: BIOSPassword
        ↓
ConfigureBIOSLenovo_TSIntegration.ps1
        ↓
Module SetBIOS (applique les paramètres)

11. Fichiers de support

Fichiers d'exemple fournis:

  • CustomSettings_BIOS_Example.ini - Exemples de configuration
  • Set_BIOSPassword_FromDatabase.vbs - Script pour récupérer le mot de passe sécurisement

9. Fichiers modifiés/créés

c:\MDT\
├── Scripts\
│   └── SupportHDF\
│       ├── CSV\
│       │   ├── ConfigBIOSLenovo_Gen3.csv  [CRÉÉ]
│       │   ├── ConfigBIOSLenovo_Gen4.csv  [CRÉÉ]
│       │   └── ConfigBIOSLenovo_Gen5.csv  [CRÉÉ]
│       └── ps1\
│           └── ConfigureBIOSLenovo_TSIntegration.ps1  [CRÉÉ]
└── Control\
    └── DEPL-W11-25H2-00\
        └── ts.xml  [MODIFIÉ - Groupe "Configure BIOS Lenovo Full Settings" ajouté]

Date de création: 28/05/2026 Module SetBIOS utilisé: 1.0 (c:\MDT\Tools\Modules\SetBIOS\1.0\SetBIOS.psm1)