# 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**: ```sql 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: ```ini 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: ```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)