Outil pour une installation entièrement automatisée de Windows 2008 R2 ( AD,OU,Utilisateurs,DCHP …)

Voici un outil bien pratique développé en PowerShell qui va nous aider à déployer automatiquement un serveur 2008 R2 (Entreprise, Standard et Foundation).

Ce programme va également nous permettre d’installer Active Directory et le rôle DNS, de rajouter des utilisateurs et de les placer dans les bonnes OU qui seront créés automatiquement et pour finir la possibilité d’installer un serveur DHCP (en définissant la scope choisie) de manière automatique.

Voici le lien pour le récupérer cet outil qui nous avons appelé « WiSAIS » :-)

https://cid-c3cca8507ffc616e.skydrive.live.com/browse.aspx/WiSAIS

1. Pré-requis

Pour exécuter le programme, vous devez : 

  • Avoir Powershell v1.0 installé sur sa machine (il est déjà installé de façon native sur Windows 7 et Windows 2008 R2).
  • Autoriser l'exécution de scripts Powershell. Cela peut se faire de 2 façons :

- En cliquant sur le fichier Powershell.reg (qui se trouve dans le dossier InstallationFiles)

- En ouvrant une console Powershell (Powershell.exe)                                  Taper ensuite la commande suivante : Set-ExecutionPolicy RemoteSigned. Appuyer ensuite sur "y" pour confirmer.

2. Contenu de la solution

La solution contient :

  • Le programme principal : WiSAIS.ps1
  • Le raccourci pour exécuter le programme : Raccourci - WiSAIS.ink
  • Le dossier InstallationFiles : ce dossier contient les fichiers qui vont être transférés sur la clé USB :
    • AppsRoot.txt : il s’agit d’un fichier texte vide qui servira à créer une variable d’environnement pour pouvoir retrouver facilement le chemin de la clé USB.
    • Autounattend.xml : le fichier réponse qui servira à l’installation de Windows 2008 R2
    •  DCPROMO.TXT : le fichier réponse qui servira à paramétrer l’installation d’Active Directory
    • Dhcp.cmd : c’est un fichier en batch qui permettra d’installer le serveur DHCP grâce à des commandes netsh.
    • Generateur-csv.ps1 : c’est un fichier en PowerShell qui génère un fichier csv qui permettant de rajouter les utilisateurs dans l’Active Directory. Il se présente sous la forme d’un formulaire. Nous pouvons également spécifier les OU (champs Service).                                                                           L’avantage est que vous pouvez donner ce fichier à une personne tierce et rajouter le fichier généré dans le dossier InstallationFiles ou directement sur votre clé USB
    • Powershell.reg : c’est une clé de registre qui permet l’exécution de scripts Powershell. Il suffit de double cliquer dessus pour la rajouter au registre.
    • userAD.ps1 : ce programme fera l’ajout dans l’Active Directory au premier démarrage une fois Windows et Active Directory installé.
  • Le fichier de langue : genAutounattend.txt

Ce fichier est en français par défaut et convient pour une installation française de Windows Server 2008 R2.

Attention, si votre devez installer une version anglaise de Windows Server 2008 R2, vous devez remplacer ce fichier par celui qui se trouve dans le dossier Langue (genAutounattend-en.txt) et le renommer en genAutounattend.txt (le programme sera alors en anglais mais fonctionnera avec l’installation d’un OS anglais).

  • Les fichiers master.xml et DCPromoMaster.txt : ce sont les fichiers qui vont servir de modèle pour la création des fichiers de réponses.                              
  • Lisez-moi.rtf : fichier rtf contenant les instructions
  • Picture.jpg : l'icone du Coquillage Puissant ;)

3. Exécution de la solution

Pour commencer, il n'y a pas de vérification des champs saisis dans cette version de WiSAIS (cette fonctionnalité sera implémentée dans une prochaine version).

A vous d'être attentif sur ce que vous saisissez ;)

De plus, certains champs sont obligatoires pour le bon déroulement des opérations comme par exemple :

  • Le nom du serveur
  • Le mot de passe Administrateur
  • La configuration IP (adresse IP, masque, passerelle, DNS)
  • Le nom de domaine, …

Pour exécuter le programme, cliquez sur Raccourci - WiSAIS.

La fenêtre suivante s’ouvre :

wis

Elle est composée de 4 onglets :

  •  Information Serveur : contient toutes les informations relatives au serveur (Nom du serveur, clé cd, adresse IP, ...). A noter que la clé CD n’est pas obligatoire : elle pourra être rajoutée ultétieurement
  • Active Directory : permet de configurer Active Directory.

Attention, vous devez obligatoirement rajouter l'extension du domaine dans le champ "Nom de domaine" (ex: ma-tpe.local) ainsi que le nom NETBIOS (ex: ma-tpe) .

  • Création utilisateurs : ce formulaire vous permet de créer des utilisateurs dans l'Active Directory.

Celui-ci généra un fichier .csv qu'utilisera ensuite userAD.ps1 pour rajouter les utilisateurs.

Vous pouvez très bien utiliser votre propre fichier CSV et passer cette étape. Dans ce cas la, vérifiez bien la syntaxe (virgule entre les champs), l’entête, et le nombre de champs (qui doivent être identiques au fichier CSV généré par WiSAIS).

Pour finir, vous devez l'appeler user.csv et le mettre à la racine de votre clé USB.

  • DHCP : Cette partie est optionnelle et permet d’installer le rôle DHCP.

N’oubliez pas de cocher la case pour valider l’installation du serveur DHCP.

dhcp

Rentrer les informations concernant le réseau, l’étendue, ect …

Faites cependant attention à rentrer des valeurs correctes sans quoi l'installation du serveur DHCP ne s'effectuera pas.

(Voir screenshot ci-dessus pour un exemple avec des valeurs correctes)

Le DHCP sera installé avec les options suivantes par défaut :

    • 003 Routeur (IP du serveur)
    • 006 DNS (IP du serveur)
    • 015 Nom de domaine DNS (nom du domaine AD)

Une fois tous les champs remplis, vous pouvez cliquer sur le bouton "Générer"

Une fenêtre s'ouvre et vous pouvez choisir l'endroit ou vous voulez sauvegarder votre configuration.

Vous devez impérativement choisir la racine de votre clé USB pour que l'installation se fasse sans problèmes.

key

4. Installation du serveur.

Attention, il est impératif de relier votre serveur à un câble réseau pendant l'installation (vous pouvez juste mettre un switch et un câble réseau si vous ne souhaitez pas vous raccorder à votre réseau d'entreprise).

Branchez votre clé USB et bootez sur le DVD

Attention, sur certains serveurs munis d’un contrôleur RAID, l’installation va voir votre clé USB comme un disque physique : dans ce cas là , ne branchez pas votre clé USB et attendez de voir l’écran d’installation (« Installer maintenant ») pour brancher votre clé (le fichier réponse sera bien en compte)

inst

Attendez 20 à 30 min (en fonction de votre matériel)

5. Fonctionnement des programmes.

Vous pouvez regarder le code source des fichiers WiSAIS.ps1 et userAD.ps1. Ces fichiers sont commentés et libre à vous de les modifier pour les améliorer.

Le processus d’installation s’appuie donc sur le fichier autounattend.xml que l’on peut décomposer en 3 grandes étapes (appelées Settings Path dans le fichier XML) :

  • Etape WinPE : Formatage du disque, création de la partition et choix de la langue.
  •  Etape Specialise  : Information du serveur (Nom, configuration réseau, création du compte administrateur…).
  •  Etape OOBE  : Définition du mot de passe Administrateur, auto-logon, …

On trouve également dans cette étape des commandes synchrones et asynchrones :

Parmi les commandes synchrones (exécutés avant le login) , on a :

- Rajout de la clé de registre pour exécuter les scripts PowerShell (fichier Powershell.reg : on passe par la commande REGEDIT).

-   Installation de l’Active Directory (commande DCPromo avec son fichier de réponse DCPromo.txt). Le système va redémarrer une fois l’installation terminée.

Les commandes asynchrones sont quant à elles exécutées au premier logon du système.

Comme nous avons défini un auto-logon dans le fichier autounattend.xml, le système sera logué automatiquement (juste pour cette fois car nous avons défini la valeur de l’auto-logon à 1).

Voici les commandes asynchrones qui seront exécutées :

- Installation du serveur DHCP (grâce au script DHCP.cmd généré par  WiSAIS.ps1)

- Rajout des utilisateurs dans Active Directory (en exécutant userAD.ps1 qui prend le fichier user.csv comme source d’information)

Cet outil a été développé par : Samy Girard, Antoine Journaux, Pierre Chesné.