Aller au contenuAller à l'arborescence
DossierRisque : Ne pas toucher

Modules C:\Windows\System32\WindowsPowerShell\v1.0\Modules

Modules PowerShell livrés avec Windows (Management, Utility, Security...) et ceux des rôles et RSAT (ActiveDirectory, Hyper-V, DnsServer) ; $PSHOME\Modules.

Mis à jour le Par AltF4 Formation

À quoi ça sert

Modules de Windows PowerShell 5.1 installés avec le système, dans $PSHOME\Modules. Quand vous installez un rôle ou une fonctionnalité (ou les outils RSAT), son module arrive ici : ActiveDirectory, Hyper-V, DnsServer, DhcpServer, NetTCPIP, Storage… C’est le dernier dossier de $env:PSModulePath pour Windows PowerShell, après le profil utilisateur et Program Files.

Ce qu’il contient

  • Un sous-dossier par module (Microsoft.PowerShell.Management, Microsoft.PowerShell.Utility, Microsoft.PowerShell.Security…), chacun avec un manifeste .psd1 et son module.
  • Les modules des rôles et fonctionnalités actifs sur la machine : leur présence indique si le rôle ou les RSAT sont installés.

Risques et bonnes pratiques

  • N’y déposez pas vos propres modules : le dossier appartient à Windows et se met à jour avec lui. Placez-les dans C:\Program Files\WindowsPowerShell\Modules, ou dans le profil de l’utilisateur.
  • Un module absent alors que la fonctionnalité est installée se règle avec l’ajout de la fonctionnalité (Install-WindowsFeature sur serveur, Add-WindowsCapability pour les RSAT sur client), pas en copiant des fichiers.
  • PowerShell 7 lit ce dossier pour la compatibilité, mais certains modules Windows PowerShell doivent être chargés via la couche de compatibilité.

Commandes utiles

Fenêtre de terminal
# Modules livrés avec le système (hors modules installés par vos soins)
Get-Module -ListAvailable | Where-Object ModuleBase -like "$PSHOME\Modules*" | Select-Object Name, Version
# Un module de rôle est-il présent ?
Get-Module -ListAvailable ActiveDirectory
# Rôle ou fonctionnalité manquants (Windows Server)
Get-WindowsFeature RSAT-AD-PowerShell

Signaler une erreur