Sylver SCHORGEN Blog's

Articles, astuces et news sur les technologies Microsoft et plus particulièrement tournant autour de Powershell

Bonjour à tous,

Je me suis fait un petit script DSC pour le déploiement de mes infra AD de test (1 seul contrôleur de domaine). Ce script me permet de déployer mes DC bien plus rapidement que si je le faisais à la main.

Il faut disposer des modules xComputerManagement et xActiveDirectory pour que ce script soit fonctionnel.

Le script dispose de paramètre obligatoire :

  • AdministratorLogin: Le nom de votre utilisateur administrateur
  • AdministratorPassword: Le mot de passe de votre utilisateur administrateur
  • ServerName : Le nom du serveur (il sera renommé ainsi)
  • WorkGroupName : Le nom du workgroup dans lequel le serveur est (avant le déploiement d'ADDS)
  • DomainName : Le nom de votre domaine

Le script a été créé pour s'appliquer sur une machine (le noeud configuré dans le script est "localhost").

La dernière ligne du script #Start-DSCConfiguration -Wait -Force -Path 'C:\_Me\Sources\MOF_Files\ConfigureFirstDomainController' est à utiliser pour appliquer la configuration à votre machine.

Suite à l'application du script, votre serveur disposera d'ADDS et DNS de déployés (et des consoles d'administration associées).

$AdministratorLogin = 'Administrator'
$AdministratorPassword = 'P@$$w0rd'
$SecurePassword = ConvertTo-SecureString $AdministratorPassword -AsPlainText -Force
$AdministratorCredential = New-Object System.Management.Automation.PSCredential ($AdministratorLogin, $SecurePassword)

Configuration ConfigureFirstDomainController {
param (
[string[]]$NodeName ='localhost',
[Parameter(Mandatory)][string]$ServerName,
[Parameter(Mandatory)][string]$WorkgroupName,
[Parameter(Mandatory)][string]$DomainName
)

#Import required DSC resources (must be installed first)
Import-DSCResource -Module xComputerManagement
Import-DSCResource -Module xActiveDirectory

Node $NodeName {
xComputer ComputerNameAndWorkgroup {
Name = $ServerName
WorkGroupName = $WorkgroupName
}

WindowsFeature ADDS {
Ensure = 'Present'
Name = 'AD-Domain-Services'
IncludeAllSubFeature = $true
}

WindowsFeature RSAT {
DependsOn = '[WindowsFeature]ADDS'
Ensure = 'Present'
Name = 'RSAT-AD-Tools'
IncludeAllSubFeature = $true
}

xADDomain SetupFirstDomain {
DomainAdministratorCredential = $AdministratorCredential
DomainName = $DomainName
SafemodeAdministratorPassword = $AdministratorCredential
DependsOn = '[WindowsFeature]RSAT'
DomainNetbiosName = $DomainName.Split('.')[0]
}
}
}

$ConfigurationData = @{
AllNodes = @(
@{
NodeName = 'localhost';
PSDscAllowPlainTextPassword = $true
}
)
}

ConfigureFirstDomainController -NodeName "localhost" -ServerName "SRV-AD1" -WorkgroupName "LAB" -DomainName "LAB.LAN" -OutputPath 'C:\_Me\Sources\MOF_Files\ConfigureFirstDomainController' -ConfigurationData $ConfigurationData
#Start-DSCConfiguration -Wait -Force -Path 'C:\_Me\Sources\MOF_Files\ConfigureFirstDomainController'
Facebook Like