L'11 Ottobre scorso è stata rilasciata la nuova versione PowerCLI 11.0.0 con un impressionante numero di novità ed aggiornamenti:
- Added a new Security module
- Added new cmdlets for Host Profiles
- Added a new cmdlet to interact with NSX-T in VMware Cloud on AWS
- Support for vSphere 6.7 Update 1
- Support for NSX-T 2.3
- Support for Horizon View 7.6
- Support for vCloud Director 9.5
- Multiplatform support for the Cloud module
- Updated the Get-ErrorReport cmdlet
- Removed the PCloud module
- Removed the HA module
L'update della PowerCLI di per se è semplice, come indicato anche in un mio precedente post è sufficiente lanciare il comando 'Update-Module -Name VMware.PowerCLI' ...
... e come per le precedenti versioni, se si utilizza Update-Module per aggiornare i moduli, le versioni esistenti non vengono rimosse (vedi Update a PowerCLI Module). Come vediamo dall'immagine sotto ci sono righe che contengono gli stessi moduli ma con diverse versioni.Esattamente come indicato nel precedente post procedo con la rimozione dei moduli non più necessari; con la differenza che questa volta, ho realizzato un piccolo script in PowerShell per aiutarmi con l'identificazione dei moduli duplicati e la rimozione di quelli con versione inferiore. Lo script di seguito è stato testato su Mac ....
#!/usr/local/bin/pwsh ######################################################################################## # File : PurgeDuplicatePowerCliModules.ps1 # Author: Lorenzo Moglie # Date : 17.10.2018 # Version : 1.0.0.0 # Disclaimer : The script is provided as is, use at your own risk. # Description : This script list the VMware Modules Available into a TXT file. Read # the txt file, line by line and comparing the duplicate modules # uninstalling the older version ####################################################################################### Get-Module -Name VMware.* -ListAvailable | select Name,Version > ModuleList.txt $NameStr = "" $VersionApp = "" Get-Content ./ModuleList.txt | where {$_ -ne ""} | ForEach-Object { $line=[regex]::Replace($_, "\s+", " ") $NameModule,$VersionModule = $line.split(' ') if($NameStr -match $NameModule) { echo "Removing module: $NameModule --> Version One:$VersionModule --- Version Two:$VersionApp " if ([System.Version]::Parse($VersionModule) -lt [System.Version]::Parse($VersionApp)){ echo "Removing version -> $VersionModule" Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionModule -force" } else { echo "Removing version -> $VersionApp" Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionApp -force" } echo "" } $NameStr = $NameModule if (($VersionModule -match "Version") -Or ($VersionModule -match "-------")) { # Do Nothing } else { $VersionApp = $VersionModule } } rm ./ModuleList.txtPrima di lanciare il file "PurgeDuplicatePowerCliModules.ps1" modifichiamo i permessi in questo modo ...
LIF:Desktop lorenzo$ chmod +x PurgeDuplicatePowerCliModule.ps1... lanciamo lo script .....
LIF:Desktop lorenzo$ ./PurgeDuplicatePowerCliModule.ps1
In fine. Verifichiamo che i moduli duplicati siano stati correttamente rimossi ....
LIF:Desktop lorenzo$ pwsh PowerShell v6.0.2 Copyright (c) Microsoft Corporation. All rights reserved. https://aka.ms/pscore6-docs Type 'help' to get help. PS /Users/lorenzo/Desktop> Get-Module -ListAvailable VMware.* | Select Version,Name
That's it.
L'output dello script è stato migliorato in questo post "PowerCLI 11.4.0 Updates - Automatic script to remove unnecessary modules improved"
Nessun commento:
Posta un commento