Table of Contents
In diesem Artikel geht es um die Verwaltung virtueller Hyper-V-Maschinen über die PowerShell-Konsole. Wir sehen uns an, wie Sie virtuelle Switches und virtuelle Maschinen erstellen, VM-Einstellungen ändern und VMs verwalten. Sie können diese Befehle verwenden, um Ihre Hyper-V-VMs manuell zu verwalten, oder in Ihren PowerShell-Skripts, um verschiedene Aufgaben zu automatisieren.
So aktivieren Sie die Hyper-V-Rolle auf Home windows Server und Home windows 10/11
Um die Hyper-V-Rolle zu installieren, muss ein Host über eine SLAT-fähige CPU mit Virtualisierungsunterstützung verfügen. Auf Home windows Server wird der folgende PowerShell-Befehl verwendet, um die Hyper-V-Rolle zu installieren:
Set up-WindowsFeature -Title Hyper-V -IncludeManagementTools -Restart
In Desktop-Editionen (Home windows 10 und 11) wird die Hyper-V-Rolle wie folgt installiert:
Permit-WindowsOptionalFeature -On-line -FeatureName Microsoft-Hyper-V –All
Um einen Hyper-V-Host zu verwalten, muss die Hyper-V PowerShell-Modul muss auf dem Rechner installiert sein. Sie können eine vollständige Liste der verfügbaren Befehle (sie hängen von Ihrer Home windows-Model ab) wie folgt anzeigen:
Get-Command -Module hyper-v
In Home windows Server 2022 sind 245 Cmdlets im Hyper-V-Modul verfügbar.
Verwenden Sie den folgenden Befehl, um eine Liste der Hyper-V-Hosteinstellungen anzuzeigen:
Get-VMHost|fl *
So zeigen Sie nur die Informationen über die Anzahl der verfügbaren CPU-Kerne und RAM an:
Get-VMHost| choose LogicalProcessorCount, MemoryCapacity
Verwenden Sie die Set-VMHost
um die Hyper-V-Hosteinstellungen zu ändern. Der folgende Befehl ändert die Standardpfade zu virtuellen Laufwerken und VM-Konfigurationsdateien:
Set-VMHost -VirtualMachinePath E:VMs -VirtualHardDiskPath E:VMsVHD'
Erstellen Sie mit PowerShell einen virtuellen Hyper-V-Transfer
Erstellen Sie zunächst einen virtuellen Transfer auf Ihrem Hyper-V-Host. Virtuelle Maschinen können nur über einen virtuellen Transfer auf das Netzwerk zugreifen.
Lassen Sie uns eine Liste der verfügbaren physischen Netzwerkadapter auf dem Hyper-V-Host anzeigen:
Get-NetAdapter | the place {$_.standing -eq "up"}
Erstellen Sie einen externen virtuellen Transfer:
New-VMSwitch -Title "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType Exterior
Erstellen Sie eine virtuelle Hyper-V-Maschine mit PowerShell
Um eine neue virtuelle Hyper-V-Maschine zu erstellen, muss die New-VM
Cmdlets verwendet. In diesem Beispiel erstellen wir eine neue VM der Era 2 mit 1 GB RAM und einem 10-GB-VHDX-Datenträger.
$VMName = "mun-prx2"
$VM = @{
Title = $VMName
MemoryStartupBytes = 1Gb
Era = 2
NewVHDPath = "E:HV$VMName$VMName.vhdx"
NewVHDSizeBytes = 10Gb
BootDevice = "VHD"
Trail = "E:HV$VMName"
SwitchName = "ExternalVMSwitch"
}
New-VM @VM
Hier ist ein Beispiel für die Verwendung von PowerShell zum Erstellen einer virtuellen Home windows 11-Maschine auf Hyper-V.
Sehen wir uns die Befehle an, mit denen Sie VM-Einstellungen ändern können.
So erhöhen Sie die RAM-Größe für eine VM:
Get-VM -Title mun-prx2| Set-VMMemory -StartupBytes 2Gb
So ändern Sie die Anzahl der vCPUs:
Set-VMProcessor mun-prx2 -Depend 2
Aktivieren Sie den automatischen Get started für eine virtuelle Hyper-V-Maschine:
Get-VM –VMname mun-prx2 | Set-VM –AutomaticStartAction Get started
Um eine zusätzliche virtuelle Festplatte mit der VM zu verbinden, erstellen Sie zuerst die vhdx-Datei:
New-VHD -Trail 'C:VMnew-prx2-drive.vhdx' -SizeBytes 2GB
Und verbinden Sie es dann mit Ihrer VM:
Upload-VMHardDiskDrive -VMName mun-prx2 -Trail 'C:VMnew-prx2-drive.vhdx'
Wie verwaltet guy Hyper-V-VMs mit PowerShell?
So zeigen Sie eine Liste virtueller Maschinen auf einem Hyper-V-Host an:
Get-VM
Der Befehl gibt die Liste der VMs mit einigen grundlegenden Eigenschaften zurück. Führen Sie den folgenden Befehl aus, um alle VM-Eigenschaften anzuzeigen:
Get-VM -Title mun-dmz1 | fl *
So zeigen Sie nur ausgeführte VMs an:
Get-VM | the place {$_.State -eq 'Working'}
So starten Sie eine virtuelle Maschine:
Get started-VM -Title mun-app01
So starten Sie alle gestoppten virtuellen Maschinen:
Get-VM | the place {$_.State -eq 'Off'} | Get started-VM
Fahren Sie die VM herunter (korrektes Herunterfahren mit Integration Services and products im Gastbetriebssystem):
Forestall-VM -Title mun-app01
Um die VM auszuschalten, muss die Ausschalten Möglichkeit verwendet:
Forestall-VM -Title mun-app01 –TurnOff
Mounten Sie die ISO-Datei auf einem virtuellen CD/DVD-Gerät:
Set-VMDvdDrive -VMName mun-app01 -Trail c:isoWinSrv2022.iso
Verwenden Sie den folgenden Befehl, um alle VM-Dateien spontan auf eine andere Festplatte zu verschieben:
Transfer-VMStorage mun-app01 -DestinationStoragePath D:VMmun-app01
Sie können eine virtuelle Festplattendatei mit erweitern oder verkleinern Resize-VHD
cmdlet:
Resize-VHD -Trail 'C:VMmun-fs01.vhdx' -SizeBytes 50Gb
So erstellen Sie einen Prüfpunkt (Snapshot) einer VM:
Get-VM -Title mun-app01| Checkpoint-VM -SnapshotName "Earlier than upgrading SAP"
So zeigen Sie eine Liste verfügbarer Checkpoints an:
Get-Vm -Title mun-app01| Get-VMCheckpoint
So stellen Sie eine VM von einem Prüfpunkt in ihren vorherigen Zustand wieder her:
Repair-VMCheckpoint -Title "Earlier than upgrading SAP" -VMName mun-app01 -Verify:$false
So entfernen Sie einen Schnappschuss:
Take away-VMCheckpoint -VMName mun-app01 -Title "Earlier than upgrading SAP"
Das Exportieren, Importieren und Klonen einer VM in Hyper-V wird in diesem Artikel beschrieben:
Export-VM -Title mun-app01 -Trail 'C:VHDexport' -CaptureLiveState CaptureCrashConsistentState
So erhalten Sie IP-Adressen des Gastbetriebssystems virtueller Maschinen:
Get-VM | Make a selection -ExpandProperty NetworkAdapters | Make a selection VMName, IPAddresses, Standing
So stellen Sie eine Verbindung zu einer Konsole einer virtuellen Maschine her:
vmconnect.exe localhost mun-app01
Sie können PowerShell Direct verwenden, um über den vmbus (verfügbar in Home windows Server 2016, Home windows 10 und höher) eine direkte Verbindung mit Gastbetriebssystemen virtueller Maschinen herzustellen. Verwenden Sie den Invoke-Command (um Skripts auszuführen) und Input-PSSession (um eine interaktive PowerShell-Sitzung auszuführen):
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Procedure}
Input-PSSession -VMName mun-app01
Um Dateien mit PowerShell Direct von einem Hyper-V-Host auf eine virtuelle Maschine zu kopieren, verwenden Sie den folgenden Befehl:
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Reproduction-Merchandise -ToSession $PSSession -Trail E:ISOinstall_image.iso -Vacation spot D:ISO
Sie können PowerShell verwenden, um virtuelle Maschinen auf Hyper-V-Hosts lokal oder far off (in Home windows Server Complete GUI- oder Server Core-Modi, auf kostenlosem Home windows Hyper-V Server oder Home windows 10) zusammen mit grafischen Gear wie Hyper-V Supervisor oder zu verwalten Home windows Admin Heart.
https://aspiringsysadmin.com/