Il 20 Agosto scorso è stata rilasciata la nuova versione PowerCLI 11.4.0 che include numerosi nuovi miglioramenti. Il modulo Horizon View è stato aggiornato per supportare la versione più recente di Horizon View che è la versione 7.9. Esistono alcuni aggiornamenti al modulo Storage, inclusi gli aggiornamenti e tre nuovi cmdlet. Infine, ci sono numerosi aggiornamenti ai cmdlet nel modulo HCX. Con PowerCLI 11.4.0 vengono forniti i seguenti aggiornamenti:
- Add support for Horizon View 7.9
- Added new cmdlets to the Storage module
- Updated Storage module cmdlets
- Updated HCX module cmdlets
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' ... accettare premendo 'A' e listare i moduli disponibili sul sistema con il comando 'Get-Module -Name VMware.* -ListAvailable'
... e come per le precedenti versioni, utilizzando il comando Update-Module per aggiornare i moduli, le versioni esistenti non vengono rimosse. Come vediamo dall'immagine sopra ci sono righe che contengono gli stessi moduli ma con diverse versioni. Esattamente come indicato nel precedente post "PowerCLI 11.0.0 Updates - Automatic script to remove unnecessary modules" procedo con la rimozione dei moduli non più necessari; utilizzando lo script per la rimozione automatica dei moduli più vecchi. Lo script è stato modificato per avere un Output migliorato, nel seguente modo#!/usr/local/bin/pwsh ######################################################################################## # File : PurgeDuplicatePowerCliModules.ps1 # Author: Lorenzo Moglie # Date : 17.10.2018 # Update : 26.08.2018 # Version : 1.5.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 = "" $Report = @() Get-Content ./ModuleList.txt | where {$_ -ne ""} | ForEach-Object { $line=[regex]::Replace($_, "\s+", " ") $NameModule,$VersionModule = $line.split(' ') $tempModule=@{} if($NameStr -match $NameModule) { $tempModule.NameModule = $NameModule $tempModule.VerOne = $VersionModule $tempModule.VerTwo = $VersionApp if ([System.Version]::Parse($VersionModule) -lt [System.Version]::Parse($VersionApp)){ $tempModule.Removed_Ver = $VersionModule Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionModule -force" } else { $tempModule.Removed_Ver = $VersionApp Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionApp -force" } $temp = New-Object -TypeName PSObject -Property $tempModule $Report += $temp } $NameStr = $NameModule if (($VersionModule -match "Version") -Or ($VersionModule -match "-------")) { # Do Nothing } else { $VersionApp = $VersionModule } } $Report | Select NameModule, VerOne, VerTwo, Removed_Ver | Format-Table -AutoSize rm ./ModuleList.txtL'output è il seguente :
That's it.