PowerCLI function: Remove-Vib

By | 2014-09-10

powercli-logoA PowerCLI function to remove Vibs installed on a VMware host.
Expects a VMHost object, and a list og vib names.
You must use the -Remove switch to actually remove vibs, otherwise it will just list the installed vibs matching the provided list of vib names.
If you add the -Restart switch the VMware host will be restarted after removing the vibs

function Remove-Vib
    Begin {}
    Process {
        foreach ($VMHost in $VMHosts) {
#            Write-Output "Searching for vibs on VMHost: $($VMHost.Name)"
            $esxcli = $VMHost | Get-EsxCli
            $vibs = $esxcli.software.vib.list() | Where { $VibNames -contains $_.Name }
            if ($vibs) {
#                Write-Output "Vibs found:"
                $vibs | Select @{l='VMHost';e={$VMHost.Name}}, Name, ReleaseDate, Version
                if ($Remove -eq $true) {
                    foreach ($vib in $vibs) {
                        Write-Output "Removing vib: $($vib.Name)"
                        $esxcli.software.vib.remove($null, $true, $false, $true, $vib.Name)
                    if ($Restart -eq $true) {
                        Write-Output "Restarting VMHost: $($VMHost.Name)"
                        Restart-VMHost -VMHost $VMHost -Confirm:$false

            else {
                Write-Output "$($VMHost.Name): No vibs found"
    End {}

Leave a Reply

Your email address will not be published. Required fields are marked *