Virtualização: Crie máquinas virtuais do Hyper-V com o Windows PowerShell

Se você precisa criar e configurar máquinas virtuais com frequência, usar o Windows PowerShell para fazer isso pode agilizar o processo.

Neil Tucker

Se você precisará testar configurações de servidor novo ou padronizado, Hyper-V oferece a você um ambiente rapidamente e eficientemente Executar testee, que tornou um ambiente de laboratório populares. O único prendedor é que você precisa criar e configurar máquinas virtuais (VMs) em uma base regular.

Se você está procurando uma maneira fácil de construir imagens do Hyper-V, scripts do Windows PowerShell são uma solução viável. Na medida em que você pode personalizar o Windows PowerShell e sua estrutura de comando flexível o torna adequado para qualquer ambiente. Quando combinado com uma estratégia de instalação autônoma ou automatizado, praticamente qualquer configuração do computador é possível.

Configurar o Windows PowerShell

Esta estratégia assume que você estiver trabalhando em um sistema Windows Server 2008 R2 que satisfaça os requisitos para a função Hyper-V. Depois de seguir estes passos, o sistema estará pronto para execução de scripts de Hyper-V:

  1. Instale a função Hyper-V e o Windows PowerShell. Você pode fazer isso no Gerenciador de servidor ou usando a ferramenta de linha de comando ServerManagerCmd. exe – (ServerManagerCmd – install Hyper-V e o ServerManagerCmd. exe install PowerShell).
  2. Configure o Windows PowerShell para permitir o uso de scripts. Isso é desativado por padrão. Você pode configurar isso com o cmdlet Set-ExecutionPolicy (conjunto-ExecutionPolicyRemoteSigned).
  3. Baixe e instale o módulo de Hyper-V do Windows PowerShell. Você precisa deste módulo para acessar todos os cmdlets projetados especificamente para Windows PowerShell. Desde o Biblioteca de gerenciamento de PowerShell CodePlex para página do Hyper-V, baixe a versão mais recente estável, não-desenvolvimento. Verifique se que o atributo "block" é removido os arquivos compactados antes de instalá-las. Isto irá executar scripts de instalação sem a necessidade de assinaturas digitais. Se você estiver fazendo a instalação no servidor núcleo, desbloquear e descompacte o arquivo de módulo em outro computador antes de copiar os arquivos de instalação para o servidor. Caso contrário, você precisará de ferramentas adicionais para executar essas operações no servidor (a ferramenta de stream.exe em SysinternalsSuite e 7-Zip).
  4. Partir de um prompt de comando do Windows PowerShell, habilite os cmdlets de Hyper-V, importando o recém-instalado module (módulo de importação Hyper-V). Se você receber uma mensagem de erro, verifique se que você não perca uma etapa anterior. Se você pretende usar regularmente o Windows PowerShell para gerenciar seu ambiente de Hyper-V, você deve adicionar o módulo de importação e os cmdlets Set-ExecutionPolicy para um arquivo de perfil do Windows PowerShell. Isso permitirá que você use os cmdlets sem ter que configurar o servidor de cada vez. Você deve sempre usar um ambiente de comando do Windows PowerShell elevado para evitar quaisquer problemas executando os cmdlets.

Para verificar se você instalou com êxito os cmdlets e eles estão funcionando corretamente, use o cmdlet Get-Command para ver uma lista dos comandos disponíveis para você (Get-Command –Module Hyper-V). Tal como acontece com outros módulos, cada cmdlet vem com informações úteis sobre suas funções e exemplos sobre como usá-lo (Get-Help New-VM –Detailed e Get-Help New-VM –Examples). Há documentação adicional disponível em CodePlex.

Configurar o Hyper-V Windows PowerShell Script

Uma vez que seu ambiente do Windows PowerShell está pronto, você pode começar a construir novas VMs. Certifique-se de que iniciar com permissões de administrador para usar privilégios elevados para que esses comandos. O script usa cmdlets do Hyper-V para criar uma nova máquina virtual com base em cinco variáveis (ver Figura 1) fornecidas durante a instalação. Cada variável tem um valor de pré-atribuído padrão que será usado se um não é fornecido.

Figura 1 descrições das variáveis definidas durante a configuração de máquina virtual (VM) do Hyper-V.

$SRV1 Nome do VM
$SRAM Quantidade de memória atribuída para a VM
R $SRV1VHD Tamanho do disco rígido virtual a máquina virtual está usando
$VMLOC Localização de onde você deseja criar o disco rígido virtual em VM
US $Network1 Conexão de rede virtual de VM

Depois de definir essas variáveis, o script New-Image.ps1 (consulte Figura 2) configura a rede Virtual do Hyper-V usando o valor atribuído à variável $Network1. Antes de definir a nova rede privada com o New-VMPrivateSwitchcmdlet, removê-lo com Remove-VMSwitch, mesmo que ela já existia. Isso garante que você não definir redes duplicados com o mesmo nome.

Figura 2 Image.ps1 de novo o script que cria novas máquinas virtuais.

# This script creates a new Hyper-V machine with hard drive, memory & network resources configured. # Variables $SRV1 = Read-Host "Enter the Virtual Machine name (Press [Enter] to choose Server01): " if ($SRV1 -eq ""){$SRV1="Server01"} ; if ($SRV1 -eq $NULL){$SRV1="Server01"} $SRAM = Read-Host "Enter the size of the Virtual Machine Memory (Press [Enter] to choose 512MB): " if ($SRAM -eq ""){$SRAM=512MB} ; if ($SRAM -eq $NULL){$SRAM=512MB} $SRV1VHD = Read-Host "Enter the size of the Virtual Machine Hard Drive (Press [Enter] to choose 40GB): " if ($SRV1VHD -eq ""){$SRV1VHD=40GB} ; if ($SRV1VHD -eq $NULL){$SRV1VHD=40GB} $VMLOC = Read-Host "Enter the location of the Virtual Machine file (Press [Enter] to choose C:\HyperV): " if ($VMLOC -eq ""){$VMLOC="C:\HyperV"} ; if ($VMLOC -eq $NULL){$VMLOC="C:\HyperV"} $Network1 = Read-Host "Enter the name of the Virtual Machine Network (Press [Enter] to choose Network1): " if ($Network1 -eq ""){$Network1="Network1"} ; if ($Network1 -eq $NULL){$Network1="Network1"} # Configure Hyper-V Virtual Network remove-vmswitch $Network1 -force -erroractionsilentlycontinue new-vmprivateswitch $Network1 # Create Virtual Machines MD $VMLoc -erroractionsilentlycontinue new-vm $SRV1 -path $VMLoc new-vhd -vhdpaths $VMLoc\$SRV1 -size $SRV1VHD add-vmdisk -vm $SRV1 -controllerid 0 -lun 0 -path $VMLoc\$SRV1 get-vm $SRV1 | add-vmdrive -controllerid 1 -lun 0 -dvd get-vm $SRV1 | set-vmmemory -memory $SRAM get-vm $SRV1 | add-vmnic -virtualswitch $Network1

A parte final do processo onde você realmente criar a máquina virtual é simple. Crie o local do diretório para a unidade de disco rígido virtual (VHD). Em seguida, seis cmdlets criar e configurar o novo VM.

O comando New-VM define a máquina e a sua localização. Novo VHD cria o arquivo VHD e adicionar-VMDisk atribui para a VM. Add VMDrive adiciona uma unidade de DVD para a máquina, conjunto-VMMemory define a quantidade de RAM e adicionar-VMNIC configura a placa de rede.

Depois de ter configurado o novo VM, você pode instalar qualquer sistema operacional você estará usando. Você pode também por script e gerenciar o processo de instalação do sistema operacional com o Windows PowerShell. Usando o Windows PowerShell para automatizar essas tarefas pode acelerar e simplificar todo o processo, especialmente se você tem que fazer isso em uma base regular.

Neil R. Tucker

Neil R. Tucker, MCT, MCITP, MCSE, MCDBA MCDST, tem mais de 17 anos de experiência como técnico, instrutor e redator técnico. Ele consulta, dá aulas no SQL Server, Windows Server, Windows 7 e do Windows PowerShell. Ele também é autor da Microsoft Learning 50331 curso para Windows 7 Desktop técnicos de suporte.

Conteúdo relacionado