Adam the Automator

Il PowerCLI di VMWare è il modo de-facto per gestire vCenter con PowerShell. In questo tutorial, imparerai come iniziare da zero; scaricando, installando e capendo come PowerCLI può aiutarti a fare di più.

In questo viaggio imparerai:

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

“Sotto molti aspetti, VMware PowerCLI è l’interfaccia amministrativa più coerente nella storia dell’hypervisor.”

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

L’interfacciamento con vSphere e VMware è passato attraverso una moltitudine di iterazioni, dal client software originale, al client flash, alle versioni HTML5 e flex web-client. In ogni nuova versione, le interfacce sono cambiate in modi spesso buggati o privi di funzionalità.

In compenso, la sintassi di VMware PowerCLI è rimasta stabile per tutto il suo ciclo di vita con un solo cambiamento nella distribuzione. Quel grande cambiamento è stata la transizione da uno snapin PowerShell a un modulo PowerShell.

PowerCLI è effettivamente l’ultimo uomo in piedi per coerenza quando si amministrano i prodotti VMware.

Tabella dei contenuti

Dallo snapin a nessun accesso pubblico

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

PowerCLI 5.1 e precedenti era anche un PSSnapin piuttosto che 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 degli ingombranti passaggi di installazione, gli snapin si sono dimostrati più difficili da ottenere l’adozione di massa di PowerCLI. Fortunatamente per voi, PowerCLI a partire dall’ultima versione 6.0 viene spedito come modulo PowerShell, e non come snapin!

Con il rilascio di PowerCLI 6.0 nel settembre del 2015, il gioco ha iniziato a cambiare. Questa versione è stata la prima iterazione rilasciata come modulo PowerShell, con circa 400 cmdlets in totale. Tuttavia, la necessità di un account my.vmware.com era ancora presente fino alla versione 6.5.1 rilasciata il 20/4/2017 alla PowerShell Gallery.

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

L’elenco di cmdlets continua a crescere con il portafoglio VMware, ma i collaudati e veri standard PowerCLI sono forti come una forza di coerenza.

Cmdlets nel modulo PowerCLI PowerShell

Prerequisiti

Siamo quasi pronti a saltare in una demo, quindi assicurati di avere tutti questi prerequisiti in modo da poter seguire con me.

  • Host VMware o server vCenter per i test di validazione
  • Macchina client Windows, Mac o Linux

Download di VMware PowerCLI

La nuova sede a lungo termine per il team del progetto PowerCLI è fissata a https://code.vmware.com. Tutte le richieste di funzionalità, i commenti e la documentazione della comunità per questo modulo sono ora parte dello stesso sito dell’SDK, delle API e delle risorse di certificazione.

Se hai delle domande o desideri presentare richieste di funzionalità direttamente al team, puoi contattare sia il team PowerCLI che la comunità che circonda questo progetto su code.vmware.com. Sia la comunità che il team del progetto VMware sono molto reattivi alle domande, alle preoccupazioni e alle nuove idee man mano che si presentano.

Se vuoi scaricare PowerCLI via web, il team PowerCLI fornisce un link diretto a due opzioni per il loro modulo PowerShell:

  • Il link PowerShell Gallery per scaricare e installare usando il gestore dei pacchetti di PowerShell
  • Un archivio .zip del contenuto del modulo, da installare manualmente

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

Installare VMware PowerCLI in Windows PowerShell

Ci sono alcuni modi diversi per installare PowerCLI.

Estrarre il file ZIP

Se lo hai scaricato via web dalla pagina di cui sopra, dovrai installarlo manualmente. Devi mettere PowerCLI in un posto dove PowerShell possa vederlo.

Per installare il modulo tramite il pacchetto zip fornito, dovrai estrarre il contenuto nella posizione del modulo scelta. Questa posizione sarà o la posizione del tuo profilo utente (per scopi non amministrativi) o la cartella dei moduli a livello di sistema.

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

Estrai il contenuto .zip in una delle posizioni di cui sopra.

PowerShell Gallery

Il modo più semplice e veloce per scaricare e installare PowerCLI oggi è quello di utilizzare il download del modulo dalla PowerShell Gallery all’interno di una console PowerShell. Di seguito troverai un rapido video sui passi generali dell’installazione di un nuovo modulo in PowerShell con questo metodo.

Ma, tutto sommato, puoi eseguire quanto segue da un prompt amministrativo di PowerShell per ottenere il lavoro.

PS51> Install-Module VMware.PowerCLI

Se volete eseguire un’installazione di PowerCLI su una workstation dove non avete privilegi amministrativi, potete usare il parametro Scope per installare il modulo nel percorso del modulo del vostro profilo utente.

PS51> Install-Module VMware.PowerCLI -Scope CurrentUser

Installare VMware PowerCLI in PowerShell 6 su Linux

Oggi è possibile installare PowerCLI anche su sistemi non Windows. Per esempio, possiamo installare PowerCLI in PowerShell Core su Ubuntu. Ancora una volta, a seconda che tu abbia scelto di scaricare il file zip, il link web della PowerShell Gallery o direttamente tramite la console PowerShell, il processo di installazione è un po’ diverso.

Estrarre il file ZIP

Dipendendo dal gusto di Linux, estrarrai il contenuto del file .zip in posizioni diverse.

Apri PowerShell su Linux eseguendo pwsh nel tuo terminale. Individua le potenziali posizioni di PSModulePath usando il seguente comando:

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

Una volta che hai determinato dove vorresti installare i file del modulo, scaricali in quella posizione e preparati per l’unzip. Li decomprimerai nella cartella /home/ per l’accesso degli utenti o nella posizione /opt/ per l’accesso al sistema.

Per questo esempio di installazione basata su Linux, sto usando Ubuntu 18.04 e installerò VMware PowerCLI 11 usando il file .zip scaricato da qui, installando il modulo per essere accessibile a 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, perché i file del modulo sono ora in una delle tue $PSModulePath posizioni, tramite una normale esecuzione di:

Import-Module VMware.PowerCLI

Installazione dello snapin Legacy VMware PowerCLI

A volte potresti trovarti a dover installare il vecchio snapin PowerCLI. Forse hai assunto la responsabilità di qualche codice legacy e hai bisogno di risolvere dei problemi. Per evitare di ri-archiviare gli script esistenti, è necessario installare il vecchio snapin.

Per installare il vecchio snapin, è necessario un account my.vmware.com per accedere e recuperare il file VMware-PowerCLI-5.1.0-3090428.exe. Dopo il download, installa lo snapin tramite l’eseguibile attraverso una normale installazione dell’applicazione di Windows.

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

Sotto puoi vedere che sto usando la cmdlet Add-PSSnapin per aggiungere PowerCLI versione 5.1 alla mia attuale sessione di console.

PS51> Add-PSSnapin VMware*
PowerCLI snapins

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

PowerCLI v5.1 console

Nota che lo snapin di cui sopra non è compatibile con PowerShell 6/7.

Verificare l’installazione di PowerCLI

Verificare il successo dell’installazione di PowerCLI è la stessa cosa, indipendentemente dalla tua versione di PowerShell. Il primo passo, confermare la presenza dei moduli dalla console PowerShell.

Get-Module -ListAvailable VMware* 
Moduli PowerCLI disponibili

In seguito, tentare di utilizzare PowerCLI per connettersi a vCenter con il cmdlet Connect-VIServer. Questo non solo verificherà che il modulo sia stato installato con successo, ma testerà anche la corretta connessione alla vostra infrastruttura.

Su Windows

PS51> Connect-VIServer <FQDN of vCenter or ESXi Host>
Connettersi a vCenter con VMware PowerCLI su Windows

Su Linux

Quando si verifica l’installazione su Linux, è necessario prima impostare la configurazione della connessione per tenere conto di un certificato non valido (o autofirmato di default) se si incontrano problemi di connessione. Di seguito sto usando PowerCLI per connettermi a vCenter.

PS> Set-PowerCLIConfiguration -InvalidCertificateAction:ignorePS> Connect-VIServer <FQDN of vCenter or ESXi Host>
Connettersi a vCenter con VMware PowerCLI su Linux

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

Vai avanti e PowerCLI!

Da questo momento in poi, sei pronto a rispondere alla proverbiale domanda “Come faccio a installare VMware PowerCLI? Ora potete iniziare a lavorare sullo scripting delle vostre implementazioni di configurazione, dei rapporti delle VM e delle attività di manutenzione. Rimanete sintonizzati su questo blog per nuovi e prossimi articoli su come iniziare con PowerCLI!

Ulteriori letture

  • Come importare un file OVF in VMware con PowerShell

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.