197 lines
7.1 KiB
Markdown
197 lines
7.1 KiB
Markdown
# 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)
|