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 tela da tela do Administrator Windows Power Shell, 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 tela da tela do Administrator Windows Power Shell mostrando a saída depois de entrar em Get V M.

  2. Para retornar uma lista de máquinas virtuais apenas ativadas, Get-VM adicione um filtro ao comando. Um filtro pode ser adicionado usando o Where-Object comando. Para obter mais informações sobre filtragem, consulte Usando a documentação 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 a referência CmdletsHyper-V no Windows PowerShell.