Comandos Powershell para gestionar máquinas virtuales de Hyper-V

Comandos PowerShell para gestionar máquinas virtuales de Hyper-V

Compartir

Descubre los comandos PowerShell para gestionar máquinas virtuales de Hyper-V y así poder ahorrar tiempo en la administración de tu infraestructura virtualizada.

Hyper-V es uno de los hipervisores más ampliamente usados en el mundo, y es en parte gracias a simplicidad de su uso, que suaviza la curva de la transición del modelo tradicional a un modelo basado en virtualización, además de su estabilidad, su escalabilidad y sus ventajas de licenciamiento frente a otras plataformas de virtualización.

Y como no podía ser de otra manera, queremos enseñaros algunos comandos básicos de PowerShell que os ayudarán a gestionar las máquinas virtuales, incluso en caso de no haber trabajado nunca con esta maravillosa consola de Microsoft.

Hablaremos de comandos sencillos para:

  • Mostrar los comandos relacionados con Hyper-V.
  • Actualizar la ayuda de los comandos de PowerShell.
  • Utilizar la ayuda de PowerShell.
  • Listar las máquinas virtuales disponibles en el servidor.
  • Arranque y parada de máquinas virtuales mediante PowerShell.

Con lo que ya podréis operar lo básico dentro de Hyper-V, haciendo el resto desde la consola gráfica… Por el momento, ya que ¡prometemos volver con más!

 

Comandos para gestionar tus máquinas virtuales Hyper-v Server con PowerShell

Mostrar los comandos relacionados con Hyper-V:

Lo primero que debemos conocer es de qué comandos o cmdlets de Hyper-V disponemos en nuestro equipo. Para ello podemos usar el comando “Get-Command -Module hyper-v” que mostrará todos en un listado más o menos ordenado.

# Get-Command -Module hyper-v

Imagen. Visualización de los módulos de Hyper-V sin formato
Imagen. Visualización de los módulos de Hyper-V sin formato

También podemos solicitar la información ordenándola de distintas maneras, como por ejemplo en formato tabla:

# Get-Command -Module hyper-v | Format-Table

Imagen. Visualización de los módulos de Hyper-V en formato de tabla
Imagen. Visualización de los módulos de Hyper-V en formato de tabla

En formato de lista:

# Get-Command -Module hyper-v | Format-List

Imagen. Visualización de los módulos de Hyper-V en formato de lista
Imagen. Visualización de los módulos de Hyper-V en formato de lista

En un formato de ventana emergente con una presentación muy similar a las ventanas emergentes de programas de Java u otros programas:

# Get-Command -Module hyper-v | Out-GridView

Imagen. Visualización de los módulos de Hyper-V en ventana emergente
Imagen. Visualización de los módulos de Hyper-V en ventana emergente

 

Actualizar la ayuda de los comandos de PowerShell:

Sinceramente, creo que una de las primeras cosas que debemos hacer cuando trabajamos con cualquier aplicación, sistema o servicio, es actualizar todo lo actualizable, y esto incluye la ayuda.

En este caso, todo el sistema de ayuda de PowerShell va “encadenado”, por lo que, por suerte, solo deberemos lanzar un comando de actualización, que es el comando “Update-Help”, además sin poner ningún modificador:

# Update-Help

Imagen. Actualización de la ayuda de PowerShell con el comando Update-Help
Imagen. Actualización de la ayuda de PowerShell con el comando Update-Help

 

Utilizar la ayuda de PowerShell:

A continuación, dado que vamos a trabajar con máquinas virtuales (VM desde ahora), debemos saber consultar la ayuda de los comandos.

Para consultarla usaremos el comando “Get-Help <Comando de PowerShell>”, donde “<Comando de PowerShell>” debe ser sustituido por el comando del que queremos aprender más.

Por ejemplo, como vamos a usar los comandos “Get-VM”, por lo que el comando para solicitar la ayuda sería:

# Get-Help Get-VM

NOTA: En caso de no haber ejecutado primero la actualización de la ayuda de PowerShell, puede que se realice la actualización al solicitar el uso de ayudas.

Imagen. Consulta de la ayuda de Get-VM
Imagen. Consulta de la ayuda de Get-VM

 

Listar las máquinas virtuales disponibles en el servidor de Hyper-V:

Ahora vamos a ver cómo listar las máquinas virtuales disponibles dentro de un servidor de Hyper-V.

Para empezar listaremos las máquinas sin importarnos el estado de estas, para ello lanzaremos el comando “Get-VM” sin modificadores:

# Get-VM

Imagen. Listado de las máquinas virtuales disponibles en el servidor de Hyper-V con Powershell
Imagen. Listado de las máquinas virtuales disponibles en el servidor de Hyper-V

Asimismo, también podemos mostrar solo las máquinas virtuales que tengan un estado en concreto, como por ejemplo estar en ejecución o parada.

Get-VM | where {$_.State -eq ‘Running’}

Get-VM | where {$_.State -eq ‘Off’}

Imagen. Listado de las máquinas virtuales encendidas y apagadas en el servidor de Hyper-V con Powershell
Imagen. Listado de las máquinas virtuales encendidas y apagadas en el servidor de Hyper-V

También podremos hacer búsquedas por nombre de máquina virtual, usando para ello el comando siguiente y usando la característica “$_.Name”:

Get-VM | where {$_.Name -eq ‘<Nombre>’}

Donde:

  • <Nombre> será el nombre de la VM que estamos queriendo listar.
Imagen. Mostrando una VM en el servidor de Hyper-V en función del nombre con Powershell
Imagen. Mostrando una máquina virtual en el servidor de Hyper-V en función del nombre

 

Arranque y parada de máquinas virtuales de HYper-V mediante PowerShell:

Tras poder ver la ayuda, actualizar y poder ver la información sobre las máquinas, es hora de empezar a trabajar con ellas, y nada mejor para empezar a trabajar con ellas que poder iniciarlas y detenerlas.

Para ello usaremos los nada originales comandos de “Start-VM” y “Stop-VM”, a los cuales habrá que pasarle los nombres de las VM que queremos detener.

# Start-VM -Name <Nombre>

Y

# Stop-VM -Name <Nombre>

Que si por ejemplo queremos usarlo para detener la máquina “Nacho” debemos usar de la siguiente manera:

# Stop-VM -Name Nacho

Imagen. Encendido de una VM de Hyper-V mediante PowerShell
Imagen. Encendido de una VM de Hyper-V mediante PowerShell

Por otro lado, podremos hacer la unión de varios comandos para listar las máquinas que estén detenidas y arrancarlas, usando la siguiente composición:

# Get-VM | where {$_.State -eq ‘Off’} | Start-VM

Donde primero listamos las máquinas existentes en el Hyper-V mediante el comando “Get-VM”. Esa salida, se canaliza hacia el siguiente comando con el “|”. Hecho esto, se captura y se listan únicamente las que están detenidas con el modificador “where {$_.State -eq ‘Off’}” que se vuelve a canalizar con un nuevo “|” y se pasa al comando “Start-VM” que arrancará las máquinas listadas.

De la misma manera, podremos hacer la parada de las máquinas encendidas:

# Get-VM | where {$_.State -eq ‘Running’} | Stop-VM

Imagen. Encendido de máquinas virtuales de Hyper-V mediante PowerShell
Imagen. Encendido de máquinas virtuales de Hyper-V mediante PowerShell

Con esto ya tenemos los primeros comandos para gestionar nuestra infraestructura de virtualización con PowerShell; y no van a ser los últimos, ya que iremos publicando nueva información sobre la gestión de servicios con PowerShell y por supuesto volveremos a hablar de Hyper-V.

 

Conclusiones:

Tal y como has podido ver en el artículo comandos Powershell para gestionar máquinas virtuales de Hyper-V es muy sencillo ahorrar tiempo y esfuerzo en la administración de tu infraestructura virtualizada mediante el hipervisor de Microsoft.

Si estás interesado en este tema y quieres hacer pruebas en tu equipo de sobremesa puedes visitar el tutorial Cómo instalar Hyper-V en Windows 10.

Además, puedes consultar otros tutoriales y artículos relacionados con Hyper-V.

¡Gracias por acompañarnos!

Categorías:Cloud y sistemas

Otros posts que te pueden interesar

13 de noviembre de 2024
¡Tenemos nuevas distros en Servidores! En respuesta a las múltiples solicitudes de varios de nuestros partners, se ha habilitado
13 de noviembre de 2024
¡Ya es posible desplegar plantillas de diferentes softwares desde el asistente de despliegue de servidores! Estrenamos esta funcionalidad del
13 de noviembre de 2024
¡Integración con QNAP! Ya es posible crear copias sincronizadas entre dispositivos de almacenamiento local QNAP y nuestro servicio de

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.

Precios competitivos para la pyme y mucho más margen para el partner

Disaster Recovery ha sido diseñado, implementado y puesto en producción teniendo en cuenta dos premisas: Debe tener un precio atractivo para la pyme a la vez que deja un buen margen de beneficio a la empresa de IT que lo comercializa y gestiona.

DR_buen_precio_y_mas_margen

De esta manera, Disaster Recovery pretende ser un producto diferencial que permita incrementar la seguridad de todo tipo de empresas de manera asequible e implicando, además, rentabilidad para el distribuidor que lo comercializa.

Protege la infraestructura de tus clientes

Disaster Recovery permite replicar cualquier suscripción de infraestructura (Escritorio Remoto y Servidores) en otra zona de disponibilidad creando un entorno de alta disponibilidad y blindando así el servicio.

Replica en pocos pasos no sólo los discos sino todos los elementos que forman parte de cada suscripción:

  • Servidores: Instancias, discos, reglas de firewall, redes, IPs…
  • Escritorio Remoto: Usuarios, Aplicaciones, Licencias, Personalización…
DR_blinda_la_infraestructura

Tratamos de hacer fácil lo difícil

Las herramientas de Disaster Recovery existentes necesitan de conocimientos avanzados para poder ser gestionadas, implicando, muchas veces, un expertise difícil de alcanzar.

 

Disaster Recovery de Jotelulu busca hacer fácil lo difícil y plantea un despliegue muy sencillo basado en una configuración de tres pasos:

Origin (Primary Site)
Determina la ubicación de origen de la suscripción sobre la que se va a establecer el servicio de Disaster Recovery.

Destino (Recovery Site)
Establece la ubicación de destino (zona de disponibilidad) en la que quieres que se despliegue el Recovery Site.

Características de la réplica
Establece los datos asociados al número de copias que se quieren guardar y la frecuencia con la que se va a llevar a cabo la réplica.