VMware PowerCLI: ¿Cómo crear scripts de grupos de puertos?

Hola geek ! Aquí Iker en un nuevo artículo para ustedes !
Espero que les solucione su problema y nos vemos en la próxima

Hola y bienvenidos a todos los administradores de VMware. Para los pocos que tenemos un entorno VMware a escala empresarial con cientos de VLAN y servidores, configurar una nueva VLAN a todos nuestros hosts ESXi puede ser una tarea desalentadora.

Es por eso que creé este script que nos facilitará la vida y añadirá la nueva VLAN / Network / PortGroup a todos los hosts ESXi que forman parte de un clúster específico.

 Add-PSSnapin VMware.VimAutomation.Core
 #Variables
 $viserver = "vcenter.lab.local"
 $cluster = "Production"
 $vSwitch = "vSwitch0"
 $PGName = "VMXNET-VLAN-200"
 $PGVLANID = "200"

 Connect-VIserver $viserver -User "user" -Password "password"
 $vmhosts = Get-Cluster $cluster | Get-VMhost

 ForEach ($vmhost in $vmhosts)
  New-VirtualPortGroup -Name $PGName -VlanId $PGVLANID
 

Antes de ejecutar este guión y disfrutar del trabajo que se hace para nosotros para hacer un cambio, vamos a diseccionar y ver que hace cada línea.

Add-PSSnapin VMware.VimAutomation.Core – añade el PowerCLI snap a la sesión PowerShell que podamos aprovechar todas las órdenes CLI.

$ Viserver = «vcenter.local» – especifica el servidor vCenter al que nos queremos conectar
$ Cluster = «Producción» – especifica el clúster del que forman parte todos los hosts ESXi
$ VSwitch = «vSwitch0» – especifica el vSwitch al que queremos añadir las nuevas VLAN (Networks / PortGroups)
$ PGName = «VMXNET-VLAN-200» – Aquí especificamos el nombre de la nueva VLAN / Network / PortGroup
$ PGVLANID = «200» – y aquí es donde ponemos el identificador de VLAN (componente más importante)

Ahora que todas nuestras variables están en su lugar, empezamos a crear los nuevos grupos de puertos.

Connect-VIserver $ viserver -Usuario «lab.local admin» -Password «1234567» – En esta línea nos conectamos al servidor vCenter y proporcionamos el nombre de usuario y la contraseña para que no recibimos ninguna solicitud.

$ Vmhosts = Get-Cluster $ clúster | Get-VMhost – Aquí obtenemos todos los recursos del clúster y, más concretamente, recuperamos todos los ESXi y los distribuimos como matriz a una variable llamada $ vmhosts.

Ahora que ya hemos recuperado toda nuestra información, es hora de crear los grupos de puertos:

ForEach ($vmhost in $vmhosts)
 
      Get-VirtualSwitch -VMhost $vmhost -Name $vSwitch 

Aquí entramos en un para cada uno bucle. Para cada elemento de la matriz $ vmhosts, ejecutamos el archivo New-VirtualPortGroup orden con las variables que hemos declarado en la primera sección.

Esto es! Sencillo, no? Gracias por dedicaros tiempo a leer este tutorial y esperamos que ayude a todos a pasar un día más productivo.

Deja un comentario