Guide d’installation et de scripting de VMware PowerCLI

Le PowerCLI de VMWare est le moyen de facto pour gérer vCenter avec PowerShell. Dans ce tutoriel, vous allez apprendre à partir de zéro ; télécharger, installer et comprendre comment PowerCLI peut vous aider à accomplir davantage.

Tout au long de ce parcours, vous allez apprendre :

  • Comment repérer les versions historiques de PowerCLI que vous pourriez rencontrer dans des scripts anciens
  • Comment installer la version la plus récente de PowerCLI
  • Utiliser VMware Code comme ressource
  • Comment installer VMware PowerCLI à la fois sur Windows PowerShell 5.1 et PowerShell 6/7 pour une utilisation multiplateforme.

« Dans la plupart des cas, VMware PowerCLI est l’interface administrative la plus cohérente dans l’histoire tenace de l’hyperviseur. »

Le commentaire paraphrasé ci-dessus a été partagé sur la résilience et l’importance de PowerCLI dans la trousse à outils d’un administrateur système. Il a été partagé lors d’une session VMware PowerCLI au PowerShell Summit en 2019.

L’interface avec vSphere et VMware a traversé une multitude d’itérations, du client logiciel original, au client flash, aux versions HTML5 et flex web-client. À chaque nouvelle version, les interfaces changeaient souvent de manière boguée ou avec des fonctionnalités manquantes.

Automatisez plus qu’un hôte ESXi local et utilisez PowerCLI avec VMware vCenter pour gérer facilement plusieurs hôtes. Hébergez des postes de travail virtuels avec VMware Horizon soutenus par des hôtes VMware.

D’un autre côté, la syntaxe de VMware PowerCLI est restée stable tout au long de son cycle de vie avec seulement un changement de distribution. Ce grand changement a été la transition d’un snapin PowerShell à un module PowerShell.

PowerCLI est effectivement le dernier rempart pour des raisons de cohérence lors de l’administration des produits VMware.

De Snapin à aucun accès public

L’emplacement de téléchargement d’origine pour VMware PowerCLI était derrière un lien de page PowerCLI 5.1. En raison de cette restriction, le public n’avait qu’un accès limité à cet outil.

PowerCLI 5.1 et les versions antérieures étaient également un PSSnapin plutôt qu’un module, ce qui rendait la portabilité beaucoup plus difficile. En tant que lecteur de ce blog, vous reconnaîtrez probablement cela comme un format hérité pour de tels outils. En raison des étapes d’installation fastidieuses, les snapins se sont avérés plus difficiles à adopter massivement pour PowerCLI. Heureusement pour vous, PowerCLI à partir de la dernière version 6.0 est livré en tant que module PowerShell, et non en tant que snapin!

Avec cette version de PowerCLI 6.0 publiée en septembre 2015, le jeu avait commencé à changer. Cette version était la première itération publiée en tant que module PowerShell, avec environ 400 cmdlets au total. Cependant, le besoin d’un compte my.vmware.com était toujours présent jusqu’à la version 6.5.1 publiée le 20 avril 2017 sur PowerShell Gallery.

Dans la version actuelle (11.3.0) de VMware PowerCLI, le module comporte un peu moins de 700 cmdlets pour une couverture administrative sur une multitude de produits VMware. Ces produits comprennent vCenter, vCloud Director, VMware Horizon, et bien d’autres encore.

La liste des cmdlets continue de s’agrandir avec le portefeuille VMware, mais les normes éprouvées et vraies de PowerCLI restent solides comme une force de cohérence.

Cmdlets in the PowerCLI PowerShell module

Prérequis

Nous sommes sur le point de passer à une démo, assurez-vous donc d’avoir tous ces prérequis pour pouvoir me suivre.

  • Hôte VMware ou serveur vCenter pour les tests de validation
  • Machine cliente Windows, Mac ou Linux

Téléchargement de VMware PowerCLI

La nouvelle résidence à long terme pour l’équipe du projet PowerCLI est définie sur ce lien. Toutes les demandes de fonctionnalités, commentaires et documentation de la communauté pour ce module font désormais partie du même site que le SDK, l’API et les ressources de certification.

Si vous avez des questions ou souhaitez soumettre directement des demandes de fonctionnalités à l’équipe, vous pouvez contacter à la fois l’équipe PowerCLI et la communauté entourant ce projet sur code.vmware.com. La communauté et l’équipe du projet VMware sont très réactives aux questions, préoccupations et nouvelles idées au fur et à mesure qu’elles se présentent.

Si vous souhaitez télécharger PowerCLI via le Web, l’équipe PowerCLI fournit un lien direct vers deux options pour leur module PowerShell :

  • Le lien PowerShell Gallery pour télécharger et installer à l’aide du gestionnaire de packages PowerShell
  • A .zip archive of the module’s contents, to be manually installed

La galerie PowerShell est, de loin, le moyen le plus courant de télécharger PowerCLI, mais l’archive zip fonctionnera également. Notez que vous n’êtes pas obligé d’utiliser le lien de la galerie PowerShell ici. Vous pouvez également le télécharger via PowerShell.

Installation de VMware PowerCLI dans Windows PowerShell

Il existe plusieurs façons d’installer PowerCLI.

Extraction du fichier ZIP

Si vous l’avez téléchargé via le Web depuis la page mentionnée précédemment, vous devrez l’installer manuellement. Vous devez placer PowerCLI là où PowerShell peut le voir.

Pour installer le module via le package zip fourni, vous devrez extraire le contenu à l’emplacement du module de votre choix. Cet emplacement sera soit l’emplacement de votre profil utilisateur (pour une portée non administrative) ou le dossier des modules système.

%UserProfile%\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules

Extrayez le contenu du fichier .zip dans l’un des emplacements mentionnés ci-dessus.

La manière la plus facile et la plus rapide de télécharger et d’installer PowerCLI aujourd’hui est d’utiliser le module depuis la PowerShell Gallery dans une console PowerShell. Vous trouverez ci-dessous une vidéo rapide sur les étapes d’installation générales pour un nouveau module PowerShell avec cette méthode.

Mais dans l’ensemble, vous pouvez effectuer les opérations suivantes à partir d’une invite PowerShell d’administrateur pour mener à bien la tâche.

PS51> Install-Module VMware.PowerCLI

Si vous souhaitez effectuer une installation PowerCLI sur une station de travail où vous n’avez pas les privilèges administratifs, vous pouvez utiliser le paramètre Scope pour installer le module dans le chemin de votre profil utilisateur.

PS51> Install-Module VMware.PowerCLI -Scope CurrentUser

Installation de VMware PowerCLI dans PowerShell 6 sur Linux

Aujourd’hui, vous pouvez également installer PowerCLI sur des systèmes non-Windows. Par exemple, nous pouvons installer PowerCLI dans PowerShell Core sur Ubuntu. Encore une fois, selon que vous avez choisi de télécharger le fichier zip, le lien web de la PowerShell Gallery ou directement via la console PowerShell, le processus d’installation est un peu différent.

Extraction du fichier ZIP

En fonction de la distribution Linux, vous extrayez le contenu du fichier .zip dans des emplacements différents.

Ouvrez PowerShell sur Linux en exécutant pwsh dans votre terminal. Localisez les emplacements potentiels de PSModulePath en utilisant la commande suivante :

PS61> ($env:PSModulePath).split(":")
Directories in PSModulePath

Une fois que vous avez déterminé où vous souhaitez installer les fichiers du module, téléchargez-les à cet emplacement et préparez-vous pour la décompression. Vous les décompresserez soit dans le dossier /home/ pour un accès utilisateur, soit dans l’emplacement /opt/ pour un accès système.

Pour cet exemple d’installation basée sur Linux, j’utilise Ubuntu 18.04 et installerai VMware PowerCLI 11 à l’aide du fichier .zip téléchargé depuis ici, en installant le module pour qu’il soit accessible par tous les utilisateurs de cette machine.

> cd /opt/microsoft/powershell/6/Modules
> sudo apt install unzip
> sudo wget https://vdc-download.vmware.com/vmwb-repository/dcr-public/8bf09c32-43c0-46d4-8816-92515c3b8228/15761272-b339-4da4-888a-4b8633f9a964/VMware-PowerCLI-11.3.0-13990089.zip
> sudo unzip ./VMware-PowerCLI-11.3.0-13990089.zip

Vous pouvez ensuite importer ce module, car les fichiers du module se trouvent maintenant dans l’un de vos emplacements $PSModulePath, via une exécution normale de :

Import-Module VMware.PowerCLI

Installation de l’ancien PowerCLI Snapin VMware

Parfois, vous pourriez vous retrouver à devoir installer l’ancien PowerCLI snapin. Peut-être que vous avez pris en charge la responsabilité de certains codes hérités et devez résoudre des problèmes. Pour éviter de ré-architecturer vos scripts existants, il est nécessaire d’installer l’ancien snapin.

Pour installer l’ancien snapin, vous aurez besoin d’un compte my.vmware.com pour vous connecter et récupérer le fichier VMware-PowerCLI-5.1.0-3090428.exe. Une fois téléchargé, installez le snapin via l’exécutable comme une installation normale d’une application Windows.

Vous pouvez ensuite exécuter Add-PSSnapin pour charger les cmdlets VMware dans votre session, ou lancer la console VMware PowerCLI fournie de manière autonome.

Vous pouvez voir ci-dessous que j’utilise la cmdlet Add-PSSnapin pour ajouter la version 5.1 de PowerCLI à ma session actuelle.

PS51> Add-PSSnapin VMware*
PowerCLI snapins

Launching du raccourci VMware PowerCLI autonome installé avec la version 5.1.

PowerCLI v5.1 console

Notez que le snapin ci-dessus n’est pas compatible avec PowerShell 6/7.

Vérification de l’installation de PowerCLI

La vérification du succès de l’installation de PowerCLI est la même, quelle que soit la version de PowerShell. La première étape consiste à confirmer la présence des modules depuis la console PowerShell.

Get-Module -ListAvailable VMware* 
Available PowerCLI modules

Ensuite, essayez d’utiliser PowerCLI pour vous connecter à vCenter avec la cmdlet Connect-VIServer. Cela vérifiera non seulement si le module a été installé avec succès, mais testera également si vous vous connectez correctement à votre infrastructure.

Sous Windows

PS51> Connect-VIServer <FQDN of vCenter or ESXi Host>
Connecting to vCenter with VMware PowerCLI on Windows

Sous Linux

Lors de la vérification de l’installation sous Linux, vous devez d’abord configurer la connexion pour tenir compte d’un certificat non valide (ou par défaut auto-signé) en cas de problèmes de connexion. Ci-dessous, j’utilise PowerCLI pour me connecter à vCenter.

PS> Set-PowerCLIConfiguration -InvalidCertificateAction:ignore
PS> Connect-VIServer <FQDN of vCenter or ESXi Host>
Connecting to vCenter with VMware PowerCLI on Linux

Étant donné que vous avez réussi à vous connecter avec succès à votre point de terminaison VMware, PowerCLI fonctionne correctement!

Allez-y et utilisez PowerCLI!

Automatisez plus qu’un hôte ESXi local et utilisez PowerCLI avec VMware vCenter pour gérer plusieurs hôtes facilement. Hébergez des bureaux virtuels avec VMware Horizon soutenus par des hôtes VMware.

À partir de ce moment, vous êtes prêt à répondre à cette question proverbiale de « Comment installer VMware PowerCLI ? ». Vous pouvez maintenant commencer à travailler sur la création de scripts pour vos déploiements de configuration, les rapports VM et les tâches de maintenance. Restez à l’écoute de ce blog pour de nouveaux articles à venir sur la prise en main de PowerCLI !

Lecture complémentaire

Source:
https://adamtheautomator.com/vmware-powercli/