- Combine VMConnect/RDP com FFmpeg para gravar a janela da VM de PowerShell de forma fiável.
- Use cmdlets do Hyper-V (Iniciar/Parar/Ponto de verificação/Medir VM) para preparar e estabilizar a sessão antes da captura.
- Transfira binários e dados entre host e VMs usando SMB, Copy‑VMFile, VHDX ou Enhanced Session.
- Automatize a criação, limpeza e exportação de VMs para repetir cenários de gravação sem surpresas.
Gravar o que acontece dentro de uma máquina virtual no Hyper-V a partir do PowerShell é perfeitamente possível se você combinar o seguinte: Ferramentas nativas do Hyper-V (VMConnect, RDP, serviços de convidado) com utilitários de captura de tela por linha comandosNeste guia prático, você encontrará métodos práticos para capturar vídeo da área de trabalho de uma VM, bem como todas as informações essenciais do PowerShell e do Hyper-V que facilitarão sua tarefa: cmdlets principais, automação, transferência de arquivos e administração remota.
Para lhe dar uma visão completa, incluímos Procedimentos detalhados para mover arquivos entre hosts e VMs (essencial se você precisar transferir instaladores ou binários como o FFmpeg para a VM), cmdlets de gerenciamento essenciais e scripts para criar, clonar ou reconstruir VMs. Tudo é explicado em espanhol direto, com exemplos práticos, recomendações de segurança e práticas recomendadas.
Requisitos e preparação do ambiente
Antes da captura, é uma boa ideia preparar o ambiente: tenha o PowerShell atualizado, acesso ao host e às VMs e aos módulos do Hyper-V. Além disso, tome medidas para evitar interrupções de notificação durante a gravação. Isso acelera as etapas e reduz erros, então Vale a pena preparar o terreno com cuidado.
O que é PowerShell? É a estrutura de script e automação baseada em .NET da Microsoft que combina shell e linguagem. Os cmdlets permitem que você encadeie ações complexas em scripts. (.ps1), agende-os com o Agendador de Tarefas e execute-os local ou remotamente.
Como abrir o PowerShell: Em sistemas com interface gráfica, procure por PowerShell e escolha “Executar como administrador”. Windows Server Core ou Hyper-V Server, digite powershell no simbolo do sistema para entrar na sessão PS. Se você usar acesso remoto, certifique-se de ter o RDP habilitado. ou configurar o controle remoto com WinRM/Enter‑PSSession.
Administração remota: na sua estação de trabalho, você pode instalar ferramentas Hyper-V RSAT com Install-WindowsFeature RSAT-Hyper-V-Tools. Em seguida, execute cmdlets direcionados ao host com parâmetros de destino ou sessões remotas (por exemplo, Enter-PSSession -ComputerName servidor -Credential (Get-Credential)).
Ajuda e descoberta: use Update-Help para manter a ajuda atualizada e Get-Help <cmdlet> para ver sintaxe e exemplos. Com Get-Command -Module Hyper-V Você listará todos os cmdlets do Hyper-V; se você quiser vê-los em uma janela filtrável, Adicionar | Out-GridView.
Métodos práticos para capturar vídeo de VMs do Hyper-V usando o PowerShell
O Hyper-V não tem um “gravador” de console de VM nativo, mas você pode combinar VMConnect/RDP com uma ferramenta de captura via CLI, como o FFmpeg. Abaixo estão os cenários mais confiáveis e como automatizá-los a partir do PowerShell.
1) VMConnect + FFmpeg (capturar janela da VM)
O VMConnect abre o console da VM em uma janela local. Se você iniciar o VMConnect e apontar o FFmpeg para essa janela, você obtém uma gravação do que acontece lá dentroEtapas típicas:
- Inicie a VM (se não estiver ligado):
Start-VM -Name "MiVM" -Wait. - Abra o console:
vmconnect.exe <NombreHost> "MiVM"(do PowerShell você pode executarStart-Process vmconnect.exe -ArgumentList "ServidorHV","MiVM"). - Inicie o FFmpeg capturando a janela VMConnect. No Windows, o FFmpeg permite gdiggrab para capturar pelo título da janela:
ffmpeg -f gdigrab -framerate 30 -i title="Virtual Machine Connection" -vcodec libx264 -preset veryfast -pix_fmt yuv420p C:\Capturas\MiVM.mp4.
O título da janela VMConnect pode incluir o nome da VM/host (dependendo da versão). Ajuste o parâmetro -i title= para o texto exato. Para áudio, adicione uma entrada dshow se você tiver “Stereo Mix” ou outra fonte: -f dshow -i audio="Stereo Mix"Se você precisar converter o MP4 resultante para outro contêiner ou codec, veja como alterar o formato de um vídeo no Windows.
Automação com PowerShell: Crie um escrita que Bota a VM, abra o VMConnect e execute o FFmpeg com os parâmetros apropriados. Você pode controlar o tempo de gravação com -t 00:10:00 (por exemplo, 10 minutos) ou interromper o envio do FFmpeg q ao seu processo.
2) RDP para a VM + FFmpeg (captura da sessão remota)
Se a VM tiver rede e Área de Trabalho Remota ativas, conecte-se com mstsc e gravar a janela RDP com o FFmpeg da mesma forma (gdigrab pelo título). Vantagem: : qualidade mais estável em altas resoluções; inconveniente: Requer rede/credenciais na VM.
No PowerShell, você pode automatizar o cliente RDP com Start-Process mstsc.exe -ArgumentList "/v:10.10.10.50" e então aponte o FFmpeg para a janela cujo título contém o IP ou nome do destino. Se você precisar mapear discos locais (para salvar o vídeo dentro da VM), defina-o nas opções RDP antes de conectar.
3) VMConnect no Modo de Sessão Aprimorado
O “Modo de Sessão Aprimorado” permite melhores resoluções e uso de recursos locais ao conectar-se com VMConnect, o que é muito útil para capturas nítidas em tela cheia. Ative-o no host: Set-VMHost -EnableEnhancedSessionMode $Truee, em seguida, conecte-se à VM com o VMConnect. Selecione a resolução desejada; capturar com o FFmpeg funcionará da mesma forma que o método 1, mas com uma experiência visual melhor.
Este modo também facilita a conexão de unidades ou o redirecionamento de recursos do host, o que É ótimo para mover arquivos necessário para seus testes ou para armazenar gravações.
4) Alternativa leve: Gravador de Passos (não vídeo)
Se você não precisa de vídeo contínuo, o antigo PSR (Gravador de Passos) do Windows captura capturas de tela com anotações de passos. Ele inicia com psr.exe. Não gera um MP4, mas pode ser útil para documentação rápida sem instalar nada adicional.

Cmdlets do Hyper-V que facilitam sua vida na captura
Esses comandos simplificam o controle do ciclo de vida da VM e os ambientes de teste de pré-gravação. Eles permitem que você: iniciar, parar, salvar estado e medir recursos antes de pressionar “REC”.
Inventário e ajuda: Get-Command -Module Hyper-V listar os cmdlets; Get-Help Get-VM explica usos e parâmetros. Você pode filtrar ou formatá-lo com Format-Table, Format-List u Out-GridView.
Listar VMs e filtrar estados: Get-VM retorna tudo; para os iluminados, Get-VM | Where-Object { $_.State -eq 'Running' }. Se você quiser aqueles que estão desligados, altere o filtro para 'Off'.
Iniciar e parar: Start-VM -Name "MiVM" y Stop-VM -Name "MiVM". Para atuar como um bloco, Get-VM | Where-Object { $_.State -eq 'Off' } | Start-VM o Get-VM | Where-Object { $_.State -eq 'Running' } | Stop-VM. Se ele não responder, Adicionar -Force en Stop-VM.
Desligamento limpo do convidado: Invoke-VMShutdown MiVM -Force tente desligar o sistema operacional com elegância. Use-o quando quiser evitar cortes bruscos que podem corromper dados.
Salvar status e pontos de verificação: Save-VM -Name "MiVM" hiberna a VM; Checkpoint-VM -Name "MiVM" -SnapshotName PreGrabacion criar um ponto de verificação. Para excluir instantâneos específicos, Remove-VMSnapshot -VMName "MiVM" -Name NombreParcial*.
Medição de recursos: ative a medição com Enable-VMResourceMetering -VMName "MiVM" e consultar com Measure-VM -VMName "MiVM". Ajuda você a avaliar a configuração da CPU/RAM e medir FPS para que a gravação ocorra sem problemas.
Versão de rede e VM: Get-VMNetworkAdapter -All identifica NICs virtuais de VMs e o sistema operacional de gerenciamento. Update-VMVersion -Name "MiVM" Atualize a versão de configuração para novos recursos. Útil se você for usar a Sessão Aprimorada e recursos recentes.
Utilitários de processo: a partir do PowerShell você pode começar a oferecer suporte a aplicativos como FFmpeg com Start-Process, eleve o PowerShell com -Verb RunAs, ou pare os processos travados com Stop-Process. Combinando Cmdlets de Processo e Hyper-V permite que você orquestre a gravação do início ao fim.
Movendo arquivos entre hosts e VMs: 7 métodos que funcionam
Para capturar, geralmente é necessário passar binários (por exemplo, FFmpeg), ISOs ou scripts entre o host Hyper-V e as VMs. Esses métodos abrangem cenários com e sem rede, com ou sem GUI e com diferentes restrições.
Método 1: compartilhamento SMB no host
Habilite as regras de firewall para “Compartilhamento de arquivos e impressoras” no host e conecte-se do seu computador ao compartilhamento do host (por exemplo, \\10.10.10.31\c$\ ou mapa com net use S: \\10.10.10.31\d$). Vantagem: Simples e rápido em ambientes Windows. Nota: Desative a regra quando terminar de usar netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=No.
Método 2: Compartilhamento central único
Em vez de duplicar ISOs e ferramentas em cada host, monte um SMB em um servidor/NAS e dê acesso a todos os hosts. Ideal no domínio AD. Se você estiver transferindo para uma VM, configure o switch virtual e o modo de rede correspondente. Linux você pode usar SMB ou SSH/SCP.
Método 3: RDP com unidades redirecionadas
Habilite a Área de Trabalho Remota no destino e, quando o MSTSC abrir, redirecione as unidades locais (guia Recursos Locais > Mais > Unidades). Copie da unidade mapeada dentro da sessão. Funciona com hosts GUI e VMs conectado à rede.
Método 4: Copiar-VMFile (sem rede)
Ofertas do PowerShell 4+ Copy-VMFile para passar arquivos do host para a VM sem depender da rede ou do firewall. Você deve ativar o Guest Services na VM: Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'. Então: Copy-VMFile "VM1" -SourcePath "C:\temp\file.txt" -DestinationPath "C:\Temp\file.txt" -CreateFullPath -FileSource Host.
Método 5: Disco VHDX compartilhado e montável
Crie um VHDX no host (New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic), monte-o (Mount-VHD), inicialize/particione-o e formate-o (NTFS). Copie seus arquivos para dentro, desmonte (Dismount-VHD) e anexe esse VHDX à VM (Add-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx). Dentro da VM, atribua uma letra e uma cópia.
Método 6: VMConnect com sessão aprimorada
Ative o modo avançado com Set-VMHost -EnableEnhancedSessionMode $True e ao conectar, ele redireciona os recursos locais como se fosse RDP. Permite arrastar/soltar virtualmente (dependendo da versão) e acesso às unidades, tornando trivial transportar binários de captura ou resultados de saída.
Método 7: Imagem ISO com arquivos
Gere um ISO com os arquivos necessários (somente leitura da VM) e monte-o na unidade de DVD virtual. Isso é útil para injetar conteúdo imutavelmente, por exemplo, instaladores ou ferramentas básicas.
Crie, exclua e recrie VMs por meio de script (e prepare-as para gravação)
Ao documentar ou gravar demonstrações, às vezes você precisa de um ambiente "limpo" rapidamente. Com o PowerShell, você pode exclua uma VM antiga, recrie-a e deixe-a pronta com ISO e resposta automatizada.
Excluir uma VM de desenvolvimento e seus VHDs: definir $ThisVM = "SQLTestVM", pare a VM (Stop-VM -Name $ThisVM), exclua seus discos com Get-VMHardDiskDrive -VMName $ThisVM | Remove-Item -Force e, em seguida, Remove-VM -VMName $ThisVM -Force. importante: Remove-VM Ele não exclui VHDs, você tem que fazer isso separadamente.
Recrie a VM: use New-VM com os parâmetros apropriados (nome, memória, Geração 2, novo VHDX, switch). Conecte o ISO do sistema operacional e inicializa. Você pode adicionar um arquivo VFD/resposta (autônomo) para que a instalação seja autônoma e esteja pronta para ser gravada em poucos minutos.
Memória dinâmica opcional: Set-VMMemory -VMName $ThisVM -DynamicMemoryEnabled $true -MinimumBytes 1GB -StartupBytes 2GB -MaximumBytes 4GB. Otimize os recursos se você for executar várias VMs durante a gravação.
Crie uma VM com PowerShell passo a passo
Exemplo rápido de criação de uma VM Gen2 com um VHDX de 60 GB e conexão a um switch específico. Você sempre pode adaptar os caminhos, a memória e os nomes ao seu caso específico. automatizar laboratórios de gravação.
- Criar a VM:
New-VM -Name "WSTEST" -MemoryStartupBytes 2GB -Generation 2 -NewVHDPath "D:\hyper-v\virtual hard disks\WSTEST.vhdx" -NewVHDSizeBytes 60GB -SwitchName "ExternalSwitch". - Adicionar DVD com ISO:
Add-VMSCSIController -VMName WSTESTyAdd-VMDvdDrive -VMName WSTEST -ControllerNumber 1 -ControllerLocation 0 -Path D:\ISO\instalador.iso. - Disco fixo opcional:
New-VHD -Path "D:\hyper-v\virtual hard disks\wstest.vhdx" -SizeBytes 60GB -FixedyAdd-VMHardDiskDrive -VMName WSTEST -Path "D:\hyper-v\virtual hard disks\wstest.vhdx".
Você também pode usar splatting com uma tabela de hash para tornar seu script mais legível: $VM = @{ Name = "VMNAME"; MemoryStartupBytes = 2GB; Generation = 2; NewVHDPath = "C:\Virtual Machines\VMNAME\VMNAME.vhdx"; NewVHDSizeBytes = 50GB; BootDevice = "VHD"; Path = "C:\Virtual Machines\VMNAME"; SwitchName = (Get-VMSwitch).Name } ; New-VM @VM. Dessa forma você reutiliza parâmetros em diferentes ambientes.
Gerenciamento mais útil para seu fluxo de gravação
Exportar uma VM: Export-VM MiVM -Path "F:\vmbak" -CopyState cria uma exportação completa, útil para clonar cenários de demonstração. Evita que você tenha que reinstalar pouco antes da gravação.
Informações de memória/CPU: Get-VMMemory y Get-VMCPUCount -VM MiVM Elas mostram a configuração atual. Evite gargalos ajustando recursos quando você vê quedas de FPS na captura.
Descoberta Avançada: Get-Command *-VM o Get-Command *-VHD* ajudá-lo a encontrar cmdlets relacionados. Com Where-Object Você pode filtrar por nome/status: Get-Process | Where-Object { $_.ProcessName -Match '^sys.*' }. Use-o para localizar o FFmpeg e pare depois de X minutos.
Melhores práticas: segurança, desempenho e backups
Habilite apenas o necessário no firewall para compartilhamento de arquivos (e desabilite quando terminar), criptografe credenciais e usar contas com privilégios mínimos em seus scripts. Para melhor desempenho, considere usar um disco rápido para a pasta onde você grava os MP4s e limite a taxa de bits do FFmpeg se houver travamentos. Se você usar Xbox Game Bar, aprenda como evitar que a barra de gravação salte em seus vídeos.
Na proteção de dados, para ambientes críticos é aconselhável utilizar soluções de backup no nível do host que criam cópias eficiente, consistente e rápidoExistem ferramentas de terceiros que abrangem o Hyper-V e outros hipervisores (por exemplo, suítes comerciais que oferecem recuperação instantânea ou V2V). A documentação revisada menciona soluções como NAKIVO Backup & Replication ou Vinchin Backup & Recovery como opções de mercado; avalia custos e adequação na sua realidade antes de adotá-los.
Com tudo isso, você pode organizar um fluxo de trabalho robusto: prepare a VM com o PowerShell, mova os binários necessários via SMB/Copy-VMFile/VHDX, conecte-se com o VMConnect (se possível, em Sessão Aprimorada), inicie o FFmpeg do PowerShell para capturar a janela e controle o processo por tempo ou evento; além disso, você salva instantâneos antes de iniciar e exporta a VM se for repetir as gravações. Unificando administração e captura via PowerShell O trabalho se torna repetível, documentável e rápido de executar.
Escritor apaixonado pelo mundo dos bytes e da tecnologia em geral. Adoro compartilhar meu conhecimento por meio da escrita, e é isso que farei neste blog, mostrar a vocês tudo o que há de mais interessante sobre gadgets, software, hardware, tendências tecnológicas e muito mais. Meu objetivo é ajudá-lo a navegar no mundo digital de uma forma simples e divertida.