Implemantation Lenovo Bios Password non crypte
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user