Avant de construire notre chaîne de montage, il faut installer l’atelier. Bonne nouvelle : depuis quelques années, PowerShell n’est plus réservé à Windows. On distingue deux versions :
- Windows PowerShell 5.1 : la version historique, préinstallée sur toutes les versions de Windows depuis Windows 7 / Server 2008 R2. Elle ne reçoit plus de nouvelles fonctionnalités.
- PowerShell 7+ : la version moderne, open source, multiplateforme (Windows, Linux, macOS), activement développée par Microsoft.
Dans cette formation, nous allons travailler avec PowerShell 7+, celui que Sophie utilise au quotidien à Nordika.
Installation sur Windows
Windows PowerShell 5.1 est déjà présent, mais on installe PowerShell 7 à côté (les deux peuvent cohabiter sans problème). Le plus simple passe par winget, déjà intégré à Windows 10/11 :
winget install --id Microsoft.PowerShell --source wingetUne fois installé, cherchez « PowerShell 7 » dans le menu Démarrer (à ne pas confondre avec l’icône bleue « Windows PowerShell », qui reste la version 5.1).
Installation sur Linux (Debian/Ubuntu)
Sur Linux, l’installation passe par le dépôt officiel Microsoft :
sudo apt update
sudo apt install -y wget apt-transport-https software-properties-common
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install -y powershellD’autres distributions (Fedora, RHEL, Alpine…) sont supportées ; la documentation officielle Microsoft liste la procédure exacte pour chacune.
Installation sur macOS
Avec Homebrew, une seule commande suffit :
brew install --cask powershellVérifier que tout fonctionne
Une fois l’installation terminée, ouvrez PowerShell 7 (la commande est pwsh, que ce soit sur Windows, Linux ou Mac — contrairement à powershell qui lance toujours la version 5.1 sur Windows) et vérifiez la version installée :
$PSVersionTableVous devriez voir une ligne PSVersion indiquant 7.x.x. Si c’est le cas, votre atelier est prêt.
Petite astuce de Sophie : sur Windows, gardez le raccourci « Windows PowerShell » pour les scripts historiques de l’entreprise qui en dépendent encore, mais prenez l’habitude de lancer
pwshpour tout le reste. C’est la version que nous utiliserons tout au long de cette formation.
Attention : même outil, mais pas les mêmes possibilités partout
Une précision importante avant d’aller plus loin : installer PowerShell sur Linux ou macOS vous donne le même langage, mais pas le même atelier.
PowerShell 7 est multiplateforme, mais une partie de ce qu’on peut faire avec dépend fortement du système sur lequel il tourne :
- Le Registre Windows (
HKLM:,HKCU:…) n’existe tout simplement pas sous Linux ou macOS, ces systèmes n’ont pas cette notion. - Des modules comme ActiveDirectory, GroupPolicy ou la gestion des services Windows (
Get-Service,Stop-Servicesur des services natifs Windows) nécessitent un environnement Windows, voire une machine jointe à un domaine. - À l’inverse, certaines interactions fines avec le système Linux (permissions Unix,
systemd…) se feront plus naturellement en dehors de PowerShell, même si des cmdlets existent pour y accéder partiellement.
En résumé : le cœur du langage (variables, pipeline, boucles, fonctions, gestion des objets) est strictement identique partout, c’est d’ailleurs tout l’intérêt de PowerShell 7. Mais les cmdlets qui touchent au système sous-jacent dépendent de l’OS, exactement comme un ouvrier qualifié pourrait travailler dans n’importe quelle usine, mais ne pourra utiliser telle machine spécifique que si l’usine en question en est équipée.
Dans cette formation, la majorité des exemples et TP fonctionneront sur toutes les plateformes. Quand un module sera spécifique à Windows (comme
ActiveDirectoryen section 6), ce sera clairement indiqué en début de leçon.
Dans la prochaine leçon, premier contact avec le tapis roulant : on lance nos premières cmdlets.