Compartir a través de


Trabajar con Hyper-V y Windows PowerShell

Ahora que ya ha visto los conceptos básicos de implementación de Hyper-V, la creación de máquinas virtuales y la administración de dichas máquinas virtuales, es hora de explorar cómo automatizar muchas de estas actividades con PowerShell.

Devolver una lista de comandos de Hyper-V

  1. Seleccione el botón Inicio de Windows y escriba PowerShell.

  2. Ejecute el siguiente comando para mostrar una lista de comandos de PowerShell que permita la búsqueda, que están disponibles con el módulo de PowerShell de Hyper-V.

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

Obtendrá algo parecido a esto:

Captura de pantalla de la vista Cuadrícula de salida que muestra los campos Tipo de comando, Nombre, Versión y Origen.

  1. Para más información sobre un comando de PowerShell determinado, use Get-Help. Por ejemplo, al ejecutar el comando siguiente, se devuelve información sobre el comando Get-VM de Hyper-V.

    Get-Help Get-VM
    

    El resultado muestra cómo estructurar el comando, cuáles son los parámetros obligatorios y opcionales, y los alias que puede utilizar.

    Captura de pantalla de la pantalla Administrador de Windows Power Shell, en la que se muestra la salida de cómo estructurar comandos.

Devolver una lista de máquinas virtuales

Use el comando Get-VM para devolver una lista de máquinas virtuales.

  1. En PowerShell, ejecute el siguiente comando:

    Get-VM
    

    Se muestra algo parecido a esto:

    Captura de pantalla de la pantalla Administrador de Windows Power Shell que muestra la salida después de escribir Get-VM.

  2. Para devolver una lista que solo incluya las máquinas virtuales encendidas, agregue un filtro al comando Get-VM. Se puede agregar un filtro mediante el comando Where-Object. Para más información sobre el filtrado, consulte la documentación de Uso de Where-Object.

    Get-VM | where {$_.State -eq 'Running'}
    
  3. Para enumerar todas las máquinas virtuales que se encuentran en un estado apagado, ejecute el siguiente comando. Este comando es una copia del comando del paso 2 con el filtro cambiado de "Running" a "Off".

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

Iniciar y apagar las máquinas virtuales

  1. Para iniciar una máquina virtual determinada, ejecute el comando siguiente con el nombre de la máquina virtual:

    Start-VM -Name <virtual machine name>
    
  2. Para iniciar todas las máquinas virtuales actualmente apagadas, obtenga una lista de esas máquinas y canalice la lista al comando Start-VM:

    Get-VM | where {$_.State -eq 'Off'} | Start-VM
    
  3. Para apagar todas las máquinas virtuales en ejecución, ejecute el siguiente comando:

Get-VM | where {$_.State -eq 'Running'} | Stop-VM

Creación de un punto de control de máquina virtual

Para crear un punto de control con PowerShell, seleccione la máquina virtual con el comando Get-VM y canalícela al comando Checkpoint-VM. Por último, asigne un nombre al punto de control mediante -SnapshotName. El comando completo tendrá el siguiente aspecto:

Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>

Creación de una máquina virtual

En el ejemplo siguiente, se muestra cómo crear una nueva máquina virtual en el Entorno de scripting integrado de PowerShell (ISE). Esto es un ejemplo sencillo que podría ampliarse para incluir características adicionales de PowerShell e implementaciones de máquinas virtuales más avanzadas.

  1. Para abrir PowerShell ISE, haga clic en Inicio y escriba PowerShell ISE.

  2. Ejecute el código siguiente para crear una máquina virtual. Consulte la documentación sobre New-VM para obtener información detallada sobre el comando New-VM.

     $VMName = "VMNAME"
    
     $VM = @{
         Name = $VMName
         MemoryStartupBytes = 2147483648
         Generation = 2
         NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
         NewVHDSizeBytes = 53687091200
         BootDevice = "VHD"
         Path = "C:\Virtual Machines\$VMName"
         SwitchName = (Get-VMSwitch).Name
     }
    
     New-VM @VM
    

Resumen y referencias

En este documento, se han mostrado algunos pasos sencillos para explorar el módulo de PowerShell de Hyper-V, así como algunos escenarios de ejemplo. Para más información sobre el módulo de PowerShell de Hyper-V, consulte la referencia de cmdlets de Hyper-V en Windows PowerShell.