Gerenciar VMs no Azure Local usando o Windows PowerShell
Aplica-se a: Azure Local, versões 23H2 e 22H2; Windows Server 2022, Windows Server 2019
Este artigo descreve como criar e gerenciar máquinas virtuais (VMs) no Azure Local usando o Windows PowerShell.
Nota
A maneira recomendada de criar e gerenciar VMs no Azure Local, versão 23H2 é usando o plano de controle Azure Arc. No entanto, como a funcionalidade descrita neste artigo ainda não é fornecida pelo Azure Arc, você pode usar o Windows Admin Center ou o PowerShell conforme descrito abaixo. Observe que as VMs criadas dessa maneira não são VMs habilitadas para Arc. Eles têm capacidade de gerenciamento limitada do plano de controle do Azure Arc e menos Benefícios Híbridos do Azure, como nenhum uso gratuito do Azure Update Manager.
Sobre o gerenciamento de VMs usando o PowerShell
Normalmente, você gerencia VMs de um computador remoto, em vez de em uma máquina host no Azure Local. Este computador remoto é chamado de computador de gerenciamento.
Ao executar comandos do PowerShell a partir de um computador de gerenciamento, inclua o -ComputerName
parâmetro com o nome da máquina host que você está gerenciando. Nomes NetBIOS, endereços IP e nomes de domínio totalmente qualificados são permitidos.
Para obter documentação de referência completa sobre como gerenciar VMs usando o PowerShell, consulte Referência do Hyper-V.
Criar uma VM
O New-VM
cmdlet é usado para criar uma nova VM. Para obter uso detalhado, consulte a documentação de referência New-VM.
Aqui estão as configurações que você pode especificar ao criar uma nova VM com um disco rígido virtual existente, onde:
-Name é o nome que você fornece para a máquina virtual que está criando.
-MemoryStartupBytes é a quantidade de memória disponível para a máquina virtual na inicialização.
-BootDevice é o dispositivo no qual a máquina virtual inicializa quando é iniciada. Normalmente, este é um disco rígido virtual (VHD), um arquivo de .iso para inicialização baseada em DVD ou um adaptador de rede (NetworkAdapter) para inicialização de rede.
-VHDPath é o caminho para o disco da máquina virtual que você deseja usar.
-Path é o caminho para armazenar os arquivos de configuração da máquina virtual.
-Geração é a geração da máquina virtual. Use a geração 1 para VHD e a geração 2 para VHDX.
-SwitchName é o nome do comutador virtual que você deseja que a máquina virtual use para se conectar a outras máquinas virtuais ou à rede. Obtenha o nome do comutador virtual usando Get-VMSwitch. Por exemplo:
O comando completo da seguinte forma para criar uma VM chamada VM1:
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -SwitchName <Switch name>
O próximo exemplo cria uma máquina virtual de 2ª geração com 4 GB de memória. Ele inicializa a partir da pasta VMs\Win10.vhdx no diretório atual e usa o comutador virtual chamado ExternalSwitch. Os arquivos de configuração da máquina virtual são armazenados na pasta VMData.
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Win10.vhdx -Path .\VMData -Generation 2 -SwitchName ExternalSwitch
Os parâmetros a seguir são usados para especificar discos rígidos virtuais.
Para criar uma máquina virtual com um novo disco rígido virtual, substitua o parâmetro -VHDPath do exemplo acima por -NewVHDPath e adicione o parâmetro -NewVHDSizeBytes como mostrado aqui:
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win10.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -SwitchName ExternalSwitch
Para criar uma máquina virtual com um novo disco virtual que inicializa em uma imagem do sistema operacional, consulte o exemplo do PowerShell em Passo a passo Criar máquina virtual para Hyper-V no Windows 10.
Obter uma lista de VMs
O exemplo a seguir retorna uma lista de todas as VMs em Server1.
Get-VM -ComputerName Server1
O exemplo a seguir retorna uma lista de todas as VMs em execução em uma máquina adicionando um filtro usando o Where-Object
comando. Para obter mais informações, consulte Usando a documentação Where-Object .
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Running"
O próximo exemplo retorna uma lista de todas as VMs de desligamento na máquina.
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Off"
Iniciar e parar uma VM
Use os Start-VM
comandos e Stop-VM
para iniciar ou parar uma VM. Para obter informações detalhadas, consulte a documentação de referência Start-VM e Stop-VM .
O exemplo a seguir mostra como iniciar uma VM chamada VM1:
Start-VM -Name VM1 -ComputerName Server1
O exemplo a seguir mostra como desligar uma VM chamada TestVM:
Stop-VM -Name VM1 -ComputerName Server1
Mover uma VM
O Move-VM
cmdlet move uma VM para uma máquina diferente. Para obter mais informações, consulte a documentação de referência do Move-VM .
O exemplo a seguir mostra como mover uma VM para Server2 quando a VM é armazenada em um compartilhamento SMB em Server1:
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2
O exemplo a seguir mostra como mover uma VM de Server1 para Server2 e mover todos os arquivos associados à VM para D:\VM_name no computador remoto:
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2 -IncludeStorage -DestinationStoragePath D:\VM_name
Importar ou exportar uma VM
Os Import-VM
cmdlets e Export-VM
importam e exportam uma VM. Seguem-se alguns exemplos. Para obter mais informações, consulte a documentação de referência Import-VM e Export-VM.
O exemplo a seguir mostra como importar uma VM de seu arquivo de configuração. A VM é registrada in-loco, portanto, seus arquivos não são copiados:
Import-VM -ComputerName Server1 -Name VM1 -Path 'C:\<vm export path>\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx'
O exemplo a seguir exporta uma VM para a raiz da unidade D:
Export-VM -ComputerName Server1 -Name VM1 -Path D:\
Renomear uma VM
O Rename-VM
cmdlet é usado para renomear uma VM. Para obter informações detalhadas, consulte a documentação de referência Rename-VM.
O exemplo a seguir renomeia VM1 para VM2 e exibe a VM renomeada:
Rename-VM -ComputerName Server1 -Name VM1 -NewName VM2
Criar um ponto de verificação de VM
O Checkpoint-VM
cmdlet é usado para criar um ponto de verificação para uma VM. Para obter informações detalhadas, consulte a documentação de referência Checkpoint-VM.
O exemplo a seguir cria um ponto de verificação chamado BeforeInstallingUpdates para a VM chamada Test.
Checkpoint-VM -ComputerName Server1 -Name VM1 -SnapshotName BeforeInstallingUpdates
Criar um VHD para uma VM
O New-VHD
cmdlet é usado para criar um novo VHD para uma VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência New-VHD.
Adicionar um adaptador de rede a uma VM
O Add-VMNetworkAdapter
cmdlet é usado para adicionar um adaptador de rede virtual a uma VM. Seguem-se alguns exemplos. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência Add-VMNetworkAdapter.
O exemplo a seguir adiciona um adaptador de rede virtual chamado Redmond NIC1 a uma máquina virtual chamada VM1:
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -Name "Redmond NIC1"
Este exemplo adiciona um adaptador de rede virtual a uma máquina virtual chamada VM1 e o conecta a um comutador virtual chamado Network:
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -SwitchName Network
Criar um comutador virtual para uma VM
O New-VMSwitch
cmdlet é usado para um novo comutador virtual em um host VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência do New-VMSwitch .
O exemplo a seguir cria um novo switch chamado "switch QoS", que se liga a um adaptador de rede chamado Wired Ethernet Connection 3 e suporta largura de banda mínima baseada em peso.
New-VMSwitch "QoS Switch" -NetAdapterName "Wired Ethernet Connection 3" -MinimumBandwidthMode Weight
Definir memória para uma VM
O Set-VMMemory
cmdlet é usado para configurar a memória de uma VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência Set-VMMemory.
O exemplo a seguir habilita a memória dinâmica em uma VM chamada VM1, define sua memória mínima, de inicialização e máxima, sua prioridade de memória e seu buffer.
Set-VMMemory -ComputerName Server1 -Name VM1 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25
Definir processadores virtuais para uma VM
O Set-VMProcessor
cmdlet é usado para configurar os processadores virtuais para uma VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência Set-VMProcessor.
O exemplo a seguir configura uma VM chamada VM1 com dois processadores virtuais, uma reserva de 10%, um limite de 75% e um peso relativo de 200.
Set-VMProcessor -ComputerName Server1 -Name VM1 -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
Remover uma VM
A remoção ou exclusão de uma VM via PowerShell exclui o arquivo de configuração da VM, mas não exclui os discos rígidos virtuais associados. Se você quiser excluir uma VM com todos os arquivos, incluindo discos rígidos virtuais, considere usar o Windows Admin Center.
Antes de excluir uma VM, verifique se a VM está OFF. Lembre-se de que excluir uma VM exclui o arquivo de configuração irreversivelmente.
Remover uma VM de uma máquina
Para remover ou excluir uma VM e seus recursos de uma máquina, primeiro localize todas as VMs na máquina usando o seguinte cmdlet:
Get-VM -Name VM1
Em seguida, execute o seguinte cmdlet para cada VM que você deseja remover da máquina:
Remove-VM -Name VM1
Remover uma VM de um sistema
Para remover ou excluir uma VM e seus recursos de um sistema, primeiro encontre-os usando o seguinte cmdlet:
Get-ClusterGroup
Em seguida, execute o seguinte cmdlet para cada VM que você deseja remover do sistema:
Remove-ClusterGroup -RemoveResources -Name VM1
Próximos passos
Você também pode criar e gerenciar VMs usando o Windows Admin Center. Para obter mais informações, consulte Windows Admin Center.