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
- Haga clic en el botón de inicio de Windows y escriba PowerShell.
- Ejecute el siguiente comando para mostrar una lista de comandos de PowerShell que permite 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 obtener 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 cerrar todas las máquinas virtuales en ejecución, ejecute lo siguiente:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
Creación de un punto de comprobación de la 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
. Finalmente, asigne un nombre al punto de control con -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. Vea 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 obtener más información sobre el módulo de PowerShell de Hyper-V, consulte la referencia de cmdlets de Hyper-V en Windows PowerShell.