DossierRisque : Ne pas toucher
WindowsPowerShell\v1.0 C:\Windows\System32\WindowsPowerShell\v1.0
Dossier de Windows PowerShell 5.1 ($PSHOME) : powershell.exe, ISE, modules intégrés, profils « tous les utilisateurs » ; le « 1.0 » est historique.
À quoi ça sert
Dossier de Windows PowerShell 5.1, la version intégrée à Windows : la variable $PSHOME y pointe. Le « v1.0 » date de la première version et n’a pas changé depuis, ce qui surprend sur un 5.1. PowerShell 7 est une installation à part, dans C:\Program Files\PowerShell\7, avec son propre $PSHOME.
Ce qu’il contient
powershell.exeetpowershell_ise.exe, les fichiers de types et de formats (*.types.ps1xml,*.format.ps1xml) et l’aide.- Le sous-dossier
Modules: les modules intégrés et ceux des rôles et fonctionnalités (ActiveDirectory, Hyper-V, DnsServer, DhcpServer…). - Les profils « tous les utilisateurs » :
profile.ps1(tous les hôtes) etMicrosoft.PowerShell_profile.ps1(hôte console). Ils n’existent pas par défaut ; les créer pour tous les utilisateurs de la machine se fait ici.
Risques et bonnes pratiques
- Les fichiers appartiennent à TrustedInstaller et sont servis par Windows Update : ne les modifiez pas, un script qui s’y copie sera écrasé à une mise à jour.
- Un
profile.ps1global s’exécute pour tous les comptes, y compris les scripts planifiés : une erreur dedans casse des tâches ailleurs. Pour une personnalisation, préférez le profil de l’utilisateur ($PROFILE) ou un module. - Pour installer vos propres modules, utilisez
C:\Program Files\WindowsPowerShell\Modules, pas le dossierModulesd’ici. $env:PSModulePathcombine trois dossiers par défaut : le profil utilisateur, Program Files et$PSHOME\Modules.
Commandes utiles
# Dossier d'installation et version du moteur en cours$PSHOME$PSVersionTable.PSVersion
# Chemins des profils (existants ou non)$PROFILE | Select-Object *
# Dossiers de modules pris en compte$env:PSModulePath -split ';'