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
Seleccione el botón Inicio de Windows y escriba PowerShell.
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:
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 comandoGet-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.
Devolver una lista de máquinas virtuales
Use el comando Get-VM
para devolver una lista de máquinas virtuales.
En PowerShell, ejecute el siguiente comando:
Get-VM
Se muestra algo parecido a esto:
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 comandoWhere-Object
. Para más información sobre el filtrado, consulte la documentación de Uso de Where-Object.Get-VM | where {$_.State -eq 'Running'}
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
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>
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
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.
Para abrir PowerShell ISE, haga clic en Inicio y escriba PowerShell ISE.
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.