Gerenciar máquinas virtuais do Windows com o PowerShell Direct
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
No servidor do Hyper-V, abra o Windows PowerShell como Administrador.
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>
Digite suas credenciais para a máquina virtual.
Execute os comandos necessários. Esses comandos são executados na máquina virtual com a qual você criou a sessão.
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.