Comment installer l'Active Directory via Powershell DSC

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!

Bonjour,

Quatrième et dernier article  présentant différentes méthodes pour installer l’Active Directory :
Installer Microsoft Active Directory via l’interface graphique (serveur 2012, 2012r2, 2016, 2019, 2022)
- Installer Microsoft Active Directory via la commande dcpromo (serveur 2003, 2008, 2008r2, 2012, 2012r2, 2016, 2019, 2022)
- Installer Microsoft Active Directory via Powershell (serveur 2012, 2012r2, 2016, 2019, 2022)
- Installer Microsoft Active Directory via Powershell DSC (serveur 2016, 2019, 2022)

On peut aussi installer un domaine avec DSC (Desired State Configuration).
Il est nécessaire d’avoir les modules DSC correspondant.
Dans cet exemple, DSC va renommer la machine, lui donner une IP fixe, et installer et configurer le rôle Active Directory.
Note : En production, penser à modifier le mot de passe de restauration des services d’annuaires (DSRM) et celui du compte administrateur, à surtout lire la documentation sur la gestion des mots de passe dans DSC. 

Code utilisé dans la vidéo : installer l’Active Directory via Powershell DSC

# Installation des modules DSC
$module = @( 'networkingdsc',
'activedirectorydsc',
'ComputerManagementdsc'
)
Install-module $module -force
# C'est un code de démo, pour la production, revoir la gestion des identifiants
# et lire la documentation Microsoft sur DSC et le stockage des identifiants.
# Identifiants pour installer le domaine et pour DSRM
$passwd = ConvertTo-SecureString 'P@ssword' -AsPlainText -Force
$id = New-Object System.Management.Automation.PSCredential('administrateur',$passwd)
# Configuration du moteur DSC
[DSCLocalConfigurationManager()]
configuration LCMConfig
{
Node localhost
{
settings
{
ActionAfterReboot = 'ContinueConfiguration'
ConfigurationMode = 'ApplyOnly'
RebootNodeIfNeeded = $true
}
}
}
LCMConfig
Set-DscLocalConfigurationManager -ComputerName localhost -Force -Verbose -path .\LCMConfig
# Eviter les erreurs lors d'utilisation d'identifiants dans DSC
$configData = @{
AllNodes = @(
@{
NodeName = 'localhost';
PSDscAllowPlainTextPassword = $true
}
)
}
# Création de la configuration DSC
configuration Demo-AD
{
param (
[string[]]$NodeName ='localhost',
[Parameter(Mandatory)][string]$ComputerName,
[Parameter(Mandatory)][string]$DomainName,
[Parameter(Mandatory)][string]$IP,
[Parameter()]$cred=$id
)
# Import des ressources DSC
Import-DscResource -Module ActiveDirectoryDSC
Import-DscResource -Module NetworkingDSC
Import-DscResource -Module ComputerManagementDSC
Import-DscResource -Module PSDesiredStateConfiguration
Node $NodeName {
Computer NewNameAndWorkgroup {
Name = $ComputerName
}
WindowsFeature ADDSInstall {
Ensure = 'Present'
Name = 'AD-Domain-Services'
IncludeAllSubFeature = $true
}
WindowsFeature RSATTools {
DependsOn= '[WindowsFeature]ADDSInstall'
Ensure = 'Present'
Name = 'RSAT-AD-Tools'
IncludeAllSubFeature = $true
}
IPAddress NewIPAddress {
IPAddress = $IP
InterfaceAlias = 'Ethernet'
AddressFamily = 'IPV4'
}
ADDomain SetupDomain {
Credential = $cred
DomainName = $DomainName
SafemodeAdministratorPassword = $cred
DependsOn ='[WindowsFeature]RSATTools'
ForestMode = 'WinThreshold'
}
}
}
# Création du fichier de configuration DSC
Demo-AD -ComputerName DC1 -DomainName domaine.tld -ip '192.168.10.1/24' -ConfigurationData $configData
# Application du fichier DSC
Start-DscConfiguration -ComputerName localhost -Wait -Force -Verbose -path .\Demo-AD -Debug

En savoir plus sur DSC :
https://docs.microsoft.com/fr-fr/powershell/scripting/dsc/overview/dscforengineers?view=powershell-5.1

Video : Comment installer l'Active Directory via Powershell DSC

Liens en relation