# Le script fonctionne en deux parties. # La première partie vise à l'installation des différents rôles nécessaires à notre serveur. # En plus des "indispensables" pour avoir un Active Directory fonctionnel, on installe les rôles "Web-Server" et "DHCP" # La seconde partie installe l'Active Directory sur notre seveur. # Les variables pour la configuration de l'Active Directory se situe plus bas, dans la variable ConfForet (lXX) # 1 - Installation des rôles # On déclare les différents rôles dans la variable "ListeRoles" # Puis on boucle en déclarant la variable $Role pour chaque membre de $ListeRoles # On utilise un "Try"/"Catch" pour avertir d'une erreur dans l'installation d'un rôle. # On boucle dans le "Try" sur la commande Add-WindowsFeature qui permet d'installer les rôles. # On utilise les paramètres -IncludeManagementTools et -IncludeAllSubFeature pour une installation complète. $ListeRoles = @("RSAT-AD-Tools","AD-Domain-Services","DNS","Web-Server","DHCP") Foreach($Role in $ListeRoles){ Try{ Add-WindowsFeature -Name $Role -IncludeManagementTools -IncludeAllSubFeature Write-Output "$Role : Installation en cours ..." } Catch{ Write-Output "$Role : a rencontré une erreur durant l'installation !" } } # 2 - Configuration de la forêt Active Directory # Pour avoir un Active Directory fonctionnel, il faut maintenant qu'on configure une forêt # On déclare différentes variables pour pouvoir modifier la configuration à la volée. # Notamment sur les chemins d'installations et le nom de domaine. $NTDS = "NTDS" $SYSVOL = "SYSVOL" $Log = "Log" $Nom2domaine = "dad.ipi" $Netbios = "DADIPI" # Puis on appelle les variables ci-dessus dans notre $ConfForet $ConfForet = @{ # Configuration des chemins dans C:\NTDS ; C:\SYSVOL ; et C:\Log '-DatabasePath'= $NTDS; '-LogPath' = $Log; '-SysvolPath' = $SYSVOL; # Configuration du niveau de domaine et de forêt à 7 (Windows Server 2016, niveau le plus récent) '-DomainMode' = '7'; '-ForestMode' = '7'; # Configuration du NETBIOS et du nom de domaine '-DomainName' = $Nom2domaine; '-DomainNetbiosName' = $Netbios; # Booléens sur le reboot, le "Force" et la délégation DNS (inutile dans notre cas). '-NoRebootOnCompletion' = $true; '-Force' = $true; '-CreateDnsDelegation' = $false } # Enfin on importe le module ADDSDeployment # Et on utilise "Install-ADDSForest" en appellant notre $ConfForet Import-Module ADDSDeployment Install-ADDSForest @ConfForet