VMware PowerCLI: Guida all’installazione e allo scripting

Il PowerCLI di VMWare è il modo predefinito per gestire vCenter con PowerShell. In questo tutorial, imparerai come partire da zero; scaricare, installare e capire come PowerCLI può aiutarti a fare di più.

Durante questo percorso imparerai:

  • Come individuare le versioni storiche di PowerCLI che potresti trovare in script legacy
  • Come installare la versione più recente di PowerCLI
  • Usare VMware Code come risorsa
  • Come installare VMware PowerCLI su entrambe le versioni di Windows PowerShell 5.1 e PowerShell 6/7 per l’uso multipiattaforma.

“In molti aspetti, VMware PowerCLI è l’interfaccia amministrativa più coerente nella storia decennale dell’iper-visor.”

Il commento parafrasato sopra è stato condiviso sulla resilienza e l’importanza di PowerCLI nel toolkit di un amministratore di sistema. È stato condiviso durante una sessione di VMware PowerCLI al PowerShell Summit nel 2019.

L’interazione con vSphere e VMware ha subito molteplici iterazioni, dalla versione originale del software client, al client flash, alle versioni HTML5 e flex web-client. In ogni nuova versione, le interfacce sono cambiate in modi spesso buggati o carenti di funzionalità.

Automatizza più di un host ESXi locale e utilizza PowerCLI con VMware vCenter per gestire facilmente più host. Ospita desktop virtuali supportati da host VMware con VMware Horizon.

D’altro canto, la sintassi di VMware PowerCLI è rimasta stabile per tutto il suo ciclo di vita con un’unica modifica nella distribuzione. Quel grande cambiamento è stato il passaggio da un snapin PowerShell a un modulo PowerShell.

PowerCLI è effettivamente l’ultimo superstite per coerenza quando si amministrano i prodotti VMware.

Dallo Snapin a nessun Accesso Pubblico

La posizione di download originale per VMware PowerCLI si trovava dietro un link della pagina PowerCLI 5.1. A causa di questa restrizione, il pubblico aveva solo un accesso limitato a questo strumento.

PowerCLI 5.1 e versioni precedenti erano anche un PSSnapin anziché un modulo, rendendo la portabilità molto più difficile. Come seguace di questo blog, probabilmente riconoscerai questo come un formato legacy per tali strumenti. A causa delle complesse fasi di installazione, i snapin si sono rivelati più difficili da adottare su larga scala con PowerCLI. Per fortuna, PowerCLI dalla versione più recente 6.0 viene distribuito come un modulo PowerShell, e non come snapin!

Con quella release di PowerCLI 6.0 nel settembre 2015, il gioco aveva iniziato a cambiare. Questa versione è stata la prima iterazione distribuita come modulo PowerShell, contenente circa 400 cmdlet in totale. Tuttavia, la necessità di un account my.vmware.com era ancora presente fino alla versione 6.5.1 rilasciata il 20/04/2017 sulla PowerShell Gallery.

Nella versione attuale (11.3.0) di VMware PowerCLI, il modulo ha poco meno di 700 cmdlet per una copertura amministrativa su una moltitudine di prodotti VMware. Questi prodotti includono vCenter, vCloud Director, VMware Horizon e molti altri.

L’elenco dei cmdlet continua a crescere con il portafoglio VMware, ma gli standard collaudati di PowerCLI resistono come una forza di coerenza.

Cmdlets in the PowerCLI PowerShell module

Prerequisiti

Siamo quasi pronti per passare a una dimostrazione, assicurati di avere tutti questi prerequisiti per poter seguirmi.

  • Ospite VMware o server vCenter per test di convalida
  • Macchina client Windows, Mac o Linux

Scaricando VMware PowerCLI

La nuova sede a lungo termine per il team del progetto PowerCLI è stabilita a questo link . Qualsiasi richiesta di funzionalità sollevata dalla comunità, commenti e documentazione per questo modulo fanno ora parte dello stesso sito dell’SDK, dell’API e delle risorse di certificazione.

Se hai domande o desideri sollevare direttamente richieste di funzionalità con il team, puoi contattare sia il team PowerCLI che la comunità che circonda questo progetto su code.vmware.com. Sia la comunità che il team di progetto VMware sono molto reattivi alle domande, alle preoccupazioni e alle nuove idee che sorgono.

Se desideri eseguire il download di PowerCLI tramite il web, il team PowerCLI fornisce un link diretto a due opzioni per il loro modulo PowerShell:

  • Il link della PowerShell Gallery per scaricare e installare usando il gestore di pacchetti di PowerShell
  • A .zip archive of the module’s contents, to be manually installed

La PowerShell Gallery è, di gran lunga, il modo più comune per scaricare PowerCLI, ma l’archivio zip funzionerà anche. Nota che non è necessario utilizzare il link della PowerShell Gallery qui. Puoi anche scaricarlo tramite PowerShell.

Installazione di VMware PowerCLI in Windows PowerShell

Ci sono diversi modi per installare PowerCLI.

Estrarre il file ZIP

Se lo hai scaricato tramite il web dalla pagina sopra menzionata , dovrai installarlo manualmente. Devi ottenere PowerCLI in un punto in cui PowerShell può vederlo.

Per installare il modulo tramite il pacchetto zip fornito, sarà necessario estrarne i contenuti nella posizione scelta per il modulo. Questa posizione può essere la tua cartella utente (per un ambito non amministrativo) oppure la cartella dei moduli a livello di sistema.

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

Estrai i contenuti del file .zip in una delle posizioni indicate sopra.

Il modo più semplice e veloce per scaricare e installare PowerCLI è utilizzare il modulo scaricato da PowerShell Gallery all’interno di una console PowerShell. Di seguito troverai un video rapido sui passaggi generali di installazione di un nuovo modulo in PowerShell utilizzando questo metodo.

Tuttavia, in generale, puoi eseguire i seguenti passaggi da un prompt di PowerShell amministrativo per completare il lavoro.

PS51> Install-Module VMware.PowerCLI

Se desideri eseguire l’installazione di PowerCLI su un computer in cui non hai privilegi amministrativi, puoi utilizzare il parametro Scope per installare il modulo nel percorso del modulo del tuo profilo utente.

PS51> Install-Module VMware.PowerCLI -Scope CurrentUser

Installazione di VMware PowerCLI in PowerShell 6 su Linux

Oggi è possibile installare PowerCLI anche su sistemi non Windows. Ad esempio, è possibile installare PowerCLI in PowerShell Core su Ubuntu. Anche in questo caso, a seconda se hai scelto di scaricare il file zip, il collegamento web di PowerShell Gallery o direttamente tramite la console PowerShell, il processo di installazione è leggermente diverso.

Estrazione del file ZIP

A seconda della distribuzione Linux, dovrai estrarre i contenuti del file .zip in posizioni diverse.

Apri PowerShell su Linux eseguendo pwsh nel terminale. Trova le possibili posizioni di PSModulePath utilizzando il seguente comando:

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

Una volta determinato dove desideri installare i file del modulo, scaricali in quella posizione e preparati per l’estrazione. Li decomprimerai nella cartella /home/ per l’accesso dell’utente o nella posizione /opt/ per l’accesso di sistema.

Per questo esempio di installazione basata su Linux, sto utilizzando Ubuntu 18.04 e installerò VMware PowerCLI 11 utilizzando il file .zip scaricato da qui, installando il modulo per essere accessibile da tutti gli utenti di questa macchina.

> 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

Puoi quindi importare questo modulo, poiché i file del modulo sono ora in uno dei tuoi percorsi $PSModulePath, tramite una normale esecuzione di:

Import-Module VMware.PowerCLI

Installazione del Legacy VMware PowerCLI Snapin

A volte potresti trovarti a dover installare il vecchio snapin PowerCLI. Forse ti sei assunto la responsabilità di qualche codice legacy e hai bisogno di risolvere problemi. Per evitare di ristrutturare i tuoi script esistenti, è necessario installare il vecchio snapin.

Per installare il vecchio snapin, avrai bisogno di un account my.vmware.com per effettuare il login e recuperare il file VMware-PowerCLI-5.1.0-3090428.exe. Una volta scaricato, installa lo snapin tramite l’eseguibile tramite un’installazione normale dell’applicazione Windows.

Puoi quindi eseguire Add-PSSnapin per caricare i cmdlet VMware nella tua sessione, o avviare la console VMware PowerCLI fornita in modo autonomo.

In basso puoi vedere che sto utilizzando il cmdlet Add-PSSnapin per aggiungere PowerCLI versione 5.1 alla mia sessione console attuale.

PS51> Add-PSSnapin VMware*
PowerCLI snapins

Lanciare il collegamento VMware PowerCLI stand-alone installato con la versione 5.1.

PowerCLI v5.1 console

Nota che il suddetto snapin non è compatibile con PowerShell 6/7.

Verifica dell’installazione di PowerCLI

Verificare che l’installazione di PowerCLI sia riuscita è lo stesso, indipendentemente dalla versione di PowerShell. Il primo passo è confermare la presenza dei moduli dalla console di PowerShell.

Get-Module -ListAvailable VMware* 
Available PowerCLI modules

Successivamente, tentare di utilizzare PowerCLI per connettersi a vCenter con il cmdlet Connect-VIServer. Questo non solo verificherà che il modulo sia stato installato correttamente, ma testerà anche se ci si connette correttamente all’infrastruttura.

Su Windows

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

Su Linux

Quando si verifica l’installazione su Linux, è necessario impostare prima la configurazione di connessione per considerare un certificato non valido (o self-signed predefinito) se si verificano problemi di connessione. Di seguito sto utilizzando PowerCLI per connettermi a vCenter.

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

Dato che sei riuscito a connetterti con successo al tuo endpoint VMware, PowerCLI è attivo e funzionante!

Avanti con PowerCLI!

Automatizza più di un host ESXi locale e utilizza PowerCLI con VMware vCenter per gestire più host con facilità. Ospita desktop virtuali con VMware Horizon supportato da host VMware.

Dal momento in cui sei ora pronto a rispondere a quella proverbiale domanda su “Come installo VMware PowerCLI?”. Puoi ora iniziare a lavorare sulla creazione degli script per le distribuzioni di configurazione, i report delle VM e le attività di manutenzione. Resta sintonizzato su questo blog per nuovi e imminenti articoli su come iniziare con PowerCLI!

Ulteriori letture

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