Introducción e instalación de VMware PowerCLI 12.3.0
Introducción e instalación de VMware PowerCLI 12.3.0

Introducción e instalación de VMware PowerCLI 12.3.0

Hola a tod@s

En esta oportunidad vengo hablarles sobre VMware PowerCLI 12.3.0, una herramienta muy necesaria para poder administrar un amplia gama de productos de VMware, donde podemos hacer la gran mayoría de las tareas de administración de vSphere y sobre todo poder automatizar estas.

VMware PowerCLI nos puede ayudar a ahorrar tiempo al realizar cambios en varios host ESXi en conjunto. También podemos utilizar VMware PowerCLI para recopilar datos específicos, y es posible integrarlo con vRealize Operations, VSAN, Horizon, NSX, plataformas VMware Cloud.

Debemos tener en cuenta que para usar VMware PowerCLI necesitamos tener una experiencia básica sobre PowerShell, no necesitamos ser expertos ya que existe mucha información en internet, como ejemplos y script completos, aunque si es necesario aprender la lógica de lo que estamos ejecutando, sobre todo si no queremos encontrarnos con problemas en nuestra infraestructura al ejecutar comandos usando VMware PowerCLI.

¿Qué es PowerCLI?

PowerCLI es una interfaz de línea de comandos para administrar y automatizar todos los aspectos de la administración de vSphere, networking, storage, virtual machines, el sistema operativo invitado y mucho más.

PowerCLI se distribuye como módulos de PowerShell, el cual contiene más de 700 cmdlets (comandos).

Además podemos usar PowerCLI no solo en sistemas Windows, sino también en sistemas Linux y macOS usando PowerShell Core.

Pre-requisitos de VMware PowerCLI

VMware PowerCLI 12.3.0 es compatible con las siguientes versiones PowerShell:

  • Windows PowerShell 5.1
  • PowerShell 7

VMware PowerCLI 12.3.0 puede ejecutar cmdlets con máquinas virtuales con VMware Tools instalado.

Antes de poder instalar VMware PowerCLI 12.3.0, debemos tener instalados los siguientes softwares en nuestro sistema:

Nota: Para que el cmdlet Open-VMConsoleWindow funcione en todos los tipos de sistema operativo, también es necesario instalar VMware Remote Console (VMRC).

Instalar VMware PowerCLI 12.3.0 en modo online

Podemos instalar VMware PowerCLI con el siguiente comando:

PS C:WINDOWSsystem32> Install-Module VMware.PowerCLI -Scope CurrentUser

Podemos instalar directamente desde PowerShell Gallery.

Dependencias instaladas de VMware PowerCLI 12.3.0:

Instalar VMware PowerCLI 12.3.0 en modo offline

Podemos descargar PowerCLI Module.zip desde este enlace.

Podemos comprobar el  PowerShell Module con el siguiente comando:

PS C:UsersAdministrator> $env:PSModulePath C:UsersAdministratorDocumentsWindowsPowerShellModules;C:Program FilesWindowsPowerShellModules;C:Windowssystem32WindowsPowerShellv1.0Modules;C:Program Files (x86)Microsoft SQL Server130ToolsPowerShellModules

Extraemos el archivo que descargamos y lo copiamos en una de las rutas que listamos en el comando que ejecutamos anteriormente.

Abrimos PowerShell e ingresamos a la ruta donde dejamos los archivos que descargamos.

PS C:UsersAdministrator> cd C:WindowsSystem32WindowsPowerShellv1.0ModulesVMware-PowerCLI-12.3.0-17860403

Desbloqueamos los archivos con el siguiente comando:

PS C:WindowsSystem32WindowsPowerShellv1.0ModulesVMware-PowerCLI-12.3.0-17860403> Get-ChildItem * -Recurse  Unblock-File

Ejecutamos el siguiente comando para verificar el módulo de PowerCLI está disponible o no:

PS C:WindowsSystem32WindowsPowerShellv1.0ModulesVMware-PowerCLI-12.3.0-17860403> Get-Module -Name VMware.PowerCLI -ListAvailable

Modificar directiva de ejecución en PowerShell

Las directivas de ejecución son un mecanismo de seguridad que determina si los archivos se pueden cargar en PowerShell, como archivos de configuración, módulos, scripts…

Podemos ver el status actual usando el comando:

PS C:UsersAdministrator> Get-ExecutionPolicy

Para poder habilitar la directiva de ejecución usamos el comando:

PS C:UsersAdministrator> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Conectarse a VMware vSphere

Una vez instalados los módulos de VMware PowerCLI, podremos proceder a utilizar los comandos desde PowerShell. Podemos verificar la versión de PowerCLI con el comando:

PS C:WINDOWSsystem32> Get-PowerCLIVersion

Podemos unirnos o no a CEIP usando el comando:

PS C:WINDOWSsystem32>Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $true of $false

Ya con todo listo, ahora si podemos al fin conectarnos a nuestras maquinas. Para este ejemplo nos conectaremos a vCenter Server:

PS C:WINDOWSsystem32> Connect-VIServer -Server 10.10.10.100

Nos aparecerá una pantalla donde podemos agregar nuestras credenciales para conectarnos:

Podemos ver que tendremos un error al conectarnos al vCenter

“Connect-VIServer : 24-07-2021 20:02:48  Connect-VIServer  Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you’d like to connect once or to add a permanent exception for this server.”

Como se indica en el error, se puede utilizar el comando Set-PowerCLIConfiguration para ignorar la comprobación del certificado utilizando la siguiente sintaxis:

PS C:WINDOWSsystem32> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

Volvemos a conectarnos a nuestro vCenter Server:

PS C:WINDOWSsystem32> Connect-VIServer -Server 10.10.10.100

Un tema importante es configurar un parámetro que nos permite definir si contamos con un solo vCenter o más de uno. Esto es importante si ejecutamos comandos de modificación y eliminación, ya que nos puede llevar equivocarnos y cometer un error fatal.

PS C:WINDOWSsystem32> Set-PowerCLIConfiguration -DefaultVIServerMode Single

PS C:WINDOWSsystem32> Set-PowerCLIConfiguration -DefaultVIServerMode Multiple

Uso de Get-Help en PowerCLI

VMware PowerCLI tiene su propio sistema de ayuda incorporado que nos ahorrará algo de tiempo y nos evitara buscar largo tiempo en Google. Funciona escribiendo Get-Help seguido del nombre de un cmdlet.

Una buena práctica es actualizar la ayuda en PowerShell ejecutando el cmdlet Update-Help. Idealmente debemos ejecutarlo cuando iniciamos PowerShell por primera vez.

PS C:WINDOWSsystem32> Update-Help

Comandos de ejemplo con PowerCLI

Conectarse a vCenter Server utilizando los parámetros de Usuario y Contraseña:

PS C:WINDOWSsystem32> Connect-VIServer -Server 10.23.11.235 -Protocol https -User admin -Password pass

Conectarse a un servidor vSphere utilizando los parámetros de Usuario y Contraseña:

PS C:WINDOWSsystem32> Connect-VIServer -Server 10.23.11.235 -Protocol https -User admin -Password pass

Obtener la lista de VMs y su status:

PS C:WINDOWSsystem32> Get-VM | Format-List

Obtener información sobre un datastore:

PS C:WINDOWSsystem32> Get-HardDisk -Datastore Datastore01

PowerShell incluye un índice de ayuda integrado que proporciona información sobre los cmdlets, donde se incorporan ejemplos de sintaxis.

PS C:WINDOWSsystem32> Get-Help Connect-VIServer -examples

Últimas palabras

Aprender a usar PowerCLI puede llegar a ser algo complejo, sobre todo los primeros pasos. Yo no soy un experto ni nada, estoy recién aprendiendo, pero ha sido muy interesante ver todas las posibilidades que podemos crear usando esta herramienta para la administración o recolección de datos de entornos vSphere, y otros productos de VMware.

Una forma que estoy usando para poder aprender más sobre VMware PowerCLI, ha sido leyendo la guía: PowerCLI: The Aspiring Automator’s Guide Second Edition, escrita por el vExpert de VMware Xavier Avrillier. Este libro electrónico gratuito adopta un enfoque de caso de uso para aprender a automatizar tareas comunes de vSphere mediante PowerCLI.

Es una guía muy interesante que los invito a revisar, si buscan aprender más sobre VMware PowerCLI.

En próximo post, veremos cómo usar PowerCLI para modificar parámetros que permiten aumentar la seguridad de nuestro entornos vSphere indicados en la guía: VMware vSphere Security Configuration Guide 7.

Espero que esta información les haya sido útil. Si tienes dudas o alguna acotación sobre este post, déjalo en comentarios. Saludos.

2 Comments

  1. Pingback: vCheck-vSphere - WitcherIT

  2. Pingback: VMware vSphere Security Configuration Guide 7 – Parte 1 - WitcherIT

Leave a Reply

Your email address will not be published. Required fields are marked *