Trabalhando com Hyper-V e Windows PowerShell

Agora que descrevemos os fundamentos da implantação do Hyper-V, criação e gerenciamento de máquinas virtuais, vamos explorar como você pode automatizar muitas dessas atividades com o PowerShell.

Retornar uma lista de comandos do Hyper-V

  1. Clique no botão Iniciar do Windows e digite PowerShell.
  2. Execute o seguinte comando para exibir uma lista de pesquisa de comandos do PowerShell disponíveis com o módulo do PowerShell do Hyper-V.

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

    Você obterá algo assim:

  3. Para saber mais sobre um comando específico do PowerShell, use Get-Help. Por exemplo, executar o comando a seguir retorna informações sobre o comando do Hyper-V Get-VM.

    Get-Help Get-VM
    

    A saída mostra como estruturar o comando, quais são os parâmetros necessários e opcionais, e os aliases que você pode usar.

Retornar uma lista de máquinas virtuais

Use o comando Get-VM para retornar uma lista de máquinas virtuais.

  1. No PowerShell, execute o seguinte comando:

    Get-VM
    

    Isso exibe algo assim:

  2. Para retornar uma lista apenas das máquinas virtuais ligadas, adicione um filtro ao comando Get-VM. Um filtro pode ser adicionado usando o comando Where-Object. Para obter mais informações sobre filtragem, consulte a documentação Using the Where-Object (Usando o Where-Object).

    Get-VM | where {$_.State -eq 'Running'}
    
  3. Para listar todas as máquinas virtuais desligadas, execute o seguinte comando. Esse comando é uma cópia do comando da etapa 2 com o filtro alterado de “Em execução” para “Desligado”.

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

Iniciar e desativar máquinas virtuais

  1. Para iniciar uma máquina virtual específica, execute o comando a seguir com o nome da máquina virtual:

    Start-VM -Name <virtual machine name>
    
  2. Para iniciar todas as máquinas virtuais desativadas, obtenha uma lista dessas máquinas e redirecione a lista para o comando Start-VM:

    Get-VM | where {$_.State -eq 'Off'} | Start-VM
    
  3. Para desativar todas as máquinas virtuais em execução, execute isto:

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

Criar um ponto de verificação de VM

Para criar um ponto de verificação usando o PowerShell, selecione a máquina virtual usando o comando Get-VM e redirecione isso para o comando Checkpoint-VM. Por fim, dê um nome ao ponto de verificação usando -SnapshotName. O comando completo é semelhante a:

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

Criar uma nova máquina virtual

O exemplo a seguir mostra como criar uma nova máquina virtual no ISE (Ambiente de Script Integrado) do PowerShell. Este é um exemplo simples e pode ser expandido para incluir recursos adicionais do PowerShell e implantações de VM mais avançadas.

  1. Para abrir o ISE do PowerShell no início, digite ISE do PowerShell.
  2. Execute código a seguir para criar uma máquina virtual. Consulte a documentação do New-VM para obter informações detalhadas sobre o 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[0]
    }
    
    New-VM @VM
    

Conclusão e Referências

Este documento mostra algumas etapas simples para explorar o módulo do PowerShell do Hyper-V, bem como alguns cenários de exemplo. Para obter mais informações sobre o módulo do PowerShell do Hyper-V, consulte a referência dos Cmdlets do Hyper-V no Windows PowerShell.