Borrado de SNAPSHOT

Buenos días!

Os dejo el script que utilizo para el borrado de snapshot según los días de antigüedad, para pasar al equipo de help desk, CAU, CGR… es perfecto. Cualquierea podría lanzarlo sin mucho peligro… 🙂

 

cls
#Conexion vcenters (REVISAR USUARIO Y CONTRASEÑA)
Connect-VIServer  vcenter -User **** -Password ***

write-host
# Declarar variable de los días
$Dias = Read-Host "¿Con cuantos DIAS de antiguedad quieres borrar los snapshot?"

#Contar cuantos snap vamos a borrar.

$vms = Get-VM | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddDays(-$Dias) }
write-host
write-host Vas a borrar un total de $vms.count snap -foregroundcolor yellow
write-host 
write-host Sacamos un listado de todos los snap a borrar... -foregroundcolor yellow
$vms | Out-GridView
write-host

#Comando para borrar
Get-VM | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddDays(-$Dias) } | Remove-Snapshot -Confirm:$false -RunAsync

#Write-Progress -Activity $loadingActivity -Completed

Write-host
Write-host PARA VER COMO VA EL PROCESO PUEDES EJECUTAR EL SIGUIENTE COMANDO: -foregroundcolor GREEN
write-host "Get-VM | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddDays(-$Dias)} | Out-GridView"
write-host

# Snap de menos de una semana
# Get-vm | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddDays(-7) } | select vm,Created,Description
# get-vm | get-snapshot | format-list
# Get-VM | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddDays(-7) } | Remove-Snapshot -Confirm:$false -RunAsync

 

Un saludo!