Gerenciar máquinas virtuais do Windows com o PowerShell Direct

Aplica-se a: Windows Server 2022, Windows 10, Windows Server 2016, Windows Server 2019

Você pode usar o PowerShell Direct para gerenciar remotamente uma máquina virtual com Windows 10, Windows Server 2016 ou Windows Server 2019 em um host do Hyper-V com Windows 10, Windows Server 2016 ou Windows Server 2019. O PowerShell Direct permite o gerenciar o Windows PowerShell dentro de uma máquina virtual independentemente da configuração de rede, das configurações de gerenciamento remoto no host do Hyper-V ou da máquina virtual. Isso facilita a tarefa dos Administradores do Hyper-V de automatizar e executar scripts de configuração e gerenciamento de máquinas virtuais.

Há duas maneiras de executar o PowerShell Direct:

  • Criar e sair de uma sessão do PowerShell Direct usando cmdlets PSSession

  • Executar script ou comando com o cmdlet Invoke-Command

Se você estiver gerenciando máquinas virtuais mais antigas, use o VMConnect (Conexão com Máquina Virtual) ou configure uma rede virtual para a máquina virtual.

Criar e sair de uma sessão do PowerShell Direct usando cmdlets PSSession

  1. No servidor do Hyper-V, abra o Windows PowerShell como Administrador.

  2. Use o cmdlet Enter-PSSession para se conectar à máquina virtual. Execute um dos seguintes comandos para criar uma sessão usando o nome da máquina virtual ou o GUID:

    Enter-PSSession -VMName <VMName>
    
    Enter-PSSession -VMId <VM GUID>
    
  3. Digite suas credenciais para a máquina virtual.

  4. Execute os comandos necessários. Esses comandos são executados na máquina virtual com a qual você criou a sessão.

  5. Quando terminar, use Exit-PSSession para fechar a sessão.

    Exit-PSSession
    

Executar script ou comando com o cmdlet Invoke-Command

Você pode usar o cmdlet Invoke-Command para executar um conjunto predeterminado de comandos na máquina virtual. Aqui está um exemplo de como você pode usar o cmdlet Invoke-Command, onde PSTest é o nome da máquina virtual e o script a ser executado (foo.ps1) está na pasta de script na unidade “C:/”:

Invoke-Command -VMName PSTest  -FilePath C:\script\foo.ps1

Para executar um único comando, use o parâmetro -ScriptBlock:

Invoke-Command -VMName PSTest  -ScriptBlock { cmdlet }

O que é necessário para usar o PowerShell Direct?

Para criar uma sessão do PowerShell Direct em uma máquina virtual,

  • A máquina virtual deve ser executada localmente no host e inicializada.

  • Você deve estar conectado ao computador host como um administrador do Hyper-V.

  • É necessário fornecer credenciais de usuário válidas para a máquina virtual.

  • O sistema operacional host deve executar pelo menos o Windows 10 ou o Windows Server 2016.

  • A máquina virtual deve executar pelo menos o Windows 10 ou o Windows Server 2016.

Você pode usar o cmdlet Get-VM para verificar se as credenciais usadas têm a função de administrador do Hyper-V e para obter uma lista das máquinas virtuais executadas localmente no host e inicializadas.

Consulte Também

Enter-PSSessionExit-PSSessionInvoke-Command