Photo by Markus Spiske / Unsplash
Installer module Active Directory pour PowerShell

Installer module Active Directory pour PowerShell

Published on 08 Oct 2018

Bastien Perez
Bastien Perez

Clap

Pour exécuter les commandes PowerShell relatives à Active Directory (Get-ADUser, Get-ADComputer, Get-ADGroup, New-ADUser, etc.), il est nécessaire que le module PowerShell soit présent sur l’ordinateur. Il y a pour cela deux méthodes :

  1. via l’installation du module PowerShell Active Directory. L’installation dépend de votre version Windows
  2. via l’import du module via une PSSession. C’est une méthode peu connue mais très pratique quand vous ne pouvez pas installer sur le PC. Ceci est présenté en fin d’article

Méthode 1 : Installation module PowerShell AD

Prérequis

Le module nécessite d’avoir .NET Framework 3.5. Pour les nouvelles versions de Windows, vous pouvez l’activer avec :

dism /online /Enable-Feature /FeatureName:"NetFx3" 

Windows 10 1810 et supérieur

Pour les éditions clientes à partir de Windows 10 octobre 2018 (Windows 1810), installer les outils d’administration de serveur distant (RSAT) AD avec Add-WindowsCapability via PowerShell en tant qu’admin :

Get-WindowsCapability -Name Rsat.ActiveDirectory* -Online | Add-WindowsCapability -Online

Si vous obtenez l’erreur 0x800f0954, installer .NET Framework 3.5.

Windows 10 1803 et inférieur

Pour les éditions clientes Windows 7/8/8.1 et Windows 10 1803 et inférieur il faut tout d’abord installer les RSAT selon votre version et redémarrer votre poste. Ou alors vous pouvez utiliser DISM :

dism /Online /Enable-Feature /FeatureName:RemoteServerAdministrationTools-Roles-AD-Powershell

Windows Server 2012/2012R2/2016/2019

# 2012 R2 - 2016 - 2019
Install-WindowsFeature RSAT-AD-PowerShell

# 2012
Add-WindowsFeature RSAT-AD-PowerShell

Charger le module

Enfin, après l’installation du module AD, le module se chargera automatiquement à chaque CMDlet AD. Mais, dans d’anciennes versions de PowerShell, vous devez charger le module :

Import-Module ActiveDirectory

Méthode 2 : Importer le module sans installation

Pour utiliser cette méthode vous devez avoir le droit de faire une Enter-PSSession sur un ordinateur qui a le module AD PowerShell module installé. Cela peut être un contrôleur de domaine ou bien un serveur/PC membre :

$computerWithADPshellInstalled = 'XXXX'
$session = New-PSSession -ComputerName $computerWithADPshellInstalled -Credential (Get-Credential)

# -Force to override if remote module was already imported
Export-PSSession -Session $session -Module ActiveDirectory -OutputModule RemoteActiveDirectory -Force

Remove-PSSession $session

Vous n’avez qu’à effectuer cette commande qu’une seule fois. En effet un fichier .psm1 contenant les commandes pour la session PSRemoting (vers le PC/serveur de la commande précédente) sera positionné dans le dossier Modules de Powershell.
Vous pouvez importer le module avec :

Import-Module RemoteActiveDirectory

Cela chargera une PSSession vers le PC/serveur. Cela vous demandera les identifiants si vous vous êtes connectés avec un compte différent lors de la commande Enter-PSSession.

Garder en tête que :

  • l’ordinateur distant doit être allumé quand vous exécuter les CMDlets
  • le temps d’exécution des CMDlets est un peu plus long que si vous aviez installé le module sur votre PC.

Comments

banner-Bastien Perez
Bastien Perez

Freelance Microsoft 365 - Active Directory - Modern Workplace

France