Guía de instalación y scripting de VMware PowerCLI

El PowerCLI de VMWare es la forma por excelencia de administrar vCenter con PowerShell. En este tutorial, aprenderás cómo empezar desde cero; descargar, instalar y comprender cómo PowerCLI puede ayudarte a hacer más cosas.

A lo largo de este proceso, aprenderás:

  • Cómo identificar versiones antiguas de PowerCLI que puedas encontrar en scripts heredados
  • Cómo instalar la versión más reciente de PowerCLI
  • Utilizar VMware Code como recurso
  • Cómo instalar VMware PowerCLI en Windows PowerShell 5.1 y PowerShell 6/7 para su uso multiplataforma.

“En la mayoría de los aspectos, VMware PowerCLI es la interfaz administrativa más consistente en la historia del hipervisor”.

El comentario parafraseado anterior se compartió sobre la resistencia e importancia de PowerCLI en el kit de herramientas de un administrador de sistemas. Se compartió durante una sesión de VMware PowerCLI en la PowerShell Summit de 2019.

La interfaz con vSphere y VMware ha pasado por múltiples iteraciones, desde el cliente de software original, el cliente flash, las versiones HTML5 y flex web-client. En cada nueva versión, las interfaces cambiaron a menudo de manera defectuosa o sin características.

Automatice más que un host ESXi local y use PowerCLI con VMware vCenter para administrar varios hosts con facilidad. Hospede escritorios virtuales con VMware Horizon respaldados por hosts de VMware.

Por otro lado, la sintaxis de VMware PowerCLI ha permanecido estable a lo largo de su ciclo de vida con solo un cambio de distribución. Ese gran cambio fue la transición de un snapin de PowerShell a un módulo de PowerShell.

PowerCLI es efectivamente el último recurso en pie por la consistencia al administrar productos de VMware.

De Snapin a sin Acceso Público

La ubicación de descarga original para VMware PowerCLI estaba detrás de un enlace de página de PowerCLI 5.1. Debido a esta restricción, el público solo tenía acceso limitado a esta herramienta.

PowerCLI 5.1 y anteriores también eran un PSSnapin en lugar de un módulo, lo que dificultaba mucho la portabilidad. Como seguidor de este blog, probablemente reconocerás este formato heredado para tales herramientas. Debido a los engorrosos pasos de instalación, los snapins resultaron más difíciles de adoptar masivamente en PowerCLI. Por suerte para ti, PowerCLI a partir de la última versión 6.0 se envía como un módulo de PowerShell, ¡y no como un snapin!

Con el lanzamiento de PowerCLI 6.0 en septiembre de 2015, el juego empezó a cambiar. Esta versión fue la primera iteración lanzada como un módulo de PowerShell, que incluía alrededor de 400 cmdlets en total. Sin embargo, la necesidad de una cuenta en my.vmware.com aún estaba presente hasta la versión 6.5.1 lanzada el 20/04/2017 en la PowerShell Gallery.

En la versión actual (11.3.0) de VMware PowerCLI, el módulo cuenta con casi 700 cmdlets para la cobertura administrativa de una multitud de productos de VMware. Estos productos incluyen vCenter, vCloud Director, VMware Horizon y muchos otros.

La lista de cmdlets sigue creciendo con el portafolio de VMware, pero los estándares confiables de PowerCLI se mantienen firmes como una fuerza de consistencia.

Cmdlets in the PowerCLI PowerShell module

Prerrequisitos

Estamos a punto de empezar con una demostración, así que asegúrate de tener todos estos prerrequisitos para poder seguirme.

  • Servidor de VMware o vCenter para pruebas de validación
  • Máquina cliente con Windows, Mac o Linux

Descargando VMware PowerCLI

El nuevo hogar a largo plazo para el equipo del proyecto PowerCLI está establecido en este enlace. Cualquier solicitud de características, comentarios y documentación de la comunidad para este módulo ahora forman parte del mismo sitio que el SDK, API y recursos de certificación.

Si tiene alguna pregunta o desea solicitar características directamente al equipo, puede comunicarse tanto con el equipo de PowerCLI como con la comunidad que rodea este proyecto en code.vmware.com. Tanto la comunidad como el equipo del proyecto de VMware son muy receptivos a preguntas, inquietudes y nuevas ideas a medida que surgen.

Si desea realizar una descarga de PowerCLI a través de la web, el equipo de PowerCLI proporciona un enlace directo a dos opciones para su módulo de PowerShell:

  • El enlace de PowerShell Gallery para descargar e instalar usando el administrador de paquetes de PowerShell
  • A .zip archive of the module’s contents, to be manually installed

La PowerShell Gallery es, con mucho, la forma más común de descargar PowerCLI, pero el archivo zip también funcionará. Tenga en cuenta que no es necesario que utilice el enlace de PowerShell Gallery aquí. También puede descargarlo a través de PowerShell.

Instalación de VMware PowerCLI en Windows PowerShell

Hay algunas formas diferentes de instalar PowerCLI.

Extrayendo el archivo ZIP

Si lo ha descargado a través de la web desde la página mencionada anteriormente, deberá instalarlo manualmente. Debe colocar PowerCLI en un lugar donde PowerShell pueda verlo.

Para instalar el módulo a través del paquete zip proporcionado, deberás extraer el contenido en la ubicación del módulo de tu elección. Esta ubicación será o bien la ubicación de tu perfil de usuario (para un ámbito no administrativo) o en la carpeta de módulos del sistema.

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

Extrae el contenido del archivo .zip en una de las ubicaciones mencionadas anteriormente.

La forma más fácil y rápida de descargar e instalar PowerCLI hoy en día es usar el módulo desde la Galería de PowerShell dentro de una consola de PowerShell. A continuación, encontrarás un vídeo rápido sobre los pasos generales de instalación de un nuevo módulo en PowerShell utilizando este método.

Pero, en resumen, puedes realizar lo siguiente desde un símbolo del sistema de PowerShell administrativo para completar la tarea.

PS51> Install-Module VMware.PowerCLI

Si deseas realizar una instalación de PowerCLI en una estación de trabajo donde careces de privilegios administrativos, puedes utilizar el parámetro Scope para instalar el módulo en la ruta del módulo de tu perfil de usuario.

PS51> Install-Module VMware.PowerCLI -Scope CurrentUser

Instalando VMware PowerCLI en PowerShell 6 en Linux

Hoy en día, también puedes instalar PowerCLI en sistemas no Windows. Por ejemplo, podemos instalar PowerCLI en PowerShell Core en Ubuntu. Nuevamente, dependiendo de si has optado por descargar el archivo zip, el enlace web de la Galería de PowerShell o directamente a través de la consola de PowerShell, el proceso de instalación es un poco diferente.

Extrayendo el archivo ZIP

Dependiendo del sabor de Linux, deberás extraer el contenido del archivo .zip en diferentes ubicaciones.

Abre PowerShell en Linux ejecutando pwsh en tu terminal. Localiza las posibles ubicaciones de PSModulePath usando el siguiente comando:

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

Una vez que hayas determinado dónde deseas instalar los archivos del módulo, descárgalos en esa ubicación y prepárate para descomprimirlos. Los descomprimirás en la carpeta /home/ para acceso de usuario o en la ubicación /opt/ para acceso del sistema.

Para este ejemplo de instalación basada en Linux, estoy utilizando Ubuntu 18.04 e instalaré VMware PowerCLI 11 utilizando el archivo .zip descargado desde aquí, instalando el módulo para que sea accesible por todos los usuarios de esta máquina.

> 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

Luego puedes importar este módulo, ya que los archivos del módulo están ahora en una de tus ubicaciones de $PSModulePath, a través de una ejecución normal de:

Import-Module VMware.PowerCLI

Instalación del Snapin de VMware PowerCLI heredado

En ocasiones, es posible que te encuentres teniendo que instalar el snapin antiguo de PowerCLI. Tal vez hayas asumido la responsabilidad de algún código heredado y necesites solucionar problemas. Para evitar reestructurar tus scripts existentes, es necesario instalar el antiguo snapin.

Para instalar el antiguo snapin, necesitarás una cuenta de my.vmware.com para iniciar sesión y obtener el archivo VMware-PowerCLI-5.1.0-3090428.exe. Al descargarlo, instala el snapin a través del ejecutable mediante una instalación normal de aplicación de Windows.

Luego puedes ejecutar Add-PSSnapin para cargar los cmdlets de VMware en tu sesión, o iniciar la consola de VMware PowerCLI proporcionada de forma independiente.

A continuación, puedes ver que estoy utilizando el cmdlet Add-PSSnapin para agregar PowerCLI versión 5.1 a mi sesión de consola actual.

PS51> Add-PSSnapin VMware*
PowerCLI snapins

Lanzar el acceso directo de VMware PowerCLI independiente instalado que se instala con la versión 5.1.

PowerCLI v5.1 console

Tenga en cuenta que el snapin anterior no es compatible con PowerShell 6/7.

Verificación de la instalación de PowerCLI

Verificar que la instalación de PowerCLI fue exitosa es igual, independientemente de la versión de PowerShell que tenga. El primer paso es confirmar la presencia de los módulos desde la consola de PowerShell.

Get-Module -ListAvailable VMware* 
Available PowerCLI modules

A continuación, intente usar PowerCLI para conectarse a vCenter con el cmdlet Connect-VIServer. Esto no solo verificará que el módulo se instaló correctamente, sino que también probará si puede conectarse correctamente a su infraestructura.

En Windows

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

En Linux

Cuando verifique la instalación en Linux, primero debe configurar la conexión para tener en cuenta un certificado inválido (o auto firmado por defecto) si encuentra algún problema de conexión. A continuación, estoy utilizando PowerCLI para conectarme a vCenter.

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

Dado que pudo conectarse correctamente a su punto de conexión de VMware, ¡PowerCLI está funcionando correctamente!

¡Adelante y use PowerCLI!

Automatice más que un host local ESXi y use PowerCLI con VMware vCenter para administrar varios hosts fácilmente. Hospede escritorios virtuales con VMware Horizon respaldado por hosts VMware.

Desde este momento, estás preparado para responder a esa proverbial pregunta de “¿Cómo instalo VMware PowerCLI?”. Ahora puedes empezar a trabajar en la creación de scripts para tus implementaciones de configuración, informes de máquinas virtuales y tareas de mantenimiento. ¡Mantente atento a este blog para nuevos y próximos artículos sobre cómo comenzar con PowerCLI!

Para más lecturas

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