Powershell

Pendant le courant de l’été 2016, Microsoft a rendu disponible une version Open Source de leur shell maison : PowerShell. Une des grosses nouveautés a été le support de nouvelles plateformes autre que Windows, à savoir macOS et surtout Linux (Debian/Ubuntu/Fedora) !

Après 1 an et demi de développement et plusieurs dizaines de béta / rc, la version stable 6.0(.1) est sortie en ce début d’année ! Elle est disponible pour un grand nombre de plateforme:

VMware s’est intéressé au sujet dès avril 2017 en mettant à disposition, via les lab flings, une version beta 1.10 permettant d’utiliser PowerCLI sous macOS / Linux / Docker… Ils l’ont nommé PowerCLI Core ! Après plusieurs mois de silence, en ce début d’année VMware a proposé une beta publique de la nouvelle version.

Après quelques semaines supplémentaires de développement, la version 10 est enfin disponible !

Voyons maintenant comment installer tout ça.

Installation Powershell sous Linux

Dans notre premier exemple, nous utiliserons une Ubuntu 16.04 TLS.

Il existe déjà un repository powershell pour Ubuntu 16.04 (et 14.04, 17.04, 17.10…), donc il suffit de  récupérer la clé publique du repository:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

On ajoute le repository dans la liste des repo:

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

On récupère les derniers mises à jours:

sudo apt-get update

Puis on installe powershell:

sudo apt-get install -y powershell

Powershell se télécharge et s’installe:

On peut maintenenant lancer powershell via la commande

pwsh

Installation Powershell sous macOS

C’est encore plus simple !

Il faut déjà disposer d’homebrew puis installer home-brew cask

brew tap caskroom/cask

et enfin on installe Powershell:

brew cask install powershell

et comme sous linux, on lance via la commande pwsh

Installation de PowerCLI (pour Linux/macOS/Windows)

PowerCLI étant un  module Powershell, il suffit de taper la commande suivante pour l’installer:

Install-Module -Name VMware.PowerCLI -Scope CurrentUser

La même que sous Windows (ou macOS):

Les modules VMware s’installent:

Au bout de 3/5 minutes (suivant la vitesse de la connexion Internet) c’est prêt !

Vous pouvez taper vos commandes PowerCLI préférées !

 

Mise à jour de Powershell !

Sous Ubuntu, vu que c’est un repo, il suffit de faire un :

apt-get update && apt-get upgrade

Pour macOS:

brew update / brew cask upgrade powershell

Et pour PowerCli directement depuis powershell (pwsh)

Update-Module -Name VMware.PowerCLI

Et au besoin répondre oui aux différentes questions !

Modules non compatibles

Attention tous les modules ne sont pas encore compatible…

Par exemple PowerNSX ne supporte pas encore cette nouvelle version, Le bug est connu….

Le mot de la fin

C’est un vrai apport d’avoir PowerShell / PowerCLI sur l’ensemble des plateformes ! Les premiers retours sont très encourageants ! (c’était attendu par beaucoup d’admin qui bosse sous macOS ou Linux…)
De plus, cela va permettre à des outils comme Magpie (https://github.com/nmbradford/magpie-release) à savoir une interface web pour PowerNSX de continuer à évoluer…
Et je pense que d’ici quelques mois… l’OS linux de VMware (à savoir photon) aura déjà PowerShell et PowerCLI 10 d’intégré nativement (ou une installation en 2 clic de souris/commande !)

Alexis La Goutte

Rédigé par

Alexis La Goutte

Alexis La Goutte est depuis 8 ans consultant Réseau & Sécurité chez Cheops Technology. Il intervient chez des ETI de l’ouest et quelques grands comptes nationaux. Spécialisé dans le réseau, et plus particulièrement sur les produits Aruba, et dans la virtualisation & sécurisation du réseau VMware NSX. Alexis est certifié Aruba Certified Mobility eXpert (ACMX) et Aruba Certified ClearPass Professional (ACCP) également membre des programmes Aruba Ambassador Partner et MVP Airheads depuis 2017.
Lors qu’il lui reste du temps, il est Core dev pour Wireshark (contributeur au dissector WiFi, TLS, QUIC…) depuis 2011. Il contribue aussi au module PowerNSX qui permet l’automatisation NSX via PowerShell. il y a aussi crée en 2018, PowerAruba qui regroupe différents modules concernant l’automatisation (utilisation des API REST) des produits Aruba/HPE (PowerArubaSW), pour ArubaCX (PowerArubaCX) et enfin pour ClearPass (PowerArubaCP).
Depuis 2020, Alexis est devenu vExpert, et reconnu aussi dans la catégorie vExpert NSX.