
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*
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.
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