Instalando PowerCLI en mi nueva vieja máquina @ Samquejo | 2022-05-19T08:00:00+02:00 | 4 minutos de lectura | Actualizado en 2022-05-19T08:00:00+02:00

Instalando PowerCLI en mi nueva vieja máquina

Pues gracias a un conocido de Wintablet que me proporcionó este Lenovo Yoga 11e y viendo lo practica que es para hacer cositas sin necesidad del equipo principal, pues voy a cubrir una necesidad básica.

Y además, voy a hacerlo desde la PSGallery en lugar de ir a por los binarios a Vmware.

Instalando PowerCLI usando PowerShell

Y es que desde hace muchísimo tiempo que comprendí que las tareas de administración se pueden automatizar a golpe de consola y no a golpe de ratón, y hacen mi vida mucho más fácil, así que compartirlo es mandatorio y por eso, vamos a ello.

Nivel fácil

Instalando con conexión a internet y permisos de administrador

Con tres comandos lo tendremos:

Find-Module -Name VMware.PowerCLI
Install-Module -Name VMware.PowerCLI -Scope allusers 
Get-Command -Module *VMWare*

primera captura

Realmente lo que ha hecho es añadir NuGet como gestor de paquetes porque ni siquiera tenía eso instalado.

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved

        Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> Install-Module -Name VMware.PowerCLI -Scope allusers
NuGet provider is required to continue PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet  provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or 'C:\Users\Sistemas\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and import the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PS C:\WINDOWS\system32>

¿Y que es lo que ha instalado exactamente?
Pues vamos a hacer recuento.

Get-Command -Module *VMWare* | select -first 10
(Get-Command -Module *VMWare*).count

Con el primero elegimos los 10 primeros de la lista, como con un head en linux o un select top de SQL.
Pero como es mucho más y me interesa una cantidad, porque el resto son siempre variantes de la composición verbo-objeto, lo que hago es construir un objeto en memoria y pedir la cantidad de ese objeto, con el segundo comando.

segunda captura

PS C:\WINDOWS\system32> Get-Command -Module *VMWare* | select -first 10

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Answer-VMQuestion                                  12.6.0.... VMware.VimAutomation.Core
Alias           Apply-DrsRecommendation                            12.6.0.... VMware.VimAutomation.Core
Alias           Apply-ESXImageProfile                              7.0.3.1... VMware.DeployAutomation
Alias           Apply-VMHostProfile                                12.6.0.... VMware.VimAutomation.Core
Alias           Attach-Baseline                                    12.1.0.... VMware.VumAutomation
Alias           Connect-PIComputeInstance                          12.0.0.... VMware.VimAutomation.Cloud
Alias           Connect-PIDatacenter                               12.0.0.... VMware.VimAutomation.Cloud
Alias           Connect-VmcServer                                  12.6.0.... VMware.VimAutomation.Vmc
Alias           Detach-Baseline                                    12.1.0.... VMware.VumAutomation
Alias           Disconnect-PIComputeInstance                       12.0.0.... VMware.VimAutomation.Cloud

PS C:\WINDOWS\system32> (Get-Command -Module *VMWare*).count
6296
PS C:\WINDOWS\system32>

Interesante. Son unos 6296 elementos entre cmdlets, objetos y alias.

Nivel medio

Instalando con conexión a internet pero sin permisos de administrador.

Con tres comandos lo tendremos:

Find-Module -Name VMware.PowerCLI
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Get-Command -Module *VMWare*

La diferencia es que en la máquina ya tiene que estar instalado NuGet como requisito. O al menos eso dice la documentación. No lo he probado.
De hecho, en el primer pantallazo pone que NuGet puede estar en dos ubicaciones. La de sistema o en el perfil de usuario. Ahí lo dejo.

Nivel avanzado

Instalando sin conexión a internet.

A veces no tenemos disponible conexión, o hay un proxy, o un firewall con DIP o cualquier otra cosa similar.
Para saltar esa restricción necesitaremos una máquina con conexión a internet donde descargar los paquetes:

Find-Module -Name VMware.PowerCLI
Save-Module -Name VMware.PowerCLI -Path ruta

En este caso, ruta va a ser una ruta accesible desde el usuario. Cualquier sitio si hay privilegios de administrador o %userprofile% si no lo hay. Vamos, lo que viene a ser el perfil local del usuario.
Una vez descargado, lo que necesitaremos es comprimir, empaquetar o directamente montar, para trasladar esa descarga a la máquina fuera de línea.
En la máquina destino, los paquetes descargados tienen que estar en C:\Windows\System32\WindowsPowerShell\v1.0\Modules y para ello hace falta permiso de administrador.

Así que queda aquí un puntito donde investigar como añadir esos paquetes a un usuario sin permisos en una máquina sin conexión.
Pero igual que en caso anterior, podemos intentar trabajar con las ubicaciones del perfil de usuario así que al menos hay una pista por donde mirar.

Configurando

Una vez que tengamos descargado e instalado todo, podemos proceder a configurar con Set-PowerCLIConfiguration Options
¿Para qué?
Pues muy simple. Si quiero probar cosas, preguntas sobre certificados o el CEIP, bueno… Pero si quiero automatizar, mejor que no pregunte nada.

# Con permisos de administrador
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Ignore -ParticipateInCeip $false 
# Sin permisos de administrador o para el usuario actual exclusivamente
Set-PowerCLIConfiguration -Scope CurrentUser -InvalidCertificateAction Ignore -ParticipateInCeip $false 

El resto, pues ya sabemos. Se usa como siempre.


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

© 2019 - 2024 YoVirtualizador

Powered by Hugo with theme Dream.

avatar

El blog de YoVirtualizadorTu podcast y blog de confianza

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.