Comandos PowerShell para actualizar la configuración de VMs con Hyper-V
Los administradores que no tienen acceso a SCVMM pueden realizar cambios de configuración en varias VM de Hyper-V a la vez con algunas secuencias de comandos de PowerShell y el enfoque de bucle ForEach.
Aunque los administradores pueden usar el administrador de Hyper-V para modificar las configuraciones de máquinas virtuales (VM) una por una, esto lleva una cantidad considerable de tiempo. En lugar de eso, utilice los comandos de PowerShell para que Hyper-V procese las actualizaciones de configuración de VM a granel, según sus requisitos.
Puede configurar máquinas virtuales para usar memoria dinámica, conectar máquinas virtuales a un conmutador de red virtual diferente y actualizar la ubicación del archivo de instantáneas de máquina virtual. Además de PowerShell, el enfoque ForEach puede ayudarlo a modificar la configuración de múltiples máquinas virtuales.
System Center Virtual Machine Manager (SCVMM) también se puede usar para actualizar la configuración de VM en hosts remotos de Hyper-V a través de una UI central, pero los administradores que solo administran algunas máquinas virtuales pueden no tener acceso a él. Por ejemplo, si está administrando algunas máquinas virtuales para los departamentos de finanzas y ventas, deberá ponerse en contacto con el equipo de TI de SCVMM para modificar la configuración de la máquina virtual.
Actualice la configuración para múltiples máquinas virtuales
Es importante tener en cuenta que, si bien algunos comandos de PowerShell para Hyper-V admiten la especificación de varios nombres de máquinas virtuales, otros comandos solo admiten un nombre de máquina virtual. Por ejemplo, al actualizar la memoria, solo puede especificar un nombre de VM, como se muestra a continuación:
Como puede ver en el comando anterior, la memoria está configurada solo para la VM llamada SQLVM. Si necesita actualizar la memoria para varias VM, use el método de bucle ForEach. Este método le permite procesar cada VM especificada en un archivo de texto /CSV y luego ejecutar el comando para modificar la memoria. Todo lo que necesita hacer es crear un archivo de texto y agregar los nombres de la VM en él.
Por ejemplo, supongamos que desea actualizar la memoria para las VM VM1, VM2, VM3, VM4 y VM5; puede hacerlo ejecutando los comandos de PowerShell para Hyper-V a continuación:
Como puede ver arriba, estos comandos de PowerShell para Hyper-V recopilan nombres de VM de $VMFile, usan el bucle ForEach para procesar cada VM recuperada de $VMFile y luego actualizan la configuración de VM para la memoria. Este script también crea un archivo de informe con el nombre de MemoryReport.CSV, que se almacena en la carpeta C:\Temp en la computadora que ejecuta el script. También puede usar este enfoque para procesar otras actualizaciones de configuración para varias máquinas virtuales.
Conéctese a un conmutador de red virtual diferente
El siguiente ejemplo muestra cómo conectar varias máquinas virtuales a un conmutador de red virtual diferente, pero sin utilizar el enfoque de bucle ForEach:
Cambiar la ubicación del archivo de instantánea
Ahora le mostraré cómo cambiar la ubicación del archivo de instantánea para varias máquinas virtuales. Supongamos que desea cambiar la ubicación del archivo de instantánea para VM1, VM2, VM3, VM4 y VM5; puede hacerlo usando el script de PowerShell a continuación:
Los comandos de PowerShell para Hyper-V anteriores cambian la ubicación del archivo de instantánea de cada máquina virtual. También crean el directorio de instantáneas para cada máquina virtual. El informe proporcionado por el script contiene el nombre de la máquina virtual, y si el cambio de la configuración de la máquina virtual se realizó con éxito.
Cambiar acciones automáticas de detención
El último ejemplo muestra cómo puede cambiar las acciones de detención automática para múltiples máquinas virtuales. Por ejemplo, supongamos que necesita asegurarse de que VM1, VM2, VM3, VM4 y VM5 se apaguen automáticamente cuando el host de Hyper-V se apaga. Use el cmdlet Set-VM PowerShell para modificar la acción de detención automática, como se muestra a continuación:
En los comandos de PowerShell para Hyper-V anteriores, no se le informa si la acción de detención automática fue exitosa o no, pero usted puede proporcionar capacidades de informes a una secuencia de comandos si lo desea.