Dans ce tutoriel, nous allons voir comment installer, configurer et utiliser PSD (PowerShell Deployment) qui est une version de MDT qui a été réécrite en PowerShell
Pour remettre un peu de contexte sur PSD et MDT, il faut savoir que Microsoft ne maintient plus MDT qui est un outil qui permet de déployer des installations personnaliser de Windows avec très d’interaction utilisateur.
Si vous ne connaissez pas MDT, je vous invite dans un premier temps à lire ce tutoriel : MDT – Installation et configuration – Microsoft Deployment Toolkit – Optimisation du déploiement de Windows.
Pour ce qui utilise MDT et qui ont déjà mis les mains dedans, celui-ci est écrit en VBS, qui lui aussi n’est plus pris en charge par Microsoft et celui-ci devrait disparaitre de Windows.
De ce constat est née : PowerShell Deployment Extension Kit qui permet de continuer d’utiliser MDT dans une version plus moderne sur la base de PowerShell et apporte également des améliorations comme le déploiement par le Web (443).
Dans ce tuto, je vais vous expliquer PowerShell Deployment
Prérequis
Avant de commencer, on va s’attaquer aux différents prérequis.
Pour commencer, il faut obligatoirement avoir un Windows Server installé en Anglais qui peut être 2016, 2019 ou 2022.
On va passer au prérequis logiciels qui sont :
- Windows ADK for Windows 11 21H2 (10.1.22000.1)
- MDT 8456
Installation de ADK For Windows 11 21H2
Commencer par télécharger le fichier d’installation : https://go.microsoft.com/fwlink/?linkid=2165884
Exécuter le fichier puis patienter pendant le chargement de l’assistant d’installation …
Au lancement de l’assistant, cliquer sur Suivant 1, on laisse les options par défaut.
Configurer la collecte d’information pour Microsoft 1 puis cliquer sur Suivant 2.
Cliquer sur Accepter 1.
Laisser les fonctionnalités par défaut, cliquer sur Installer 1.
Patienter pendant le téléchargement et l’installation de Windows ADK …
L’installation finie, quitter l’assistant d’installation en cliquant sur le bouton Fermer 1.
Installation de WinPE Addon 21H2 for Windows 11
On va maintenant installer : WinPE Addon 21H2 for Windows 11 qui va permettre de créer les environnements bootable pour installer Windows à travers MDT.
Télécharger WinPE Addon 21H2 for Windows 11 : https://go.microsoft.com/fwlink/?linkid=2166133
Exécuter le fichier, au lancement de l’assistant, cliquer sur Next 1 en laissant les options par défaut.
Cliquer ensuite sur Next 1, l’option de collecte est normalement celle qui a été sélectionnée lors de l’installation de Windows ADK.
Cliquer sur Accept 1.
Pour finir cliquer sur Install 1.
Patienter pendant le téléchargement et l’installation …
L’installation terminée, cliquer sur Close 1.
Installation de MDT
Pour terminer l’installation des logiciels nécessaires, il faut installer MDT, que vous pouvez télécharger ici : https://www.microsoft.com/en-us/download/details.aspx?id=54259
Exécuter le fichier d’installation de MDT.
Au lancement de l’assistant, cliquer sur Next 1.
Cocher la case 1 pour accepter la licence, puis cliquer sur Next 2.
Les options d’installation par défaut, cliquer sur Next 1.
Sélectionner I don’t want to join the program at this time 1 puis cliquer sur le bouton Next 2.
Cliquer maintenant sur Install 1.
L’installation de MDT ne prend que quelques secondes … L’installation terminée, fermer l’assistant en cliquant sur FInish 1.
Créer un enregistrement DNS pour le serveur Web
Sur votre serveur DNS, créer un enregistrement pour l’accès Web qui pointe sur le serveur, dans ce tutoriel j’ai choisi psd.rdr-it.lab.
Créer un utilisateur local dédié à PSD
Modifier la politique d’exécution PowerShell
Il est nécessaire d’être permissif sur l’exécution des scripts PowerShell, sans cette modification, j’ai n’ai pas pu générer le fichier ISO afin de pouvoir l’environnement WinPE.
Sur le futur serveur entrer la commande suivante :
Set-ExecutionPolicy Bypass
Il faut confirmer l’exécution pour tous les scripts.
Télécharger PSD
Aller sur le dépôt Github : https://github.com/FriendsOfMDT/PSD
Cliquer sur le bouton Code 1 puis sur Download ZIP 2.
Une fois téléchargé, décompresser l’archive.
Configurer PSD
Comme vous allez le voir, il n’y a pas réellement d’installation pour PowerShell Deployment mais plutôt une liste de script à exécuter, car PSD s’appuie sur sur la partie console MDT pour la configuration.
L’ensemble des commandes ci-après, doit être lancer depuis une invite de commande PowerShell lancer en administrateur et vous devez vous placer dans le dossier décompressé de PSD.
Autres informations sur la configuration :
- Le chemin physique sur mon serveur de DeploymentShare est le suivant :
E:\PSD
- Le nom du partage :
PSD
- Le dossier virtuel sur IIS :
psd
- Le nom DNS :
psd.rdr-it.lab
A vous d’adapter ces différents paramètres dans les commandes à votre environnement.
Création du Deployment Share pour PSD
La première étape va être la configuration du dossier dans MDT qui va être utiliser par PSD pour le stockage des ces fichiers mais également des différents Système d’exploitation, Pilotes, Applications …
Pour cela, on va exciter le script Install-PSD.ps1
en lui passant deux paramètres :
psDeploymentFolder
: qui correspond au chemin absolu sur le serveur de l’emplacement du dossierpsDeploymentShare
: le nom du partage
Ce qui nous donne :
.\Install-PSD.ps1 -psDeploymentFolder E:\psd -psDeploymentShare psd
Si tout se passe bien, vous devriez avec ceci :
Sur le serveur, on peut voir que que fichier psd a été créé et si on regarde dans celui-ci, on retrouve quasiment la même arborescent que dans un dossier de déploiement MDT.
Installation du serveur Web IIS pour PSD
Comme évoquer au début du tutoriel, une des nouvelles fonctionnalités, c’est l’utilisation d’un serveur Web pour l’accès au partage à la place du chemin UNC et pour cela PSD s’appuie sur IIS et propose un script pour l’installation du rôle avec les différentes fonctionnalités nécessaire.
Aller dans le dossier Tools
et on va exécuter le fichier New-PSDWebInstance.ps1
.\New-PSDWebInstance.ps1
Patienter pendant l’installation de IIS …
L’installation terminée, le serveur a besoin de redémarrer.
Pour redémarrer le serveur entrer la commande suivante :
Restart-Computer
Configuration de IIS pour PowerShell Deployment
Dans le dossier Tools se trouve le script Set-PSDWebInstance.ps1
qui permet de configurer le site de IIS.
Entrer la commande suivante :
.\Set-PSDWebInstance.ps1 -psDeploymentFolder E:\psd -psVirtualDirectory psd
Si le script est bien passé, vous avez juste un retour que vous indique que l’exécution est terminée.
Génération des certificats
On va maintenant générer une autorité de certification et un certificat pour le serveur Web IIS issue de cette autorité, ici il n’y a pas besoin du rôle Windows ADCS, tout se fait à l’aide de script PowerShell.
Si vous possédez une CA Interne, il est possible de s’affranchir de cette partie, mais vous devrez tout de même ajouter le certificat racine dans PSD et également générer un certificat pour le serveur IIS, l’installer sur le serveur et le lier au site.
La première étape est la génération de l’autorité de certification, pour cela on va exécuter le script New-PSDRootCACert.ps1
qui se trouve toujours dans le dossier Tools
.
Entrer la commande suivante :
.\New-PSDRootCACert.ps1 -RootCAName PSDRootCA -ValidityPeriod 20 -psDeploymentFolder E:\psd
Si vous regardez dans le dossier PSDRessources\Certificates
du Deployment Share de PSD, vous trouverez le certificat de l’autorité de certification qui a été créé dedans, il est nécessaire de le mettre ici, car il sera ajouté au fichier de boot WinPE afin de ma avoir d’erreur SSL lors de la connexion au serveur Web.
Maintenant, nous allons générer le certificat pour le service Web en utilisant l’autorité de certification que l’on vient de créer. Dans le script que l’on va utiliser, vous devez lui indiquer le nom DNS, ce qui donne :
.\New-PSDServerCert.ps1 -DNSName fqdn.psd.local -FriendlyName fqdn.psd.local -ValidityPeriod 5 -RootCACertFriendlyName PSDRootCA
Pour vérifier la génération du certificat, on peut le faire par le biais de la console IIS en regarder le mappage du site par défaut au niveau de l’HTTPS.
Nous en avons fini avec les scripts PowerShell, PowerShell Deployment est maintenant prêt à être « utiliser »
Utiliser PowerShell Deployment
Nous allons maintenant passer à l’utilisation de PSD ou de MDT, car comme vous allez le voir, l’ensemble de son utilisation et personnalisation se fait directement dans la console MDT et il y a très peu de différence avec une installation de MDT, donc si vous êtes habituer à utiliser MDT vous ne serez perdu.
Commencer par lancer la console MDT :
Comme on peut le voir, le partage (Deployment Share) de PSD a été ajouté à la console MDT, pour les personnes qui découvre MDT, je vais reprendre par étape comme faire afin que vous puissiez vous lancer dans le déploiement de Windows, pour les habituer de MDT, procéder comme d’habitude, ajout de OS, ajout des pilotes, ajout des applications puis création de la séquence de tâches (que je vous conseille de lire car il y a une subtilité).
Pour une découverte complète de la console MDT, je vous invite à lire ce tutoriel : MDT – Installation et configuration – Microsoft Deployment Toolkit – Optimisation du déploiement de Windows
Ajouter un système d’exploitation
La première chose à faire, c’est d’ajouter le système d’exploitation que l’on souhaite déployer, ici je vais utiliser l’ISO que m’a servi à créer la machine virtuelle, c’est à dire Windows Server 2019 EN.
Pour commencer j’ai créé un dossier dans Operating systems pour organiser mes OS, une fois à l’emplacement souhaité, cliquer sur Import Operating System 1.
Sélectionner le type OS que vous allez importer, ici je vais juste utiliser le fichier WIM de l’ISO, je vais donc choisir Custom Image File 1 et cliquer sur Next 2.
Indiquer l’emplacement du fichier install.wim 1 et cliquer sur Next 2.
Laisser l’option Setup file are not needed 1 puis cliquer sur le bouton Next 2.
Ici indiquer le nom dossier où sera stocker l’OS 1 et cliquer sur Next 2.
Un résumé de l’import de l’OS s’affiche, cliquer sur Next 1.
Patienter pendant l’import …
L’importation terminée, cliquer sur Finish 1 pour fermer l’assistant.
L’OS est disponible dans MDT / PSD.
Ajouter une application MSI dans la console MDT / PSD
Dans le but de personnaliser le déploiement, on va ajouter une application MSI qui pourra être sélectionner pendant la configuration de l’ordinateur dans la phase de déploiement.
Pour illustrer cette partie, j’ai utilisé Microsoft Edge, afin de pouvoir l’importer correctement dans MDT, il est impératif de créer un dossier qui contient le fichier .msi comme sur la capture.
Depuis la console MDT, aller sur Applications 1 et cliquer sur New Application 2.
Comme pour les OS, il est possible de créer des dossiers pour organiser les applications.
Choisir le type : Application with sources files 1 puis cliquer sur le bouton Next 2.
Dans les détails de l’application à minima indiquer le nom de l’application 1 et cliquer sur Next 2.
Indiquer l’emplacement des sources 1 sur le serveur et cliquer sur Next 2.
Indiquer le nom du dossier 1 qui sera créé dans le deployment share puis cliquer sur Next 2.
Entrer la commande à exécuter pour installer le fichier .msi, l’avantage avec ce type de fichier, l’installation silencieuse est standard pour cela entrer la commande 1 suivante puis cliquer sur Next 2.
msiexec.exe /i filename.msi /qn
Confirmer l’ajout de l’application en cliquant sur Next 1.
L’application ajoutée, fermer l’assistant en cliquant sur Finish 1.
L’application est ajoutée et disponible dans la console MDT.
Ajouter une séquence de tâche
La séquence de tâche (Task Sequence) dans MDT permet de configurer une série d’action à effectuer comme par exemple l’installation de Windows.
Faire un clic droit sur Task Sequences, puis cliquer sur New Task Sequence 1.
Entrer l’ID 1 de la séquence de tâche et un nom 2 puis cliquer sur Next 3.
Dans la liste des modèles (Template), sélectionner PSD Standard Client Task Sequence 1 et cliquer sur Next 2.
Choisir le système d’exploitation (OS) 1 qui sera installé puis cliquer sur le bouton Next 2.
Si nécessaire entrer la clé produit 1 puis cliquer sur Next 2.
Entrer le nom de votre organisation 1 et cliquer sur Next 2.
Choisir une option pour le mot de passe du compte Administrator 1 et cliquer sur Next 2.
Par défaut, il vous sera demander de configurer le mot de passe du compte Administrator lors du déploiement.
Un résumé de la séquence de tâche s’affiche, cliquer sur Next 1 pour valider la création de celle-ci.
La séquence de tâche a été ajoutée, cliquer sur Finish 1 pour fermer l’assistant.
La séquence de tâche est disponible dans la console MDT.
Configurer et construire l’environnement de démarrage WinPE
Maintenant afin de pouvoir utiliser MDT, nous allons devoir configurer et générer l’environnement de démarrage WinPE qui va permettre l’installation de Windows sur l’ordinateur que l’on souhaite déployer.
La principale nouveauté de PSD est justement l’environnement WinPE qui a été réécrit en PowerShell, ce qui permet de le rendre compatible avec les derniers environnement Windows 11 ADK.
Dans ce tutoriel, on va aller au plus simple afin de seulement le démarrage et le déploiement mais la configuration est hautement personnalisable et pour cela je vous invite à regarder les tutos MDT existants.
Sur la console MDT, faire un clic droit sur le Deployment Share et cliquer sur Properties 1.
Aller sur l’onglet Rules 1, comme pour MDT, on retrouve le contenu du fichier CustomSettings.ini, qui nous permet de configurer l’assistant de déploiement. En premier on va configurer l’environnement WinPE, pour cela cliquer sur le bouton Edit Bootstrap.ini 2.
A minima, indiquer l’url et utilisateur et mot de passe afin que l’environnement WinPE ait les infirmations pour se connecter au serveur Web.
De retour sur l’onglet Rule, modifier par exemple le valeur _SMSTSORGNAME qui va permettre de faire afficher le nom de votre société de le texte des fenêtre WinPE, en suite appliquer et fermer la fenêtre.
On va poursuivre avec la construction de l’environnement WinPE qui sera utilisé par la suite pour le boot des ordinateurs.
Faire un clic droit sur le Deployment Share et cliquer sur Update Deployment Share 1.
A l’étape suivante, laisser l’option Optimize the boot image updating process, cliquer sur Next 1.
Passer le résume en cliquant sur Next 1.
Patienter pendant la génération des images …
Une fois terminée, quitter l’assistant en cliquant sur Finish 1.
Avec l’explorateur de fichiers, dans le dossier Boot qui se trouve dans le dossier PSD.
Dans ce dossier, c’est le fichier .iso qui va particulièrement nous intéresser, car il va nous permettre de créer démarrer dessus à pour les VM où de créer des clés USB Bootable. Le fichier .wim lui peut être ajouter à WDS pour le démarrage sur le réseau.
Déployer Windows avec PowerShell Deployment
Pour finir ce tutoriel, on va voir les étapes de déploiement avec PSD.
Pour ce tutoriel, j’ai créé un VM sous Hyper-V et configurer le fichier ISO sur le lecteur CD/DVD de la VM afin de démarrer dessus.
Je vais donc démarrer sur l’ISO …
Au chargement de l’environnement WinPE patienter, cela peut prendre 2 à 3 minutes …
Comme vous pouvez le voir sur la capture ci-dessous, l’environnement WinPE vérifie la connexion avec le serveur …
Une fois les différents test effectués et réussis, l’assistant se lance …
L’assistant lancer, cliquer sur Lets get started 1.
A la première étape, une vérification est effectuée afin de voir si l’ordinateur répond au prérequis pour le déploiement des dernières version de Windows, comme pour MDT, il est possible de configurer cette étape, voir même de l’ignorer, cliquer sur Next 1.
Sélectionner le séquence de tâche 1 que vous souhaitez exécuter pour le déploiement de Windows et cliquer sur Next 2.
Sélectionner le disque 1 où sera installé WInows, puis cliquer sur Next 2.
Configurer le nom de l’ordinateur 1, ici je vais le laisser en Workgroup, à cette étape, vous pouvez configurer la jonction au domaine Active Directory, cliquer sur Next 2.
Entrer le mot de passe du compte Administrator 1 puis cliquer sur Next 2.
Ajuster si nécessaire, clavier, fuse horaire 1 puis cliquer sur Next 2.
Sélectionner les applications à installer 1 puis cliquer sur Next 2.
Confirmer le déploiement en cliquant sur Begin 1.
Patienter pendant le déploiement de Windows …
Une fois le déploiement terminé, cliquer sur OK 1 pour fermer la fenêtre.
Votre ordinateur est déployé.
Dans ce tutoriel, on a vu comment déployer PSD qui s’appuie sur MDT et qui permet d’avoir un environnement « moderne » de déploiement de Windows.