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

Hyper-V-Modul in Windows PowerShell

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

Finden Sie die verfügbare CPU und den verfügbaren Speicher in Hyper-V heraus

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"}

Wenn Ihr Server unterstützt SR-IOV (Unmarried-Root Enter/Output (I/O)-Virtualisierung), beachten Sie, dass Sie die Possibility beim Erstellen Ihres Schalters aktivieren sollten. Sie können SR-IOV nicht für einen vorhandenen vSwitch aktivieren. Erfahren Sie mehr darüber, wie Sie die SR-IOV-Unterstützung für Hyper-V-VMs aktivieren.

Erstellen Sie einen externen virtuellen Transfer:

New-VMSwitch -Title "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType Exterior

New-VMSwitch – erstellt einen virtuellen Hyper-V-Switch

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

hyper-v vm erstellen powershell

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

hyper-v list vm powershell

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

Verwalten Sie Checkpoints in Hyper-V mit PowerShell

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

VMConnect.exe Stellen Sie eine Verbindung zu einer virtuellen Hyper-V-Maschine her.

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/