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!