En quelques années, Microsoft a totalement changé de cap en matière d’open-source et d’ouverture aux plateformes concurrentes. L’éditeur de Windows ne favorise plus aussi systématiquement son propre système d’exploitation et il ouvre ses outils et solutions à Linux et macOS. C’est le cas pour son éditeur de code Visual Studio, c’est le cas aussi pour ses bases de données SQL Server et dernièrement, c’est PowerShell, le successeur de DOS, qui est disponible pour Linux et macOS.
![PowerShell depuis le Terminal de macOS. Cliquer pour agrandir](https://img.macg.co/2018/1/macgpic-1516024194-256977389563891-sc-jpt.jpg)
La sixième version de PowerShell est disponible et elle n’est pas limitée à Windows. Pour être exact, ce n’est pas tout à fait la même version, puisque Microsoft a développé en parallèle de celle qui est intégrée à son système d’exploitation « PowerShell Core ». Cette déclinaison ne dépend pas du framework .NET, ce qui lui permet d’être multiplateforme, mais elle est aussi nettement plus limitée à la base, avec une partie seulement des fonctions disponibles. Néanmoins, l’éditeur indique que c’est la version qui sera désormais développée et le PowerShell classique est maintenu, mais les nouvelles fonctions n’iront que dans la 6.0 et suivants.
Toutefois, PowerShell Core est pensé pour être enrichi avec des modules supplémentaires et il y en a déjà plusieurs milliers à disposition des utilisateurs. Une partie est dédiée à Azure, le service de cloud de Microsoft où cet outil en ligne de commandes sera particulièrement utilisé, mais il y a de tout, des commandes spécifiques à Windows et même des outils de domotique. L’éditeur espère sûrement constituer une communauté autour de son outil, même si on peut aussi utiliser Bash, la ligne de commande la plus populaire, sur Windows.
Si vous voulez tester PowerShell sur macOS, le plus simple est de passer par Homebrew et Cask :
brew cask install powershell
Vous pouvez ensuite lancer une session en ouvrant l’app installée dans le dossier /Applications
, ou bien en tapant la commande pwsh
dans une session de terminal.