Automating VMware Snapshot Consolidation with PowerCLI
Here’s a simple PowerCLI script to consolidate VMware snapshots from vCenter. This script will iterate over all VMs in the vCenter, check for any snapshots, and then consolidate them if necessary.
** Please make necessary changes to fit your infra requirement.**
Prerequisites:
- Ensure
you have VMware PowerCLI installed and connected to your vCenter
server.
- The
script user should have permission to manage snapshots and VM tasks.
PowerCLI Script to Consolidate Snapshots:
# Connect to vCenter Server
Connect-VIServer -Server <vCenter_Server> -User <username> -Password <password>
# Get all VMs in the vCenter
$vms = Get-VM
# Loop through each VM
foreach ($vm in $vms) {
#
Check if the VM has snapshots
$snapshots = Get-Snapshot -VM $vm
#
If there are snapshots, attempt consolidation
if
($snapshots) {
Write-Host "VM '$($vm.Name)' has snapshots. Consolidating..."
# Consolidate snapshots for the VM
try {
$vm | Get-Snapshot | Remove-Snapshot -Confirm:$false
Write-Host "Snapshot consolidation complete for
'$($vm.Name)'."
}
catch {
Write-Host "Error consolidating snapshots for '$($vm.Name)':
$_"
}
}
else {
Write-Host "VM '$($vm.Name)' has no snapshots."
}
}
# Disconnect from vCenter
Disconnect-VIServer -Server
<vCenter_Server> -Confirm:$false
Comments
Post a Comment