Installer une nouvelle Forêt en Powershell

L’installation d’une forêt en Powershell peut paraitre intimidant de premier abord, pourtant cela n’est pas beaucoup plus compliquer que l’installation via dcpromo, la plupart des options se ressemblent forcement.

Pour installer le rôle AD Directory Services, vous avez plusieurs méthodes en ligne de commande, voici la plus récente :

PS C:\Users\brucejdc> Import-Module ServerManager
PS C:\Users\brucejdc> Install-WindowsFeature -Name "AD-Domain-Services" -IncludeManagementTools

Après l’installation du rôle AD Directory Services, si vous essayez de charger le module ActiveDirectory, celui-ci vous retourne un warning pour la création du PSDrive correspondant à l’AD :

PS C:\Users\brucejdc> import-module activedirectory
WARNING: Error initializing default drive: 'Unable to find a default server
with Active Directory Web Services running.'.

Les commandes sont cependant disponibles, mais aucune ne sert à créer la nouvelle forêt. Vous devez pour cela utiliser un module à part :

import-module ADDSDeployment

Vous disposez à partir de ce moment des cmdlets suivantes :

PS C:\Users\brucejdc> get-command -Module ADDSDeployment | select name

Name
----
Add-ADDSReadOnlyDomainControllerAccount
Install-ADDSDomain
Install-ADDSDomainController
Install-ADDSForest
Test-ADDSDomainControllerInstallation
Test-ADDSDomainControllerUninstallation
Test-ADDSDomainInstallation
Test-ADDSForestInstallation
Test-ADDSReadOnlyDomainControllerAccountCreation
Uninstall-ADDSDomainController

C’est la cmdet Install-ADForst qui permet de créer une nouvelle forêt. Vous pouvez aussi voir que ce module gère la création de nouveaux domaines et domain controlleurs.

L’aide de cette cmdlet nous fournis les paramètres disponibles, il n’y a qu’un seul ParameterSet possible :

NAME
    Install-ADDSForest

SYNTAX
    Install-ADDSForest -DomainName <string> [-SkipPreChecks]
    [-SafeModeAdministratorPassword <securestring>] [-CreateDnsDelegation]
    [-DatabasePath <string>] [-DnsDelegationCredential <pscredential>]
    [-NoDnsOnNetwork] [-DomainMode <DomainMode> {Win2008 | Win2008R2 | Win2012
    | Win2012R2 | Default}] [-DomainNetbiosName <string>] [-ForestMode
    <ForestMode> {Win2008 | Win2008R2 | Win2012 | Win2012R2 | Default}]
    [-InstallDns] [-LogPath <string>] [-NoRebootOnCompletion]
    [-SkipAutoConfigureDns] [-SysvolPath <string>] [-Force] [-WhatIf]
    [-Confirm]  [<CommonParameters>]

Il suffit alors de lancer la cmdlet suivante pour créer simplement une nouvelle forêt :

PS C:\Users\brucejdc> Install-ADDSForest -DomainName "brucejdc.local" -SafeModeAdministratorPassword (Read-Host "Mdp de récupération" -asSecureString) -DomainNetbiosName "bjdc" 

La cmdlet vous demandera le mot de passe servant à démarrer le serveur en mode restauration.

Vous pouvez lancer la cmdlet avec l’option -WhatIf qui donnera un récapitulatif (bref) des paramètres d’installation. L’option -InstallDNS n’est pas spécifiée car elle est appliquée par défaut sur une nouvelle forêt, si vous ne spécifiez pas les niveaux fonctionnels, ceux-ci sont crées au niveau le plus haut possible.