Partilhar via


Trabalhando com Hyper-V e Windows PowerShell

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

Retornar uma lista de comandos Hyper-V

  1. Selecione o botão Iniciar do Windows e digite PowerShell.

  2. Execute o comando a seguir para exibir uma lista pesquisável de comandos do PowerShell disponíveis com o Hyper-V Módulo PowerShell.

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

Você obtém algo assim:

Captura de ecrã da Vista de Grelha de Saída mostrando os campos Tipo de Comando, Nome, Versão e Origem.

  1. 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 Get-VM comando Hyper-V.

    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.

    Captura de ecrã do Administrador do PowerShell do Windows, mostrando a saída de como estruturar comandos.

Retornar uma lista de máquinas virtuais

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

  1. No PowerShell, execute o seguinte comando:

    Get-VM
    

    Isso exibe algo assim:

    Captura de ecrã do ecrã do PowerShell do Windows no modo Administrador, mostrando o resultado após inserir o comando Get-VM.

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

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

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

Iniciar e desligar máquinas virtuais

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

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

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

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

Criar um ponto de verificação de máquina virtual

Para criar um ponto de verificação usando o PowerShell, selecione a máquina virtual usando o Get-VM comando e canalize-o para o Checkpoint-VM comando. Finalmente, dê um nome ao ponto de verificação usando -SnapshotName. O comando completo tem a seguinte aparência:

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, clique em iniciar, digite ISE do PowerShell.

  2. Execute o código a seguir para criar uma máquina virtual. Consulte a documentação New-VM para obter informações detalhadas sobre o New-VM comando.

     $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
    

Resumo e Referências

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