Script de VMware: eliminar reservas de recursos

En este artículo, repasaremos el siguiente script que nos ayuda a eliminar las reservas de recursos de todas las máquinas virtuales dentro de un clúster de VMware.

Aquí está el script que vamos a utilizar:

#Variable Declaration
Param(
    [string]$server,
    [Parameter(Mandatory=$true)][string]$username,
    [Parameter(Mandatory=$true)][string]$password,
    [string]$cluster
)

#Module Initialization
Add-PSSnapin VMware.VimAutomation.Core

#Body
Connect-VIServer -Server $server -Username $username -Password $password
$vms = Get-Cluster $cluster | Get-VM
ForEach ($vm in $vms)
{
   $reservation = Get-VMResourceConfiguration -VM $vm
   If ($reservation.CpuReservationMhz -gt 0)
   {
      Get-VM -Name $vm | Get-VMResourceConfiguration | Set-VMResourceConfiguration -CpuReservationMhz 0
   }
}

La primera parte del script es donde todas nuestras variables se declaran como parámetros. Tenemos los parámetros de servidor, nombre de usuario, contraseña y clúster donde especificamos el servidor vCenter al que queremos conectarnos, el nombre de usuario y contraseña de un usuario administrativo y el clúster de VMware al que queremos conectarnos.

A continuación, importamos el complemento VMware PowerCLI y nos conectamos al servidor vCenter.

A continuación, obtenemos una lista de todas las máquinas virtuales en el clúster mediante el Get-Cluster cmdlet, analizando su salida al Get-VM comando y guardar toda la salida en el $ vms variable.

Después de eso, creamos un bucle ForEach que pasa por cada VM en el arreglo, recupera la configuración de recursos para cada VM usando el Get-VMResourceConfiguration cmdlet y comprueba si el valor del CPUReservaciónMhz El atributo es mayor que 0. Si es así, configura la VM con 0 CPU Reservation.

Lo hace para todas las máquinas virtuales del clúster. Este tipo de script también se puede modificar y recuperar otros tipos de configuraciones, etc. ¡Gracias por tu tiempo!

Deja un comentario