Den ultimative guide til automatisering af Hyper-V-opgaver med PowerShell

Sidste ændring: 08/05/2025
Forfatter: Isaac
  • PowerShell Det giver dig mulighed for at automatisere og centralisere Hyper-V-administration, hvilket reducerer fejl og sparer tid.
  • Hyper-V cmdlets spænder fra grundlæggende operationer (støvle, nedlukning, snapshots) til avanceret og fjernadministration.
  • Scripting-integration gør det nemt at tilpasse og køre rutiner, der er skræddersyet til hver virtuel infrastruktur.

Powershell Hyper-V Automation

La virtualisering er blevet den standard til moderne IT-infrastruktur, og Hyper-V fra Microsoft er en af ​​de mest anvendte løsninger af virksomheder i alle størrelser. Men at håndtere ti eller hundredvis af virtuelle maskiner manuelt kan være en gigantisk opgave. Løsningen? De automatisering ved hjælp af PowerShell, det kraftfulde native scripting-miljø for Windows, som giver dig mulighed for at orkestrere, kontrollere og optimere Hyper-V-miljøer på en enkel og effektiv måde.

Når brugen af ​​mestres PowerShell på Hyper-V, en verden af ​​muligheder opdages for spare tid, undgå fejl y multiplicer produktiviteten. Fra oprettelse af virtuelle maskiner på farten til administration af snapshots, ressourceovervågning og fjernadministration – mulighederne er lige så brede som den enkelte IT-chefs behov. Og det bedste af det hele: alt dette kan gøres med blot et par kommandoer eller brugerdefinerede scripts, selv uden direkte adgang til servernes skrivebord.

Hvorfor automatisere Hyper-V med PowerShell?

PowerShell Det er ikke bare en kommandokonsol: det er en kraftfuld automatiseringsramme og administration, der integrerer mere end 160 native cmdlets udelukkende til Hyper-V. Denne mængde specialiserede kommandoer giver dig mulighed for at interagere med alle aspekter af hypervisoren: virtuelle maskiner, switche, diske, migreringer, snapshots, processer opbevaring og meget mere.

Brug af PowerShell til Hyper-V giver fordele såsom:

  • Automatisering af gentagne opgaverPlanlægning og kørsel af scripts, der administrerer hele klynger, sparer timers manuelt arbejde og minimerer menneskelige fejl.
  • Centraliseret fjernstyringDet er muligt at administrere værter og virtuelle maskiner fra enhver computer uden at være afhængig af den grafiske brugerflade.
  • Masseimplementering og -administrationOpret, rediger eller slet virtuelle maskiner i batches med parametre tilpasset til hvert enkelt tilfælde.
  • Integration med eksterne systemerPowerShell-scripts kan oprette forbindelse til systemer backup, overvågning eller opgørelse.

En af de største fordele ved PowerShell er dens fleksibilitet og dens native integration i Windows Server og Windows 10/11. Alle Hyper-V cmdlets kan bruges lokalt eller eksternt og endda kombineres i komplekse scripts til avancerede opgaver.

Introduktion: Krav og miljø

Før vi går i gang med at automatisere opgaver, er det værd at huske på et par vigtige punkter:

  • For at bruge PowerShell med Hyper-V skal du bruge Hyper-V-rolle er aktiveret på den server eller computer, hvorfra den skal administreres.
  • El Hyper-V-modul skal installeres; Dette sker normalt automatisk, når rollen aktiveres, men på klientsystemer kan det installeres med Installer-WindowsFeature RSAT-Hyper-V-Tools.
  • Det anbefales kør PowerShell som administrator for at undgå problemer med tilladelser ved interaktion med virtuelle maskiner.
  • Hvis du skal arbejde eksternt (administrere en anden vært), kan det være nødvendigt at aktivere Remote Desktop og kontroller, at den anvendte konto har rettigheder på Hyper-V på destinationscomputeren.
  Sådan vælger du de bedste lydkodeker: en praktisk og sammenlignende guide

Der er flere muligheder for at åbne PowerShell: fra den grafiske brugerflade ved at skrive “PowerShell” i Start; fra kommandolinjen (cmd.exe); eller brug PowerShell ISE, hvis du leder efter avancerede scripting- og debugging-funktioner.

Opdagelse af Hyper-V cmdlets

En af de første tvivl, når man starter, er, hvordan man ved det hvilke kommandoer er tilgængelige til at administrere Hyper-V. Svaret er i:

Get-Command -Modul hyper-v

Denne kommando returnerer en komplet liste over alle cmdlets, der er indbygget i Hyper-V-modulet. De kan filtreres eller vises i mere håndterbare formater (tabel, liste, pop op-vindue) ved hjælp af Format-Tabel, Format-liste u Out-GridView hhv.

For at se detaljeret hjælp til enhver cmdlet skal du blot:

Get-Help CmdletName

For eksempel, for at få information, syntaks, parametre og eksempler på, hvordan man viser virtuelle maskiner:

Få hjælp Få VM

Glem ikke at opdatere hjælpen ved at køre Opdatering-hjælp at have den nyeste og mest nyttige information.

Grundlæggende administration: liste, start og luk virtuelle maskiner

Når miljøet først er anerkendt, bliver hverdagens handlinger trivielle. Her er nogle af de vigtigste kommandoer til daglig brug:

  • Liste over alle virtuelle maskiner: Get-VM
  • Filtrer efter status: Hent kun dem, der kører eller er slukket:
    • Get-VM | Where-Object {$_.State -eq 'Kører'}
    • Get-VM | Hvor-Objekt {$_.State -eq 'Fra'}
  • Søg efter en specifik VM: Get-VM | Where-Object {$_.Name -eq 'VMName'}

Start og lukning af virtuelle maskiner Den er også meget direkte:

  • Start en VM: Start-VM -Navn 'VMNavn'
  • Stop en VM: Stop-VM-navn 'VM-navn'
  • Start alle slukkede VM'er: Get-VM | Hvor-Objekt {$_.State -eq 'Fra'} | Start-VM
  • Luk alle kørende VM'er ned: Get-VM | Where-Object {$_.State -eq 'Kører'} | Stop-VM

Du kan også automatisere masseoperationer baseret på brugerdefinerede kriterier, f.eks. VM-navn, status eller egenskaber.

Automatiseret oprettelse af virtuelle maskiner i Hyper-V

En af de største tidsbesparelser kommer fra uovervåget oprettelse af VM. PowerShell giver dig mulighed for at justere alle nøgleparametre: navn, hukommelse, generation, disk, placering, netværksswitch osv.

Simpelt eksempel på oprettelse af en VM af generation 2 med en virtuel harddisk på 50 GB tildelt en bestemt switch:

  Kan Roku bruges uden Wi-Fi? Find ud af, hvordan du gør det

Ny-VM -Navn «DemoVM» -MemoryStartupBytes 2GB -Generation 2 -NewVHDPath «C:\Virtual Machines\DemoVM\DemoVM.vhdx» -NewVHDSizeBytes 53687091200 -SwitchName «Eksternt netværk»

Yderligere diske, controllere, DVD-drev kan tilføjes, eller opstart fra ISO kan konfigureres omfattende.

Sådan opretter du en virtuel switch ved hjælp af PowerShell:

Ny-VMSwitch -Navn “MySwitch” -NetAdapterName “Ethernet”

Tilpasning kan skaleres til at oprette scripts, der implementerer snesevis af VM'er med variationer i navn, lagerplads, netværk osv.

hyper-v
relateret artikel:
Komplet guide til import og eksport af virtuelle maskiner i Hyper-V

Øjebliksbilleder og kontrolpunkter: Avanceret administration med PowerShell

masse kontrolpunkter (øjebliksbilleder) giver dig mulighed for at registrere den nøjagtige tilstand af en VM på et givet tidspunkt. PowerShell gør det nemt ikke kun at oprette dem, men også at administrere dem fuldstændigt: navngive, gendanne, eksportere og slette.

  • Opret standardkontrolpunkt: Checkpoint-VM - Navn 'DemoVM'
  • Opret checkpoint med brugerdefineret navn: Checkpoint-VM -Navn 'DemoVM' -SnapshotName «FørOpdatering»
  • Liste over kontrolpunkter for en VM: Get-VMCheckpoint -VMName 'DemoVM'
  • Gendan et kontrolpunkt: Gendan-VMCheckpoint -Navn 'DemoVM – Test' -VMNavn 'DemoVM' -Bekræft:$false
  • Omdøb et kontrolpunkt: Omdøb-VMCheckpoint -VMName 'DemoVM' -Name 'GammeltNavn' -NytNavn 'NytNavn'
  • Slet et øjebliksbillede: Fjern-VMCheckpoint -VMName 'DemoVM' -Name 'SnapshotForældet'

Der tre typer kontrolpunkter:

  • Standard: indfang RAM og disktilstand; nyttigt, men kan påvirke konsistensen af ​​nogle tjenester.
  • ProduktionBruger Volume Shadow Copy Service (VSS), ideel til produktionsmiljøer.
  • Kun produktion: samme som Produktion, men hvis den fejler, falder den ikke tilbage til Standard.

Konfigurationen af ​​kontrolpunktstypen pr. VM udføres med:

Set-VM -Navn 'DemoVM' -CheckpointType Produktion

Det anbefales at validere og rense kontrolpunkter med jævne mellemrum for at undgå ophobning og potentielle ydeevneproblemer.

clone vm virtualbox
relateret artikel:
Sådan konverteres virtuelle diske mellem formater med VBoxManage og andre værktøjer

Avancerede operationer: migreringer, sikkerhedskopier og eksport

La live-migration med Hyper-V er en af ​​dens mest kraftfulde funktioner: du kan flytte VM'er mellem værter uden at stoppe dem. Til dette er PowerShell nøglen:

Flyt-VM -Navn 'DemoVM' -DestinationHost 'DestinationHost'

Indstillinger som lagring, destinationsruter eller allokerede ressourcer kan justeres.

  Windows-sikkerhedsrevision ved hjælp af auditpol og wevtutil

til eksporter en VM komplet med dens konfiguration og diske, er den mest effektive:

Eksportér VM 'DemoVM' -Sti «F:\Backups» -CopyState

Kontrolpunkter kan også eksporteres individuelt for at lette opgaverne disaster recovery:

Eksportér-VMCheckpoint -VMName 'DemoVM' -Navn 'Føropdatering' -Sti 'F:\Snapshots'

Den aktuelle tilstand af enhver VM kan gemmes med:

Gem-VM 'DemoVM'

Administration af netværks-, lager- og VM-ressourcer

PowerShell er lige så effektiv til at overvåge og ændre netværks- og lagerkomponenter:

  • Virtuelle netværksadaptere: Get-VMNetworkAdapter -VMName 'DemoVM'
  • Opret VHDX-diske og tilslut dem: Ny-VHD -Sti 'C:\VMs\DiscoExtra.vhdx' -SizeBytes 60GB -Rettet
  • Tilføj-VMHardDiskDrive -VMName 'DemoVM' -Path 'C:\VMs\DiscoExtra.vhdx'

Kontrol af status og tilstand af virtuelle diske udføres med:

Test-VHD - Sti 'C:\VMs\DiscoExtra.vhdx'

Derudover kan VM-ressourcer overvåges for at identificere flaskehalse:

  • CPU-, RAM-, disk- og netværksforbrug: Mål-VM -VMName 'DemoVM'
  • Aktivér ressourcemåling: Aktiver-VMResourceMetering -VMName 'DemoVM'

Det er nemt at styre hukommelses- og CPU-indstillinger:

  • Get-VMMemory -VMName 'DemoVM'
  • Get-VMCPUCount -VMName 'DemoVM'
hyper-v
relateret artikel:
Hvad er Hyper-V Live Migration: En komplet og praktisk guide til at forstå det hele

Fjernadministration og PowerShell Direct

En af de mest bemærkelsesværdige nylige fremskridt er PowerShell Direct, som giver dig mulighed for at køre kommandoer på virtuelle maskiner fra værten, selv uden et netværk eller forudgående kommunikationskonfiguration. Ideel til begrænsede miljøer eller katastrofeberedskab.

Sådan åbner du en direkte session:

Enter-PSSession-VMName 'DemoVM'

Komplekse scripts kan også startes på den virtuelle maskine med:

Invoke-Command -VMName 'DemoVM' -ScriptBlock { Get-Service }

Filoverførsel lettes af vedvarende sessioner:

$Session = New-PSSession -VMName 'DemoVM' -Credential (Get-Credential)

Kopiér-element -ToSession $Session -Sti 'C:\installer.exe' -Destination 'C:\temp'

PowerShell Direct Den er tilgængelig fra Windows Server 2016 og Windows 10, så længe VM'en er på den samme vært.