Hvis du arbejder med virtualisering i Windows, vil du før eller siden ende med at automatisere opgaver. PowerShell og Hyper-V passer perfekt sammenFra at starte eller lukke VM'er til at eksportere dem, måle ressourcer eller oprette virtuelle netværk, kan alt orkestreres uden at åbne den grafiske konsol.
I de følgende linjer gennemgår vi, med eksempler og god praksis, Sådan administrerer du Hyper-V grundigt med PowerShellDu lærer vigtige kommandoer, oprettelse og konfiguration af VM, eksport og import, massefiltrering, metrikker, netværk og lagring, samt nyttige scripts til at rapportere om din platforms status og backupmuligheder, så du kan sove trygt.
Hvad er PowerShell, og hvorfor skal man bruge det med Hyper-V?
PowerShell er Microsofts .NET-baserede scripting- og automatiseringsframework. Kombinerer en kommandofortolker med et scriptsprog meget kraftfuld, ideel til administration på Windows, macOS og Linux.
Dens kommandoer (cmdlets) giver dig mulighed for at kæde handlinger sammen og oprette genanvendelige scripts. Microsoft leverer hundredvis af basis-cmdlets Og med Hyper-V-modulet har du alt, hvad du behøver for at administrere værter, VM'er, netværk og lagerplads fra konsollen.

Sådan åbner og bruger du PowerShell på Hyper-V-værter
Hvis værten har en GUI, skal du åbne Start-menuen, søge efter PowerShell og køre "Udfør som administrator"På Server Core- eller Hyper-V Server-installationer skal du skrive PowerShell ved kommandoprompten for at starte PS-sessionen.
For fjernadgang med Fjernskrivebord på Server Core, brug sconfig (mulighed 7), og hvis du har brug for at vende tilbage til konsollen, fører mulighed 15 dig tilbage til cmd.exe. Husk at aktivere RDP på den vært, du vil oprette forbindelse til.
Fjernadministration uden RDP er endnu mere bekvemt: installer værktøjerne på din station med Installer-WindowsFeature RSAT-Hyper-V-Tools og tilføjer -ComputerName til cmdlets (Get-VM, Start-VM osv.) for at fungere på målværten. Du vil administrere flere værter uden at hoppe mellem fjernskriveborde.
Essentielle Hyper-V cmdlets med eksempler
Når du ikke kan huske en kommando eller dens syntaks, kan du hente den fra kataloget. Hent-kommando liste tilgængelige cmdlets, funktioner og aliasser, og du kan filtrere efter mønster:
Get-Command -Module Hyper-V
Get-Command *-VM
Get-Command *-VHD*
For hjælp, eksempler og parametre, Get-Help præciserer syntaksen og viser endda praktiske eksempler:
Get-Help Get-VM
VM-inventar og livscyklus
For at se VM'er på den lokale eller eksterne vært, Get-VM er det første skridt:
Get-VM
Get-VM -ComputerName Server1
Start bestemte VM'er eller batches. Du kan bruge jokertegn i navnet:
Start-VM -Name 'Windows Server 2016'
Start-VM -Name 'Hyper-V*'
Luk korrekt ned (eller tving ned, hvis den ikke reagerer). Stop-VM understøtter -TurnOff og -Force for ekstreme tilfælde, og Gem-VM sætter tilstanden i dvale:
Stop-VM -Name 'Windows Server 2016'
Stop-VM -Name 'Hyper-V*' -TurnOff
Stop-VM -Name 'Windows Server 2016' -Force
Save-VM -Name 'Windows Server 2016'
Get-VM -Name 'Hyper-V*' | Save-VM
For en elegant nedlukning fra gæste-OS, Invoke-VMShutdown Det er ideelt, når integration tillader det:
Invoke-VMShutdown -VMName 'testvps' -Force
Kontrolpunkter (øjebliksbilleder)
Kontrolpunkter er guld værd før sarte ændringer. Checkpoint-VM opretter checkpointet y Get-VMSnapshot tjek det:
Checkpoint-VM -Name 'Windows Server 2016' -SnapshotName 'Update1'
Get-VMSnapshot -VMName 'Windows Server 2016'
For at rense snapshots efter mønster, kæde med rør. Fjern-VMSnapshot sletter alt, hvad du angiver:
Get-VM 'Hyper-V Server 2012' | Remove-VMSnapshot -Name 'Testing*'
Virtuelle diske (VHD/VHDX)
Kontroller stier og filtilstand. Test-VHD bekræfter eksistensen og gyldigheden af fra VHD'en:
Test-VHD -Path 'C:\Testing.vhd'
Når du skal oprette eller vedhæfte, skal du kombinere Ny VHD y Tilføj VMHardDiskDrive for at automatisere oprettelse/vedhæftning. Fast størrelse er god praksis i ydelsesfølsomme belastninger:
New-VHD -Path 'D:\hyper-v\virtual hard disks\wstest.vhdx' -SizeBytes 60GB -Fixed
Add-VMHardDiskDrive -VMName 'WSTEST' -Path 'D:\hyper-v\virtual hard disks\wstest.vhdx'
Målinger og netværk
Aktivér ressourcemåling og gennemgå forbrug pr. VM. Aktiver-VMResourceMetering + Mål-VM De giver dig CPU, RAM, disk og netværk:
Enable-VMResourceMetering -VMName 'Windows Server 2016'
Measure-VM -VMName 'Windows Server 2016'
For at vise virtuelle adaptere skal du inkludere administration. Get-VMNetworkAdapter dækker VM'er og selve værten med -All:
Get-VMNetworkAdapter -All
Konfigurationsversion, processer og filtrering
Efter opgradering af værten skal du opgradere VM-versionen, hvis det er relevant. Opdatering-VMVersion gør det sikkert:
Update-VMVersion -Name 'TestVM'
For at diagnosticere flaskehalse skal du bruge proces-cmdlets. Hent-proces, Stop-proces, Start-proces, Vent-proces y Fejlfindingsproces De giver dig kontrol:
Get-Process -Id 8892
Get-Process WINWORD | Format-List *
Start-Process -FilePath 'notepad.exe'
Start-Process -FilePath 'powershell' -Verb RunAs
Stop-Process -Name 'notepad'
Stop-Process -Id 5052
Where-Object filtrerer enhver samling. Brug det med tjenester, cmdlets eller processer for at holde det relevante:
Get-Service | Where-Object {$_.Status -eq 'Stopped'}
Get-Command | Where-Object {$_.Name -like '*wait*'}
Get-Process | Where-Object {$_.ProcessName -Match '^sys.*'}
Opret og konfigurer VM'er med PowerShell
Oprettelse af en VM fra 2. generation med en ny VHDX og et tildelt netværk kræver én kommando. New-VM giver dig mulighed for at definere hukommelse, disk, sti og switch i et enkelt trin:
New-VM -Name 'WSTEST' -MemoryStartupBytes 2GB -Generation 2 \
-NewVHDPath 'D:\hyper-v\virtual hard disks\WSTEST.vhdx' \
-NewVHDSizeBytes 60GB -SwitchName 'ExternalSwitch'
Hvis du har brug for en virtuel DVD til at boote fra ISO, skal du tilføje en controller og et drev. Husk at afstemme controllernummer og placering. til dit design:
Add-VMSCSIController -VMName 'WSTEST'
Add-VMDvdDrive -VMName 'WSTEST' -ControllerNumber 1 -ControllerLocation 0 -Path 'D:\ISO\my.iso'
Du kan også forberede faste diske og fastgøre dem. Faste VHDX'er reducerer fragmentering og latenstid i krævende I/O:
New-VHD -Path 'D:\hyper-v\virtual hard disks\wstest.vhdx' -SizeBytes 60GB -Fixed
Add-VMHardDiskDrive -VMName 'WSTEST' -Path 'D:\hyper-v\virtual hard disks\wstest.vhdx'
For scenarier med eksisterende VHD skal du angive -VHDPath og hvis du bruger fjernadministration, tilføj -ComputerName. Egenskaben -BootDevice giver dig mulighed for at vælge mellem VHD, ISO eller netværksstart:
New-VM -ComputerName 'Server1' -Name 'VM1' -MemoryStartupBytes 4GB \
-BootDevice VHD -VHDPath '.\VMs\Win10.vhdx' -Path '.\VMData' \
-Generation 2 -SwitchName 'ExternalSwitch'
Et splatting-eksempel i PowerShell ISE for at gøre det rent og gentageligt. Den er ideel til skabeloner af skabelsen:
$VMName = 'VMNAME'
$VM = @{
Name = $VMName
MemoryStartupBytes = 2147483648
Generation = 2
NewVHDPath = "C:\\Virtual Machines\\$VMName\\$VMName.vhdx"
NewVHDSizeBytes = 53687091200
BootDevice = 'VHD'
Path = "C:\\Virtual Machines\\$VMName"
SwitchName = (Get-VMSwitch).Name
}
New-VM @VM
Avanceret administration: bevægelser, import og eksport
For at flytte en VM mellem værter, Flyt VM understøtter overførsel med eller uden lagring, og fungerer fint, når kilden er på SMB:
Move-VM -ComputerName 'Server1' -Name 'VM1' -DestinationHost 'Server2'
Move-VM -ComputerName 'Server1' -Name 'VM1' -DestinationHost 'Server2' \
-IncludeStorage -DestinationStoragePath 'D:\VM_name'
Eksport opretter en fuld kopi (indstillinger, VHD'er og snapshots). Export-VM bruges til arkivering, testning eller ad hoc-migreringer.:
Export-VM -ComputerName 'Server1' -Name 'VM1' -Path 'D:\'
Get-VM | Export-VM -Path 'C:\'
Import har tre metoder: Registrer dig på stedet (samme filer og ID), genoprette (kopiér til ny rute med ID) og kopi (kopiér med nyt ID). Vælg baseret på ID-kollision og mål:
# Registrar in situ (elimina antes la VM original con el mismo ID)
Get-VM 'DemoVM' | Remove-VM
Import-VM -Path 'C:\\Virtual Hard Disks\\Exported VMs\\DemoVM\\Virtual Machines\\{GUID}.vmcx'
# Restaurar a nuevas rutas, conservando ID
Import-VM -Path 'C:\\Virtual Hard Disks\\Exported VMs\\Hyper-V Server 2012\\Virtual Machines\\{GUID}.vmcx' \
-Copy -VhdDestinationPath 'C:\\Program Files\\Imported VMs\\VHD Files' \
-VirtualMachinePath 'C:\\Program Files\\Imported VMs\\VM Files'
# Copiar con nuevo ID (importable varias veces en el mismo host)
Import-VM -Path 'C:\\Virtual Hard Disks\\Exported VMs\\DemoVM\\Virtual Machines\\{GUID}.vmcx' \
-Copy -GenerateNewId
Hvis du arbejder med Azure Local (Windows Server 2019/2022 og versioner som 2311.2 og fremefter), fjernadministration med -ComputerName Det er normen: lagerstyring, start/stop, kontrolpunkter, import/eksport og bevægelser udføres på samme måde fra dit administrationsteam.
Netværk, lagerplads og ressourcer: hukommelse og CPU
Opret switche til at isolere eller forbinde VM'er til LAN'et. Ny VMSwitch understøtter båndbreddetilstande og QoS:
New-VMSwitch 'QoS Switch' -NetAdapterName 'Wired Ethernet Connection 3' -MinimumBandwidthMode Weight
Tilføj virtuelle NIC'er til VM'er, og tilslut dem til den tilsvarende switch. Tilføj-VMNetworkAdapter er din allierede for VM-netværk:
Add-VMNetworkAdapter -ComputerName 'Server1' -VMName 'VM1' -Name 'Redmond NIC1'
Add-VMNetworkAdapter -ComputerName 'Server1' -VMName 'VM1' -SwitchName 'Network'
Dynamisk hukommelse optimerer tætheden uden at miste kontrollen. Set-VMMemory juster minimum, start, maksimum, prioritet og buffer:
Set-VMMemory -ComputerName 'Server1' -Name 'VM1' -DynamicMemoryEnabled $true \
-MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25
Alloker vCPU med grænser og reservationer. Set-VMProcessor definerer antal, reserve, maksimal og relativ vægt pr. VM:
Set-VMProcessor -ComputerName 'Server1' -Name 'VM1' -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
For at generere nye diske, Ny VHD dækker dynamiske eller faste scenarier i VHD/VHDX. Kombinér det med Add-VMHardDiskDrive for at tilknytte dem til den ønskede VM.
Masseoperationer og filtrering
Det er meget praktisk at se Hyper-V-modulkommandoer i et interaktivt gitter. Out-GridView hjælper dig med at inspicere tilgængelige parametre:
Get-Command -Module Hyper-V | Out-GridView
Filtrer efter status for lagerbeholdning. Hvor-Objekt giver dig et hurtigt overblik over kørende eller lukkede VM'er:
Get-VM | Where-Object {$_.State -eq 'Running'}
Get-VM | Where-Object {$_.State -eq 'Off'}
Start alle slukkede VM'er, eller stop kørsel af dem ved hjælp af pipelining. Den er ideel til planlagte opgaver:
Get-VM | Where-Object {$_.State -eq 'Off'} | Start-VM
Get-VM | Where-Object {$_.State -eq 'Running'} | Stop-VM
Omdøbning og rensning er også ligetil. Omdøb VM og fjern VM hjælpe dig med ommærkning og fjernelse (husk, at Remove-VM ikke sletter VHD'er):
Rename-VM -ComputerName 'Server1' -Name 'VM1' -NewName 'VM2'
Get-VM -Name 'VM2'
Remove-VM -Name 'VM2'
Fjern hele grupper i klyngen, når du berører dem. Fjern-klyngegruppe - Fjern ressourcer Ryd op i den virtuelle maskine og dens klyngeressourcer:
Get-ClusterGroup
Remove-ClusterGroup -RemoveResources -Name 'VM1'
Overvågning og backup: Scripts og værktøjer
For at revidere Hyper-V-sundhed med HTML-rapporter, Serhat Akincis script genererer en komplet rapport om miljøet og kan sendes via e-mail. Download den og se et eksempel på output:
Download link · Eksempelrapport
Hvis du bruger Hyper-V Replica, Sangeeth-scriptet overvåger replikeringsstatus på enkelte noder eller klynger og leverer en distribuerbar HTML-rapport:
Download replikeringssundhedsmailer
Hvad angår databeskyttelse, findes der løsninger designet til VM, f.eks. NAKIVO Backup & Replikering (VMware, Hyper-V, Nutanix, AWS EC2, Linux, Windows og Microsoft 365) og Winchin Backup & Recovery (Proxmox, VMware, Hyper-V, XenServer, XCP-ng, oVirt, RHV…). De tilbyder Agentløs kopiering, øjeblikkelig gendannelse og V2V-migreringog fremme centraliserede politikker og programmering for at minimere risici.
Husk at Export-VM og Import-VM fungerer som et ad hoc-alternativ til arkivering, testning og simpel gendannelse, men De erstatter ikke en omfattende backup med deduplikering, kryptering og komprimering.Eksport kræver mere manuel indgriben og skalerer mindre godt i store miljøer.
Du har nu en praktisk guide til at implementere Hyper-V i din konsol: Opdag cmdlets, opret og flyt VM'er, mål ressourcer, finjuster netværk og lager, massefiltrer og rapporter tilstand.PowerShell-økosystemet giver dig hastighed og præcision; når du kombinerer dette med gode backuppolitikker og overvågningsscripts, får du en robust platform, der er klar til vækst.