在 PowerShell 中,Hyper-V 命令模块提供了一系列用于管理和配置 Hyper-V 环境的命令。这些命令允许用户创建、管理虚拟机、虚拟交换机、虚拟硬盘、快照等。 在 PowerShell 中对 Hyper-V 进行调优时,通常涉及优化虚拟机性能、资源分配、网络设置、存储管理等方面。下面是按功能分类的 Hyper-V 调优命令,以表格形式展示:

使用 Hyper-V 和 Windows PowerShell | Microsoft Learn

使用 PowerShell Direct 管理 Windows 虚拟机 | Microsoft Learn

使用检查点 | Microsoft Learn

与 Windows 虚拟机共享设备 | Microsoft Learn

Hyper-V Module | Microsoft Learn

在 PowerShell 中,Hyper-V 命令模块提供了一系列用于管理和配置 Hyper-V 环境的命令。这些命令允许用户创建、管理虚拟机、虚拟交换机、虚拟硬盘、快照等。以下是 PowerShell 中常见的 Hyper-V 命令,按功能分类并以表格的形式呈现:

功能类别 命令 功能描述 命令示例
虚拟机管理 New-VM 创建新的虚拟机 New-VM -Name "VM1" -MemoryStartupBytes 2GB -Generation 2
  Get-VM 获取虚拟机的信息 Get-VM
  Set-VM 修改虚拟机的配置 Set-VM -Name "VM1" -ProcessorCount 4
  Start-VM 启动虚拟机 Start-VM -Name "VM1"
  Stop-VM 停止虚拟机 Stop-VM -Name "VM1"
  Pause-VM 暂停虚拟机 Pause-VM -Name "VM1"
  Resume-VM 恢复虚拟机 Resume-VM -Name "VM1"
  Remove-VM 删除虚拟机 Remove-VM -Name "VM1" -Force
  Export-VM 导出虚拟机 Export-VM -Name "VM1" -Path "C:\Export"
  Import-VM 导入虚拟机 Import-VM -Path "C:\Export\VM1"
虚拟硬盘管理 New-VHD 创建新的虚拟硬盘 New-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 50GB
  Get-VHD 获取虚拟硬盘的信息 Get-VHD -Path "C:\VMs\VM1.vhdx"
  Set-VHD 修改虚拟硬盘的属性 Set-VHD -Path "C:\VMs\VM1.vhdx" -IsFixedSize $true
  Resize-VHD 调整虚拟硬盘的大小 Resize-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 100GB
  Mount-VHD 挂载虚拟硬盘 Mount-VHD -Path "C:\VMs\VM1.vhdx"
  Dismount-VHD 卸载虚拟硬盘 Dismount-VHD -Path "C:\VMs\VM1.vhdx"
  Optimize-VHD 优化虚拟硬盘 Optimize-VHD -Path "C:\VMs\VM1.vhdx"
虚拟交换机管理 New-VMSwitch 创建新的虚拟交换机 New-VMSwitch -Name "VirtualSwitch" -SwitchType External
  Get-VMSwitch 获取虚拟交换机的信息 Get-VMSwitch
  Set-VMSwitch 修改虚拟交换机的设置 Set-VMSwitch -Name "VirtualSwitch" -AllowManagementOS $true
  Remove-VMSwitch 删除虚拟交换机 Remove-VMSwitch -Name "VirtualSwitch"
  Connect-VMNetworkAdapter 连接虚拟机网络适配器到虚拟交换机 Connect-VMNetworkAdapter -VMName "VM1" -SwitchName "VirtualSwitch"
  Disconnect-VMNetworkAdapter 断开虚拟机网络适配器与虚拟交换机的连接 Disconnect-VMNetworkAdapter -VMName "VM1" -SwitchName "VirtualSwitch"
快照和检查点管理 Checkpoint-VM 创建虚拟机的检查点(快照) Checkpoint-VM -Name "VM1" -SnapshotName "Checkpoint1"
  Get-VMCheckpoint 获取虚拟机的检查点信息 Get-VMCheckpoint -VMName "VM1"
  Remove-VMCheckpoint 删除虚拟机的检查点 Remove-VMCheckpoint -VMName "VM1" -Name "Checkpoint1"
  Restore-VMCheckpoint 恢复虚拟机到指定的检查点 Restore-VMCheckpoint -VMName "VM1" -Name "Checkpoint1"
虚拟机性能管理 Get-VMProcessor 获取虚拟机的处理器性能信息 Get-VMProcessor -VMName "VM1"
  Set-VMProcessor 修改虚拟机的处理器配置 Set-VMProcessor -VMName "VM1" -Count 4
  Get-VMMemory 获取虚拟机的内存配置 Get-VMMemory -VMName "VM1"
  Set-VMMemory 修改虚拟机的内存配置 Set-VMMemory -VMName "VM1" -StartupBytes 4GB
虚拟机磁盘控制 Get-VMHardDiskDrive 获取虚拟机的硬盘驱动信息 Get-VMHardDiskDrive -VMName "VM1"
  Add-VMHardDiskDrive 向虚拟机添加硬盘驱动 Add-VMHardDiskDrive -VMName "VM1" -Path "C:\VMs\VM2.vhdx"
  Remove-VMHardDiskDrive 从虚拟机删除硬盘驱动 Remove-VMHardDiskDrive -VMName "VM1" -ControllerLocation 0 -ControllerNumber 0
虚拟机网络适配器管理 Get-VMNetworkAdapter 获取虚拟机的网络适配器信息 Get-VMNetworkAdapter -VMName "VM1"
  Add-VMNetworkAdapter 向虚拟机添加网络适配器 Add-VMNetworkAdapter -VMName "VM1" -SwitchName "VirtualSwitch"
  Remove-VMNetworkAdapter 从虚拟机移除网络适配器 Remove-VMNetworkAdapter -VMName "VM1" -Name "Ethernet 1"
  Set-VMNetworkAdapter 修改虚拟机网络适配器的配置 Set-VMNetworkAdapter -VMName "VM1" -Name "Ethernet 1" -StaticMacAddress "00-15-5D-43-01-02"
虚拟机集群管理 New-VMGroup 创建新的虚拟机组 New-VMGroup -Name "Group1" -VM "VM1", "VM2"
  Add-VMToGroup 将虚拟机添加到虚拟机组 Add-VMToGroup -VMGroup "Group1" -VMName "VM1"
  Remove-VMFromGroup 从虚拟机组中移除虚拟机 Remove-VMFromGroup -VMGroup "Group1" -VMName "VM1"

 

PowerShell 中的 Hyper-V 命令集覆盖了虚拟机、虚拟硬盘、虚拟交换机、快照等管理功能。通过这些命令,管理员可以方便地创建、配置、管理虚拟机和相关资源,以及进行性能调优和资源分配。理解这些命令的使用能够帮助系统管理员高效地管理虚拟化环境。


在 PowerShell 中,可以使用一系列命令来挂载、分离、创建和格式化虚拟硬盘(VHD)。以下是相关命令按功能分类和示例代码的表格化总结:

功能类别 命令 功能描述 命令示例
挂载 VHD Mount-VHD 挂载虚拟硬盘(VHD)。 Mount-VHD -Path "C:\VMs\VM1.vhdx"
卸载 VHD Dismount-VHD 卸载虚拟硬盘(VHD)。 Dismount-VHD -Path "C:\VMs\VM1.vhdx"
创建 VHD New-VHD 创建新的虚拟硬盘(VHD)。 New-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 50GB -Fixed
      New-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 50GB -Dynamic
格式化 VHD Format-Volume 格式化挂载的虚拟硬盘(VHD)。 Format-Volume -DriveLetter "E" -FileSystem NTFS -NewFileSystemLabel "VM1_Drive" -Confirm:$false
检查 VHD 信息 Get-VHD 获取虚拟硬盘(VHD)的相关信息。 Get-VHD -Path "C:\VMs\VM1.vhdx"
调整 VHD 大小 Resize-VHD 调整虚拟硬盘(VHD)的大小。 Resize-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 100GB
转换 VHD 类型 Convert-VHD 将虚拟硬盘(VHD)从动态磁盘转换为固定磁盘,或反之。 Convert-VHD -Path "C:\VMs\VM1.vhdx" -DestinationPath "C:\VMs\VM1_Converted.vhdx" -VHDType Fixed

详细功能描述

  1. 挂载 VHD

    • Mount-VHD 命令将虚拟硬盘(VHD)挂载为物理磁盘,并使其在系统中可访问。挂载后,可以对虚拟硬盘执行读写操作。
  2. 卸载 VHD

    • Dismount-VHD 命令用于卸载已挂载的虚拟硬盘。当不再需要访问该硬盘时,可以使用该命令将其从系统中分离。
  3. 创建 VHD

    • New-VHD 命令用于创建新的虚拟硬盘,可以选择创建动态扩展或固定大小的硬盘。动态硬盘会根据实际使用的空间增长,而固定硬盘在创建时就会占用指定的大小。
  4. 格式化 VHD

    • Format-Volume 命令用于格式化挂载的虚拟硬盘。格式化后,您可以选择文件系统类型(如 NTFS、ReFS 等),并设置磁盘标签。
  5. 检查 VHD 信息

    • Get-VHD 命令用于获取虚拟硬盘的详细信息,如类型(动态或固定)、大小、路径等。
  6. 调整 VHD 大小

    • Resize-VHD 命令用于扩展或缩小虚拟硬盘的大小。这个命令特别有用,当虚拟硬盘空间不足时,可以使用它来增加磁盘空间。
  7. 转换 VHD 类型

    • Convert-VHD 命令用于将虚拟硬盘从一种类型转换为另一种类型,例如将动态磁盘转换为固定磁盘,或者将固定磁盘转换为动态磁盘。

注意事项

  • 挂载和格式化 VHD 时,要确保该硬盘没有在虚拟机中使用,或者在操作系统中有合适的挂载点。
  • 格式化磁盘时,要小心数据丢失,确保先备份数据。
  • 调整 VHD 大小时,虚拟硬盘内的数据可能会受到影响,因此最好在操作前进行完整备份。

在 PowerShell 中,Hyper-V 管理命令集包含了多个用于虚拟化管理的 cmdlet。以下是按功能分类的 PowerShell Hyper-V 管理命令总结,表格化展示:

功能类别 命令 功能描述 命令示例
虚拟机管理 New-VM 创建新的虚拟机 New-VM -Name "VM1" -MemoryStartupBytes 4GB -VHDPath "C:\VMs\VM1.vhdx"
  Get-VM 获取虚拟机的状态、配置及其他信息 Get-VM -Name "VM1"
  Set-VM 修改虚拟机的配置,例如内存、处理器数量等 Set-VM -Name "VM1" -MemoryStartupBytes 8GB
  Start-VM 启动虚拟机 Start-VM -Name "VM1"
  Stop-VM 关闭虚拟机(可以选择强制关闭) Stop-VM -Name "VM1"
  Restart-VM 重启虚拟机 Restart-VM -Name "VM1"
  Export-VM 导出虚拟机到指定路径 Export-VM -Name "VM1" -Path "C:\VMs\Export"
  Import-VM 导入虚拟机 Import-VM -Path "C:\VMs\Export\VM1"
虚拟机快照 Checkpoint-VM 创建虚拟机的检查点(快照) Checkpoint-VM -Name "VM1"
  Get-VMCheckpoint 获取虚拟机的检查点(快照) Get-VMCheckpoint -VMName "VM1"
  Restore-VMCheckpoint 恢复虚拟机到某个检查点(快照) Restore-VMCheckpoint -VMName "VM1" -Name "Snapshot1"
  Remove-VMCheckpoint 删除虚拟机的检查点(快照) Remove-VMCheckpoint -VMName "VM1" -Name "Snapshot1"
虚拟硬盘管理 New-VHD 创建虚拟硬盘(VHD/VHDX) New-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 50GB -Fixed
  Get-VHD 获取虚拟硬盘的相关信息 Get-VHD -Path "C:\VMs\VM1.vhdx"
  Resize-VHD 调整虚拟硬盘的大小 Resize-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 100GB
  Convert-VHD 转换虚拟硬盘类型(例如从 VHD 转换为 VHDX) Convert-VHD -Path "C:\VMs\VM1.vhd" -DestinationPath "C:\VMs\VM1.vhdx"
  Mount-VHD 挂载虚拟硬盘(VHD/VHDX) Mount-VHD -Path "C:\VMs\VM1.vhdx"
虚拟交换机管理 New-VMSwitch 创建新的虚拟交换机 New-VMSwitch -Name "VirtualSwitch1" -SwitchType External
  Get-VMSwitch 获取虚拟交换机的信息 Get-VMSwitch -Name "VirtualSwitch1"
  Set-VMSwitch 修改虚拟交换机的设置 Set-VMSwitch -Name "VirtualSwitch1" -AllowManagementOS $True
  Remove-VMSwitch 删除虚拟交换机 Remove-VMSwitch -Name "VirtualSwitch1"
虚拟机网络适配器管理 Add-VMNetworkAdapter 为虚拟机添加网络适配器 Add-VMNetworkAdapter -VMName "VM1" -SwitchName "VirtualSwitch1"
  Get-VMNetworkAdapter 获取虚拟机网络适配器的配置 Get-VMNetworkAdapter -VMName "VM1"
  Set-VMNetworkAdapter 修改虚拟机网络适配器的设置 Set-VMNetworkAdapter -VMName "VM1" -Name "Ethernet" -StaticMacAddress "00-15-5D-00-00-01"
  Remove-VMNetworkAdapter 移除虚拟机网络适配器 Remove-VMNetworkAdapter -VMName "VM1" -Name "Ethernet"
虚拟机存储管理 Add-VMHardDiskDrive 为虚拟机添加硬盘驱动器 Add-VMHardDiskDrive -VMName "VM1" -Path "C:\VMs\VM1.vhdx"
  Remove-VMHardDiskDrive 从虚拟机中移除硬盘驱动器 Remove-VMHardDiskDrive -VMName "VM1" -ControllerType IDE
虚拟机快照管理 Checkpoint-VM 创建虚拟机的快照 Checkpoint-VM -VMName "VM1"
  Get-VMCheckpoint 获取虚拟机的快照 Get-VMCheckpoint -VMName "VM1"
  Restore-VMCheckpoint 恢复虚拟机到特定的快照 Restore-VMCheckpoint -VMName "VM1" -Name "Snapshot1"
Hyper-V 集群管理 Get-Cluster 获取集群相关信息 Get-Cluster
  Add-ClusterNode 向集群添加新节点 Add-ClusterNode -Name "Node2"
  Remove-ClusterNode 从集群中移除节点 Remove-ClusterNode -Name "Node2"
  Get-ClusterResource 获取集群资源信息 Get-ClusterResource -Cluster "Cluster1"
虚拟机资源分配 Set-VMProcessor 设置虚拟机的处理器配置 Set-VMProcessor -VMName "VM1" -Count 2
  Set-VMMemory 设置虚拟机的内存配置 Set-VMMemory -VMName "VM1" -StartupBytes 4GB
虚拟机迁移 Move-VM 将虚拟机迁移到另一个主机或存储位置 Move-VM -Name "VM1" -DestinationHost "Host2"
  Copy-VM 复制虚拟机到另一台计算机或存储位置 Copy-VM -Name "VM1" -DestinationPath "C:\VMs\VM1_Copy"

详细功能描述

  • 虚拟机管理:包括创建、启动、停止、重启虚拟机,查看虚拟机状态等。
  • 虚拟硬盘管理:包括创建、调整、挂载、转换虚拟硬盘等操作。
  • 虚拟交换机管理:管理虚拟交换机的创建、修改、删除等。
  • 虚拟机网络适配器管理:操作虚拟机的网络适配器,包括添加、删除、修改适配器。
  • 虚拟机快照管理:管理虚拟机的检查点(快照),包括创建、恢复、删除等。
  • Hyper-V 集群管理:用于管理 Hyper-V 集群的命令。
  • 虚拟机资源分配:设置虚拟机的处理器、内存等资源。
  • 虚拟机迁移:包括虚拟机的迁移和复制。

这些命令帮助管理员对 Hyper-V 环境中的虚拟化资源进行全面管理,可以在 PowerShell 中灵活地控制虚拟机和相关资源。


在 PowerShell 中对 Hyper-V 进行调优时,通常涉及优化虚拟机性能、资源分配、网络设置、存储管理等方面。下面是按功能分类的 Hyper-V 调优命令,以表格形式展示:

功能类别 命令 功能描述 命令示例
虚拟机性能调优 Set-VMProcessor 调整虚拟机的 CPU 配置,例如增加 CPU 核心数或调整虚拟处理器数量 Set-VMProcessor -VMName "VM1" -Count 4
  Set-VMMemory 配置虚拟机的内存分配,包括内存启动大小和最大内存 Set-VMMemory -VMName "VM1" -StartupBytes 4GB -MaximumBytes 8GB
  Set-VMIntegrationService 启用或禁用虚拟机的集成服务(如时间同步、驱动程序等) Set-VMIntegrationService -VMName "VM1" -Name "Time Synchronization" -Enabled $True
  Set-VMVideo 设置虚拟机的视频适配器配置 Set-VMVideo -VMName "VM1" -ResolutionWidth 1920 -ResolutionHeight 1080
虚拟机存储调优 Set-VHD 设置虚拟硬盘的 I/O 性能选项,例如启用/禁用缓存,指定硬盘类型 Set-VHD -Path "C:\VMs\VM1.vhdx" -CachingMode None
  Optimize-VHD 对虚拟硬盘进行优化(例如整理碎片) Optimize-VHD -Path "C:\VMs\VM1.vhdx"
虚拟网络调优 Set-VMSwitch 设置虚拟交换机的参数(如流量管理、VLAN 等) Set-VMSwitch -Name "VirtualSwitch1" -EnableIov $True
  Set-VMNetworkAdapter 配置虚拟机网络适配器的性能设置,例如启用虚拟化功能、调整带宽限制 Set-VMNetworkAdapter -VMName "VM1" -Name "Ethernet" -MaximumBandwidth 1000MB
  Enable-VMSwitchFeature 启用虚拟交换机的特性(如流量管理、VLAN、加速等) Enable-VMSwitchFeature -SwitchName "VirtualSwitch1" -Feature "VLAN" -Enabled $True
虚拟机存储调优 Resize-VHD 调整虚拟硬盘大小,优化存储使用 Resize-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 100GB
  New-VHD 创建固定大小虚拟硬盘(Fixed Size VHD)以优化性能 New-VHD -Path "C:\VMs\VM1.vhdx" -SizeBytes 100GB -Fixed
虚拟化特性优化 Set-VMHost 配置主机的虚拟化设置,如启用虚拟化扩展支持 Set-VMHost -Name "Host1" -EnableHyperV $True
  Set-VM 配置虚拟机的高性能选项,如 CPU 性能、内存和存储优化 Set-VM -Name "VM1" -ProcessorCount 4 -MemoryStartupBytes 8GB
CPU 性能调优 Set-VMProcessor 配置虚拟机处理器核心数、启用 CPU 热添加等选项 Set-VMProcessor -VMName "VM1" -Count 4 -ExposeVirtualizationExtensions $True
  Set-VMProcessorScheduler 设置虚拟机的 CPU 调度策略 Set-VMProcessorScheduler -VMName "VM1" -ResourceControlType "Auto"
内存分配调优 Set-VMMemory 设置虚拟机的内存分配(包括启动内存和最大内存) Set-VMMemory -VMName "VM1" -StartupBytes 4GB -MaximumBytes 8GB
磁盘性能调优 Set-VHD 设置虚拟硬盘的 I/O 性能,如禁用缓存或更改硬盘格式 Set-VHD -Path "C:\VMs\VM1.vhdx" -CachingMode None
网络性能调优 Set-VMNetworkAdapter 配置虚拟机的网络适配器,启用 SR-IOV 加速、调整带宽限制 Set-VMNetworkAdapter -VMName "VM1" -Name "Ethernet" -MaximumBandwidth 1000MB
  Enable-VMSwitchFeature 启用虚拟交换机的性能特性,如流量优先级、VLAN 等 Enable-VMSwitchFeature -SwitchName "VirtualSwitch1" -Feature "TrafficShaping" -Enabled $True
多虚拟机调优 Set-VM 调整虚拟机之间的资源分配,例如限制某个虚拟机的 CPU 使用率 Set-VM -Name "VM1" -ProcessorCount 2 -MemoryStartupBytes 2GB
主机性能调优 Set-VMHost 调整 Hyper-V 主机的资源分配,如启用/禁用虚拟化扩展 Set-VMHost -Name "Host1" -EnableHyperV $True
热添加资源 Set-VMProcessor 启用虚拟机的 CPU 热添加功能(动态增加 CPU 核心数) Set-VMProcessor -VMName "VM1" -EnableHostResourceControl $True
  Set-VMMemory 启用虚拟机的内存热添加功能(动态增加内存) Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $True

详细功能描述

  1. 虚拟机性能调优

    • 调整虚拟机的 CPU、内存、视频等配置,以提高整体性能。
    • 启用集成服务和时间同步等功能。
  2. 虚拟机存储调优

    • 通过优化虚拟硬盘的缓存设置、碎片整理和硬盘大小调整,提升磁盘性能。
  3. 虚拟网络调优

    • 配置虚拟交换机和网络适配器的性能,如流量优先级、带宽限制、SR-IOV 加速等。
  4. 虚拟化特性优化

    • 配置虚拟化支持和虚拟机的高性能选项,调整主机和虚拟机的虚拟化设置。
  5. CPU 性能调优

    • 增加虚拟机的处理器核心数,启用虚拟化扩展,调整虚拟机 CPU 调度策略等。
  6. 内存分配调优

    • 调整虚拟机的内存分配,包括设置启动内存、最大内存和启用动态内存。
  7. 磁盘性能调优

    • 配置虚拟硬盘的缓存策略和磁盘格式,以提高磁盘 I/O 性能。
  8. 网络性能调优

    • 调整虚拟机网络适配器的带宽、启用 SR-IOV 等网络加速功能,提高虚拟机的网络性能。
  9. 多虚拟机调优

    • 在多个虚拟机环境中,合理分配资源,优化 CPU 和内存的分配。
  10. 主机性能调优

    • 配置 Hyper-V 主机的性能设置,优化资源分配。
  11. 热添加资源

    • 启用虚拟机的 CPU 和内存热添加功能,在运行时动态调整虚拟机的资源。

这些调优命令可以帮助你根据特定的需求调整 Hyper-V 环境,确保虚拟机和主机的性能最大化。


在 PowerShell 中,Hyper-V 提供了导出、导入和迁移虚拟机的命令,这些命令可以帮助管理员进行虚拟机的迁移、备份和恢复。以下是关于这些操作按功能分类的表格,包括每个功能的相关命令和示例。

Hyper-V 导出、导入、迁移操作 PowerShell 命令表

功能类别 命令 功能描述 命令示例
虚拟机导出 Export-VM 导出虚拟机到指定位置,以便备份或迁移 Export-VM -Name "VM1" -Path "D:\Backup"
  Export-VM (带参数) 指定虚拟机导出时的选项,如是否包含虚拟机的所有子项 Export-VM -Name "VM1" -Path "D:\Backup" -IncludeStorage
虚拟机导入 Import-VM 导入已导出的虚拟机,并将其恢复到 Hyper-V 环境中 Import-VM -Path "D:\Backup\VM1"
  Import-VM (带参数) 在导入虚拟机时,可以修改虚拟机的配置(如名称、存储位置等) Import-VM -Path "D:\Backup\VM1" -VHDLocation "E:\VMs" -GenerateNewId
虚拟机迁移 Move-VM 将虚拟机从一个存储位置迁移到另一个存储位置 Move-VM -Name "VM1" -DestinationStoragePath "E:\VMs"
  Move-VM (跨服务器迁移) 将虚拟机迁移到另一个 Hyper-V 主机服务器 Move-VM -Name "VM1" -DestinationHost "HyperVServer2"
虚拟机即时迁移 Start-VM 和 Move-VM (结合使用) 启动虚拟机并迁移它到另一个 Hyper-V 主机(支持虚拟机的热迁移) Move-VM -Name "VM1" -DestinationHost "HyperVServer2" -IncludeStorage
虚拟机跨版本迁移 Set-VMProcessor 配置虚拟机的处理器功能,使其支持跨版本的虚拟机迁移 Set-VMProcessor -VMName "VM1" -CompatibilityForMigration $True
虚拟机存储迁移 Move-VMStorage 将虚拟机的虚拟硬盘文件迁移到新的存储位置 Move-VMStorage -VMName "VM1" -DestinationStoragePath "E:\VMs"
虚拟机跨版本导入 Import-VM (支持跨 Hyper-V 版本) 在不同版本的 Hyper-V 环境中导入虚拟机,并根据需要调整配置 Import-VM -Path "D:\Backup\VM1" -GenerateNewId
导出虚拟机清理 Remove-VM 删除虚拟机(用于清理导出的虚拟机,不删除虚拟机文件) Remove-VM -Name "VM1" -Force
虚拟机配额管理 Set-VM 配置虚拟机的资源配额(如 CPU、内存)用于迁移前后的资源分配 Set-VM -Name "VM1" -ProcessorCount 4 -MemoryStartupBytes 8GB
虚拟机快速迁移 Move-VM 支持在虚拟机运行时快速迁移,不需要关闭虚拟机 Move-VM -Name "VM1" -DestinationHost "HyperVServer2" -IncludeStorage

详细功能描述

  1. 虚拟机导出

    • 使用 Export-VM 命令将虚拟机及其相关数据导出到指定路径。可以选择是否包括虚拟机的存储文件。
    • 导出的虚拟机文件可以用于迁移或备份目的。
  2. 虚拟机导入

    • 使用 Import-VM 命令将导出的虚拟机恢复到 Hyper-V 主机上。可以在导入时修改虚拟机的存储位置、生成新的虚拟机 ID 等。
    • 支持跨版本导入,确保不同版本的 Hyper-V 环境之间可以兼容虚拟机。
  3. 虚拟机迁移

    • 使用 Move-VM 命令将虚拟机迁移到新的存储位置或另一台 Hyper-V 主机上。
    • 支持热迁移(虚拟机运行时迁移),不需要关闭虚拟机。
  4. 虚拟机即时迁移

    • 使用 Move-VM 配合 Start-VM 命令实现即时迁移,可以在虚拟机运行时迁移虚拟机,适用于高可用性和负载均衡的需求。
  5. 虚拟机跨版本迁移

    • 使用 Set-VMProcessor 配置虚拟机的处理器,以便在不同 Hyper-V 版本之间迁移时,虚拟机能够正确运行。
  6. 虚拟机存储迁移

    • 使用 Move-VMStorage 命令迁移虚拟机的虚拟硬盘文件到另一个存储位置。可以在不中断虚拟机运行的情况下进行。
  7. 虚拟机跨版本导入

    • 支持从不同版本的 Hyper-V 导入虚拟机,并且可以自动生成新的虚拟机 ID,以保证兼容性。
  8. 导出虚拟机清理

    • 使用 Remove-VM 命令删除虚拟机实例。删除虚拟机时可以选择是否保留虚拟机的文件,常用于清理导出的虚拟机实例。
  9. 虚拟机配额管理

    • 在迁移虚拟机之前,可以使用 Set-VM 配置虚拟机的资源配额(如 CPU 核心数、内存大小等),确保在目标主机上虚拟机能够获得合适的资源分配。
  10. 虚拟机快速迁移

    • 快速迁移支持在虚拟机运行时将其迁移到另一台 Hyper-V 主机,不需要关闭虚拟机,这对于高可用性和业务连续性至关重要。

这些 PowerShell 命令为 Hyper-V 提供了全面的导出、导入和迁移功能,可以帮助管理员有效地管理虚拟机的备份、恢复以及在不同主机之间的迁移。


PowerShell 中使用 Hyper-V 挂载、分离、创建和格式化 VHD 的代码:
挂载 VHD 文件:
powershell
# 挂载 VHD 文件
Mount-VHD -Path "C:\test\disk.vhd"
分离 VHD 文件:
powershell
# 分离 VHD 文件
Dismount-VHD -Path "C:\test\disk.vhd"
创建 VHD 文件:
powershell
# 创建 10GB 的 VHD 文件,并存储在 C:\test 目录下
New-VHD -Path "C:\test\disk.vhd" -SizeBytes 10GB
格式化 VHD 文件:
powershell
# 格式化 VHD 文件为 NTFS 文件系统
Format-Volume -DriveLetter E -FileSystem NTFS -Confirm:$false
查看已挂载的 VHD 文件信息:
powershell
Get-VHD -Path "C:\test\disk.vhd"
修改 VHD 文件的属性:
powershell
Set-VHD -Path "C:\test\disk.vhd" -ParentPath "C:\path\to\parent.vhdx"
复制 VHD 文件:
powershell
Copy-Item "C:\source\disk.vhd" -Destination "D:\destination\" 
移动 VHD 文件:
powershell
Move-Item "C:\source\disk.vhd" -Destination "D:\destination\" 
获取已创建的虚拟硬盘列表:
powershell
Get-VMHardDiskDrive -VMName "VM1"
创建动态扩展的 VHDX 文件:
powershell
New-VHD -Path "C:\test\disk.vhdx" -Dynamic -SizeBytes 50GB
将 VHDX 文件转换为 VHD 文件:
powershell
Convert-VHD -Path "C:\test\disk.vhdx" -DestinationPath "C:\test\disk.vhd" -VHDType Fixed
启用和禁用 Hyper-V 的 VHD 文件压缩:
powershell
Enable-VMIntegrationService -VMName "VM1" -IntegrationServiceName "Guest Service Interface" -Passthru | Set-VMCompressPhysicalMemory:$true
Disable-VMIntegrationService -VMName "VM1" -IntegrationServiceName "Guest Service Interface" -Passthru | Set-VMCompressPhysicalMemory:$false
获取 VHD 文件所属的虚拟机名称:
powershell
(Get-Item "C:\test\disk.vhd").Parent.Parent.Name
获取虚拟机中所有的虚拟硬盘:
powershell
Get-VM -Name "VM1" | Get-VMHardDiskDrive
设置虚拟硬盘的最大 IOPS 限制:
powershell
Set-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\test\disk.vhdx" -MaxIOPS 500
将虚拟硬盘连接到虚拟机:
powershell
Add-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\test\disk.vhdx"
从虚拟机中移除虚拟硬盘:
powershell
Remove-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0
从虚拟硬盘中删除指定的快照文件:
powershell
Remove-VMSnapshot -Name "Snapshot1" -VHDPath "C:\test\disk.vhdx"
获取虚拟机中的所有快照信息:
powershell
Get-VMSnapshot -VMName "VM1"
创建虚拟硬盘的快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "Snapshot1" -Path "C:\test\disk.vhdx"
恢复虚拟硬盘到指定的快照状态:
powershell
Restore-VMSnapshot -Name "Snapshot1" -VHDPath "C:\test\disk.vhdx" -Confirm:$false
获取虚拟机中的存储控制器信息:
powershell
Get-VMStorageController -VMName "VM1"
修改虚拟硬盘的存储控制器位置:
powershell
Set-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 1 -ControllerLocation 0 -Path "C:\test\disk.vhdx"
将虚拟硬盘从一个虚拟机移动到另一个虚拟机:
powershell
$sourceVM = "SourceVM"
$destVM = "DestVM"
$vhdxPath = "C:\path\to\disk.vhdx"

Get-VM $sourceVM | Get-VMHardDiskDrive | Where-Object { $_.Path -eq $vhdxPath } | Move-VMStorage -DestinationStoragePath (Get-VM $destVM).ConfigurationLocation
设置虚拟硬盘的读写缓存策略:
powershell
Set-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\test\disk.vhdx" -ReadBuffering None -WriteBuffering WriteThrough
获取虚拟硬盘的详细信息:
powershell
Get-VHD -Path "C:\test\disk.vhdx"
合并虚拟硬盘的快照:
powershell
Merge-VHD -Path "C:\test\disk.vhdx"
将虚拟硬盘设置为只读模式:
powershell
Set-VHD -Path "C:\test\disk.vhdx" -ReadOnly
扩展虚拟硬盘的容量:
powershell
Resize-VHD -Path "C:\test\disk.vhdx" -SizeBytes 50GB
创建虚拟硬盘的副本:
powershell
New-VHD -Path "C:\test\disk_copy.vhdx" -ParentPath "C:\test\disk.vhdx" -Differencing
获取虚拟机中所有的动态内存:
powershell
Get-VM -Name "VM1" | Get-VMDynamicMemory
挂载虚拟硬盘:
powershell
Mount-VHD -Path "C:\test\disk.vhdx"
卸载虚拟硬盘:
powershell
Dismount-VHD -Path "C:\test\disk.vhdx"
创建固定大小的虚拟硬盘:
powershell
New-VHD -Path "C:\test\disk.vhdx" -Fixed -SizeBytes 100GB
获取虚拟硬盘的连接状态:
powershell
Get-VMHardDiskDrive -VMName "VM1" | Select-Object Path, ControllerType, ControllerNumber, ControllerLocation, IsConnected
移除虚拟硬盘的连接:
powershell
Disconnect-VMHardDiskDrive -VMName "VM1" -ControllerType IDE -ControllerNumber 0 -ControllerLocation 1
添加虚拟硬盘的连接:
powershell
Connect-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 2 -Path "C:\test\disk.vhdx"
设置虚拟硬盘的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice (Get-VMHardDiskDrive -VMName "VM1" | Where-Object { $_.Path -eq "C:\test\disk.vhdx" })
复制虚拟硬盘:
powershell
Copy-Item "C:\Path\to\SourceDisk.vhdx" -Destination "C:\Path\to\DestinationDisk.vhdx"
导入虚拟硬盘:
powershell
Import-VM -Path "C:\Path\to\VirtualMachineFolder"
导出虚拟硬盘:
powershell
Export-VM -Name "VMName" -Path "C:\ExportFolderPath"
检查虚拟硬盘的一致性:
powershell
Test-VHD -Path "C:\Path\to\Disk.vhdx"
将虚拟硬盘设置为动态大小:
powershell
Resize-VHD -Path "C:\test\disk.vhdx" -ToMinimumSize
检查虚拟硬盘的信息:
powershell
Get-VHD -Path "C:\test\disk.vhdx"
修改虚拟硬盘的类型:
powershell
Convert-VHD -Path "C:\test\disk.vhd" -DestinationPath "C:\test\convertedDisk.vhdx"
获取虚拟机的所有虚拟硬盘:
powershell
Get-VMHardDiskDrive -VMName "VM1"
获取虚拟硬盘的容量信息:
powershell
Get-VHD -Path "C:\test\disk.vhdx" | Select-Object Path, VhdFormat, Size, MaximumSize
修改虚拟硬盘的大小:
powershell
Resize-VHD -Path "C:\test\disk.vhdx" -SizeBytes 200GB
将虚拟硬盘设置为只读模式:
powershell
Set-VHD -Path "C:\test\disk.vhdx" -ReadOnly
将虚拟硬盘设置为读写模式:
powershell
Set-VHD -Path "C:\test\disk.vhdx" -NotReadOnly
将虚拟硬盘挂载到主机文件系统:
powershell
Mount-VHD -Path "C:\test\disk.vhdx"
卸载已经挂载到主机文件系统的虚拟硬盘:
powershell
Dismount-VHD -Path "C:\test\disk.vhdx"
检查虚拟硬盘的状态:
powershell
Test-VHD -Path "C:\test\disk.vhdx" | Select-Object Path, VhdFormat, VhdType, FileSize, Size
创建一个新的虚拟硬盘:
powershell
New-VHD -Path "C:\test\newDisk.vhdx" -SizeBytes 100GB
设置虚拟硬盘的扩展属性(用于生成检查点):
powershell
Set-VHD -Path "C:\test\disk.vhdx" -VHDType "Differencing"
导入虚拟硬盘快照:
powershell
Apply-VHDSnapshot -Path "C:\test\disk.vhdx" -SnapshotFile "C:\test\snapshot.avhdx"
创建虚拟硬盘快照:
powershell
Checkpoint-VM -Name "VMName" -SnapshotName "SnapshotName"
删除虚拟硬盘:
powershell
Remove-VHD -Path "C:\test\disk.vhdx"
复制虚拟硬盘到指定路径:
powershell
Copy-VHD -Path "C:\test\disk.vhdx" -DestinationPath "D:\backup\disk.vhdx"
检查虚拟机的连接状态:
powershell
Get-VMIntegrationService -VMName "VM1" | Select-Object Name, Enabled
启动虚拟机:
powershell
Start-VM -Name "VM1"
停止虚拟机:
powershell
Stop-VM -Name "VM1"
暂停虚拟机:
powershell
Suspend-VM -Name "VM1"
恢复暂停的虚拟机:
powershell
Resume-VM -Name "VM1"
重启虚拟机:
powershell
Restart-VM -Name "VM1"
查看所有虚拟机的状态:
powershell
Get-VM | Select-Object Name, State
查看虚拟机的配置信息:
powershell
Get-VM -Name "VM1" | Select-Object *
设置虚拟机的内存大小:
powershell
Set-VMMemory -VMName "VM1" -StartupBytes 4GB -MinimumBytes 2GB -MaximumBytes 8GB
设置虚拟机的 CPU 核心数量:
powershell
Set-VMProcessor -VMName "VM1" -Count 4
设置虚拟机的网络适配器:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Name "Network Adapter" -SwitchName "Virtual Switch"
更改虚拟机的名称:
powershell
Rename-VM -VMName "VM1" -NewName "NewVMName"
移动虚拟机到新的位置:
powershell
Move-VM -VMName "VM1" -DestinationHost "NewHost" -DestinationStoragePath "E:\Virtual Machines"
导出虚拟机到指定路径:
powershell
Export-VM -Name "VM1" -Path "D:\ExportedVMs\VM1"
设置虚拟机的动态内存分配:
powershell
Set-VMDynamicMemory -VMName "VM1" -MemoryMinimumBytes 1GB -MemoryMaximumBytes 4GB
挂载虚拟硬盘到虚拟机:
powershell
Add-VMHardDiskDrive -VMName "VM1" -Path "C:\VMDisks\AdditionalDisk.vhdx"
移除虚拟机的网络适配器:
powershell
Remove-VMNetworkAdapter -VMName "VM1" -Name "Network Adapter"
查看虚拟交换机的信息:
powershell
Get-VMSwitch
删除虚拟机:
powershell
Remove-VM -Name "VM1" -Force
启用虚拟机的自动快照功能:
powershell
Enable-VMSnapshot -VMName "VM1" -SnapshotFilePath "D:\Snapshots\VM1"
创建虚拟机的快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotFilePath "D:\Snapshots\VM1\Checkpoint1"
恢复虚拟机到指定快照点:
powershell
Restore-VMSnapshot -Name "VM1" -SnapshotFilePath "D:\Snapshots\VM1\Checkpoint1"
查看虚拟机的事件日志:
powershell
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-VMMS/Admin" | Where-Object {$_.Message -like "*VM1*"}
启动虚拟机:
powershell
Start-VM -Name "VM1"
关闭虚拟机:
powershell
Stop-VM -Name "VM1"
暂停虚拟机:
powershell
Suspend-VM -Name "VM1"
查看虚拟机的状态信息:
powershell
Get-VM -Name "VM1" | Select-Object VMId, Name, State
修改虚拟机的配置:
powershell
Set-VM -Name "VM1" -ProcessorCount 4 -MemoryStartupBytes 4GB
导入虚拟机配置:
powershell
Import-VM -Path "D:\ExportedVMs\VM1" -Copy -GenerateNewId
检查虚拟机的兼容性:
powershell
Test-VMCompatibility -VMName "VM1"
导出虚拟机配置:
powershell
Export-VM -Name "VM1" -Path "D:\ExportedVMs\VM1" -Copy
修改虚拟机的网络适配器设置:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Name "Network Adapter" -MacAddressSpoofing On
查看虚拟机的详细信息:
powershell
Get-VM -Name "VM1" | Format-List *
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice "CD"
重命名虚拟机:
powershell
Rename-VM -Name "VM1" -NewName "VM2"
移动虚拟机到另一个存储位置:
powershell
Move-VMStorage -VMName "VM1" -DestinationStoragePath "D:\Virtual Machines\VM1"
挂载虚拟机的 VHD 文件:
powershell
Mount-VHD -Path "D:\Virtual Machines\VM1\Disk1.vhd"
卸载虚拟机的 VHD 文件:
powershell
Dismount-VHD -Path "D:\Virtual Machines\VM1\Disk1.vhd"
创建新的虚拟机网络:
powershell
New-VMSwitch -Name "InternalSwitch" -SwitchType Internal
修改虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice "CD"
启动虚拟机并连接到虚拟机的控制台:
powershell
Start-VM -Name "VM1"
Connect-VM -VMName "VM1"
设置虚拟机的 Generation:
powershell
Set-VM -Name "VM1" -Generation 2
查看虚拟机的网络适配器信息:
powershell
Get-VMNetworkAdapter -VMName "VM1"
修改虚拟机的内部网络适配器连接:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Name "Internal Network" -SwitchName "InternalSwitch"
添加虚拟机的硬盘:
powershell
Add-VMHardDiskDrive -VMName "VM1" -ControllerType IDE -ControllerNumber 0 -ControllerLocation 1 -Path "D:\Virtual Machines\VM1\Disk2.vhd"
删除虚拟机的网络适配器:
powershell
Remove-VMNetworkAdapter -VMName "VM1" -Name "Network Adapter"
设置虚拟机的内存大小:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes 2GB
修改虚拟机的处理器个数:
powershell
Set-VMProcessor -VMName "VM1" -Count 2
设置虚拟机的快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "BeforeUpdate"
导入虚拟机配置:
powershell
Import-VM -Path "D:\ExportedVMs\VM1" -Copy
设置虚拟机的启动延迟时间:
powershell
Set-VM -Name "VM1" -AutomaticStartAction DelayStart -AutomaticStartDelay 120
导出虚拟机配置:
powershell
Export-VM -Name "VM1" -Path "D:\ExportedVMs\VM1"
修改虚拟机的网络适配器 MAC 地址:
powershell
Set-VMNetworkAdapter -VMName "VM1" -StaticMacAddress "00:15:5D:12:34:56"
设置虚拟机的自动快照:
powershell
Set-VM -Name "VM1" -AutomaticCheckpointsEnabled $true
设置虚拟机的自动关机计划:
powershell
Set-VM -Name "VM1" -AutomaticStopAction ShutDown -AutomaticStopActionDelay 180
修改虚拟机的启动 RAM 内存分配:
powershell
Set-VMMemory -VMName "VM1" -StartupBytes 1GB
启用虚拟机的动态内存平衡:
powershell
Enable-VMMemoryBalancing -VMName "VM1"
设置虚拟机的 CPU 限制:
powershell
Set-VMProcessor -VMName "VM1" -MaximumCount 4
修改虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的自动化任务:
powershell
Register-ScheduledTask -TaskName "BackupVM1" -Trigger (New-ScheduledTaskTrigger -At 2am -Daily) -Action (New-ScheduledTaskAction -Execute "Powershell.exe" -Argument "C:\Scripts\Backup-VM.ps1")
修改虚拟机的 Generation 版本:
powershell
Set-VM -Name "VM1" -Generation 2
启用虚拟机的迁移功能:
powershell
Enable-VMMigration -VMName "VM1"
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的网络适配器 NAT 模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Isolated -NATSubnetAddress "192.168.1.0/24"
修改虚拟机的电源管理策略:
powershell
Set-VMPowerPolicy -VMName "VM1" -AutomaticStartAction Resume -AutomaticStartDelay 60
设置虚拟机的硬盘容量:
powershell
Set-VHD -Path "D:\VirtualDisks\Disk1.vhdx" -SizeBytes 100GB
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的网络适配器 NAT 模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Isolated -NATSubnetAddress "192.168.1.0/24"
修改虚拟机的电源管理策略:
powershell
Set-VMPowerPolicy -VMName "VM1" -AutomaticStartAction Resume -AutomaticStartDelay 60
设置虚拟机的硬盘容量:
powershell
Set-VHD -Path "D:\VirtualDisks\Disk1.vhdx" -SizeBytes 100GB
导出虚拟机配置:
powershell
Export-VM -Name "VM1" -Path "D:\Exports\VM1"
导入虚拟机配置:
powershell
Import-VM -Path "D:\Exports\VM1"
克隆虚拟机:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "Snapshot1"
设置虚拟机的高可用性:
powershell
Set-ClusterGroup -Name "VM1" -AntiAffinityClass 1
设置虚拟机的计算资源限制:
powershell
Set-VMProcessor -VMName "VM1" -MaximumCount 4 -RelativeWeight 100
设置虚拟机的内存分配:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 2GB -MaximumBytes 8GB
启动虚拟机:
powershell
Start-VM -Name "VM1"
关闭虚拟机:
powershell
Stop-VM -Name "VM1" -Force
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的网络适配器 NAT 模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Isolated -NATSubnetAddress "192.168.1.0/24"
修改虚拟机的电源管理策略:
powershell
Set-VMPowerPolicy -VMName "VM1" -AutomaticStartAction Resume -AutomaticStartDelay 60
设置虚拟机的硬盘容量:
powershell
Set-VHD -Path "D:\VirtualDisks\Disk1.vhdx" -SizeBytes 100GB
设置虚拟机的计算资源限制:
powershell
Set-VMProcessor -VMName "VM1" -MaximumCount 4 -RelativeWeight 100
设置虚拟机的内存分配:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 2GB -MaximumBytes 8GB
启动虚拟机:
powershell
Start-VM -Name "VM1"
关闭虚拟机:
powershell
Stop-VM -Name "VM1" -Force
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的网络适配器 NAT 模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Isolated -NATSubnetAddress "192.168.1.0/24"
修改虚拟机的电源管理策略:
powershell
Set-VMPowerPolicy -VMName "VM1" -AutomaticStartAction Resume -AutomaticStartDelay 60
设置虚拟机的硬盘容量:
powershell
Set-VHD -Path "D:\VirtualDisks\Disk1.vhdx" -SizeBytes 100GB
设置虚拟机的计算资源限制:
powershell
Set-VMProcessor -VMName "VM1" -MaximumCount 4 -RelativeWeight 100
这个命令可以设置虚拟机的处理器数量和相对权重,以限制虚拟机对主机处理器的使用。

设置虚拟机的内存分配:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 2GB -MaximumBytes 8GB
这个命令可以设置虚拟机的内存分配方式为动态内存,并指定最小和最大内存大小。

启动虚拟机:
powershell
Start-VM -Name "VM1"
这个命令可以启动指定名称的虚拟机。

关闭虚拟机:
powershell
Stop-VM -Name "VM1" -Force
这个命令可以关闭指定名称的虚拟机,使用 -Force 参数可以强制关闭虚拟机。
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
设置虚拟机的网络适配器 NAT 模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Isolated -NATSubnetAddress "192.168.1.0/24"
修改虚拟机的电源管理策略:
powershell
Set-VMPowerPolicy -VMName "VM1" -AutomaticStartAction Resume -AutomaticStartDelay 60
设置虚拟机的硬盘容量:
powershell
Set-VHD -Path "D:\VirtualDisks\Disk1.vhdx" -SizeBytes 100GB
复制虚拟机配置:
powershell
Copy-VM -Name "VM1" -DestinationHost "HVServer2" -DestinationStoragePath "D:\VirtualMachines"
这个命令可以将指定名称的虚拟机复制到目标主机和存储路径。

导出虚拟机配置:
powershell
Export-VM -Name "VM1" -Path "D:\VMExports\VM1"
这个命令可以导出指定名称的虚拟机配置文件到指定路径。

导入虚拟机配置:
powershell
Import-VM -Path "D:\VMExports\VM1" -Copy -GenerateNewId
这个命令可以导入指定路径的虚拟机配置文件,并复制虚拟硬件和生成新的唯一 ID。

移动虚拟机配置:
powershell
Move-VM -Name "VM1" -DestinationHost "HVServer2" -DestinationStoragePath "D:\VirtualMachines"
这个命令可以将指定名称的虚拟机移动到目标主机和存储路径。
暂停虚拟机:
powershell
Suspend-VM -Name "VM1"
这个命令可以暂停指定名称的虚拟机,将其状态保存到磁盘上。

恢复虚拟机:
powershell
Resume-VM -Name "VM1"
这个命令可以恢复暂停状态的虚拟机,将其从磁盘上加载到内存中。

修改虚拟机的网络适配器配置:
powershell
Get-VMNetworkAdapter -VMName "VM1" | Set-VMNetworkAdapter -StaticMacAddress "00:11:22:33:44:55" -MacAddressSpoofing On
这个命令可以获取虚拟机的网络适配器对象,并修改其静态 MAC 地址和 MAC 地址欺骗设置。

设置虚拟机的快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "Snapshot1" -SnapshotFilePath "C:\Snapshots\Snapshot1.avhdx"
这个命令可以为虚拟机创建快照,包括指定快照的名称和保存路径。

还原虚拟机的快照:
powershell
Restore-VMSnapshot -Name "VM1" -SnapshotName "Snapshot1"
这个命令可以还原虚拟机到指定的快照状态。

请注意,虚拟机的快照操作需要在关闭虚拟机的情况下进行。
设置虚拟机的内存大小:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1GB -MaximumBytes 4GB
这个命令可以设置虚拟机的内存为动态内存,并指定最小、启动和最大内存大小。

修改虚拟机的 CPU 核心数:
powershell
Set-VMProcessor -VMName "VM1" -Count 4
这个命令可以修改虚拟机的 CPU 核心数为指定值。

启动虚拟机:
powershell
Start-VM -Name "VM1"
这个命令可以启动指定名称的虚拟机。

关闭虚拟机:
powershell
Stop-VM -Name "VM1"
这个命令可以关闭指定名称的虚拟机。

重启虚拟机:
powershell
Restart-VM -Name "VM1"
这个命令可以重启指定名称的虚拟机。
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice "CD"
这个命令可以设置虚拟机的启动顺序,将首选启动设备设置为 CD-ROM。

创建虚拟交换机:
powershell
New-VMSwitch -Name "Switch1" -SwitchType Internal
这个命令可以创建一个内部虚拟交换机,用于虚拟机之间或与主机之间的通信。

添加网络适配器到虚拟机:
powershell
Add-VMNetworkAdapter -VMName "VM1" -SwitchName "Switch1"
这个命令可以将一个网络适配器添加到指定名称的虚拟机,并连接到指定的虚拟交换机。

移除虚拟机的网络适配器:
powershell
Remove-VMNetworkAdapter -VMName "VM1" -Name "NetworkAdapter1"
这个命令可以从指定名称的虚拟机中移除指定名称的网络适配器。

设置虚拟机的启动延迟:
powershell
Set-VMStartupDelay -VMName "VM1" -StartupDelay 30
这个命令可以设置虚拟机启动时的延迟时间,单位为秒。
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice "CD"
这个命令可以设置虚拟机的启动顺序,将首选启动设备设置为 CD-ROM。

创建虚拟交换机:
powershell
New-VMSwitch -Name "Switch1" -SwitchType Internal
这个命令可以创建一个内部虚拟交换机,用于虚拟机之间或与主机之间的通信。

添加网络适配器到虚拟机:
powershell
Add-VMNetworkAdapter -VMName "VM1" -SwitchName "Switch1"
这个命令可以将一个网络适配器添加到指定名称的虚拟机,并连接到指定的虚拟交换机。

移除虚拟机的网络适配器:
powershell
Remove-VMNetworkAdapter -VMName "VM1" -Name "NetworkAdapter1"
这个命令可以从指定名称的虚拟机中移除指定名称的网络适配器。

设置虚拟机的启动延迟:
powershell
Set-VMStartupDelay -VMName "VM1" -StartupDelay 30
这个命令可以设置虚拟机启动时的延迟时间,单位为秒。

导出虚拟机配置:
powershell
Export-VM -Name "VM1" -Path "C:\ExportedVMs\VM1"
这个命令可以将指定名称的虚拟机配置导出到指定路径。

导入虚拟机配置:
powershell
Import-VM -Path "C:\ExportedVMs\VM1" -Copy
这个命令可以从指定路径导入虚拟机配置,并创建一个新的虚拟机副本。
设置虚拟机的内存大小:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1GB -MaximumBytes 4GB
这个命令可以设置虚拟机的内存为动态分配模式,并指定最小、启动和最大内存大小。

设置虚拟机的处理器数量:
powershell
Set-VMProcessor -VMName "VM1" -Count 2
这个命令可以设置虚拟机的处理器数量为 2 个。

启动虚拟机:
powershell
Start-VM -Name "VM1"
这个命令可以启动指定名称的虚拟机。

关闭虚拟机:
powershell
Stop-VM -Name "VM1"
这个命令可以关闭指定名称的虚拟机。

暂停虚拟机:
powershell
Suspend-VM -Name "VM1"
这个命令可以暂停指定名称的虚拟机。

恢复虚拟机:
powershell
Resume-VM -Name "VM1"
这个命令可以恢复暂停的虚拟机。
创建虚拟机快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "Snapshot1"
这个命令可以创建一个名为 Snapshot1 的虚拟机快照。

恢复虚拟机快照:
powershell
Restore-VMSnapshot -Name "VM1" -SnapshotName "Snapshot1"
这个命令可以将虚拟机恢复到名为 Snapshot1 的虚拟机快照的状态。

删除虚拟机快照:
powershell
Remove-VMSnapshot -Name "VM1" -SnapshotName "Snapshot1"
这个命令可以删除名为 Snapshot1 的虚拟机快照。

设置虚拟机的网络适配器 MAC 地址:
powershell
Set-VMNetworkAdapter -VMName "VM1" -StaticMacAddress "00-15-5D-01-02-03"
这个命令可以设置指定名称的虚拟机网络适配器的 MAC 地址。

设置虚拟机的显示分辨率:
powershell
Set-VMVideoMemory -VMName "VM1" -HorizontalResolution 1920 -VerticalResolution 1080
这个命令可以设置虚拟机的显示分辨率为 1920x1080。
设置虚拟机的复制状态:
powershell
Set-VMReplication -VMName "VM1" -ReplicaServerName "ReplicaServer" -ReplicaServerPort 80 -AuthenticationType Integrated
这个命令可以设置虚拟机的复制状态,将其复制到指定的 ReplicaServer,并指定复制端口和认证类型。

查看虚拟机的事件日志:
powershell
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-VMMS-Admin" -MaxEvents 50
这个命令可以查看虚拟机管理服务的事件日志,最多显示最新的 50 条事件。

设置虚拟机的自动启动:
powershell
Set-VM -Name "VM1" -AutomaticStartAction Start -AutomaticStopAction ShutDown -AutomaticStartDelay 120
这个命令可以设置虚拟机在主机启动时自动启动,并指定自动关闭操作和自动启动延迟时间为 120 秒。

导出虚拟机的运行状态:
powershell
Export-VM -Name "VM1" -Path "C:\ExportedVMs\VM1" -SnapshotFileFormat vhdx -ExportVmId
这个命令可以导出虚拟机的运行状态到指定路径,并指定快照文件格式为 vhdx 并包括虚拟机的唯一标识符。
设置虚拟机的内存大小:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 2GB -MaximumBytes 4GB -StartupBytes 2GB
这个命令可以设置虚拟机的内存大小,并启用动态内存分配。你可以指定最小、最大和启动时的内存大小。

设置虚拟机的 CPU 核心数:
powershell
Set-VMProcessor -VMName "VM1" -Count 2
这个命令可以设置虚拟机的 CPU 核心数为 2。

设置虚拟机的网络适配器:
powershell
Add-VMNetworkAdapter -VMName "VM1" -SwitchName "External Network"
这个命令可以添加一个网络适配器到虚拟机,并将其连接到指定名称的虚拟交换机上。

移动虚拟机的存储位置:
powershell
Move-VMStorage -VMName "VM1" -DestinationStoragePath "\\FileServer\VMs"
这个命令可以将虚拟机的存储位置移动到指定的存储路径。
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice "CD"
这个命令可以设置虚拟机的启动顺序为首先从 CD/DVD 驱动器启动。

导入虚拟机配置文件:
powershell
Import-VM -Path "C:\ImportedVMs\VM1" -Copy -VhdDestinationPath "D:\Virtual Hard Disks"
这个命令可以导入虚拟机的配置文件,并将相关的虚拟硬盘文件复制到指定的目标路径。

设置虚拟机的网络适配器静态 IP 地址:
powershell
Set-VMNetworkAdapter -VMName "VM1" -StaticIPAddress "192.168.0.100" -SubnetMask "255.255.255.0" -DefaultGateway "192.168.0.1" -DNS "192.168.0.2", "192.168.0.3"
这个命令可以设置虚拟机网络适配器的静态 IP 地址、子网掩码、默认网关和 DNS 服务器。

设置虚拟机的启动延迟时间:
powershell
Set-VM -Name "VM1" -AutomaticStartDelay 180
这个命令可以设置虚拟机的启动延迟时间为 180 秒。
设置虚拟机的快照:
powershell
Checkpoint-VM -Name "VM1" -SnapshotName "BeforeUpdate"
这个命令可以为虚拟机创建一个快照,方便在更新或配置更改之前进行备份。

移除虚拟机的网络适配器:
powershell
Remove-VMNetworkAdapter -VMName "VM1" -Name "Network Adapter 2"
这个命令可以移除虚拟机的指定网络适配器。

启动虚拟机:
powershell
Start-VM -Name "VM1"
这个命令可以启动指定的虚拟机。

关闭虚拟机:
powershell
Stop-VM -Name "VM1"
这个命令可以关闭指定的虚拟机。
导出虚拟机的配置文件和磁盘文件:
powershell
Export-VM -Name "VM1" -Path "D:\ExportedVMs"
这个命令可以导出虚拟机的配置文件和相关的虚拟硬盘文件到指定的路径。

启用远程管理功能:
powershell
Enable-PSRemoting
这个命令可以启用 PowerShell 远程管理功能,允许你从远程计算机上管理 Hyper-V 虚拟机。

设置虚拟机的自动启动:
powershell
Set-VM -Name "VM1" -AutomaticStartAction StartIfRunning -AutomaticStopAction Save
这个命令可以设置虚拟机的自动启动和自动停止行为。在此示例中,虚拟机将在宿主机启动时自动启动,并在宿主机停止时保存状态。

设置虚拟机的内部网络连接模式:
powershell
Set-VMNetworkAdapter -VMName "VM1" -Internal
这个命令可以将虚拟机的网络适配器连接到内部网络,以便与其他虚拟机进行通信。
设置虚拟机的动态内存分配:
powershell
Set-VMMemory -VMName "VM1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes 4GB
这个命令可以启用虚拟机的动态内存分配,并设置最小和最大内存限制。

添加虚拟机的硬盘:
powershell
Add-VMHardDiskDrive -VMName "VM1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path "D:\Virtual Hard Disks\NewDisk.vhdx"
这个命令可以为虚拟机添加一个硬盘,指定控制器类型、控制器号码、控制器位置和硬盘文件路径。

设置虚拟机的 CPU 核心数:
powershell
Set-VMProcessor -VMName "VM1" -Count 4
这个命令可以设置虚拟机的 CPU 核心数为4个。

设置虚拟机的自动快照:
powershell
Set-VM -Name "VM1" -SnapshotFileLocation "D:\Snapshots"
这个命令可以设置虚拟机的自动快照文件保存路径。
移除虚拟机的快照:
powershell
Remove-VMSnapshot -Name "Snapshot1" -VMName "VM1"
这个命令可以移除指定虚拟机的指定快照。

设置虚拟机的内存优先级:
powershell
Set-VM -Name "VM1" -MemoryPriority High
这个命令可以设置虚拟机的内存优先级为高。

设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice CD
这个命令可以设置虚拟机的启动顺序,将首选启动设备设置为 CD/DVD 驱动器。

设置虚拟机的网络适配器连接类型:
powershell
Set-VMNetworkAdapter -VMName "VM1" -SwitchName "Virtual Switch"
这个命令可以将虚拟机的网络适配器连接到指定的虚拟交换机。
设置虚拟机的启动顺序:
powershell
Set-VMFirmware -VMName "VM1" -FirstBootDevice VHD
这个命令可以设置虚拟机的启动顺序,将首选启动设备设置为虚拟硬盘。

设置虚拟机的检查点自动停止:
powershell
Set-VM -Name "VM1" -CheckpointType Disabled
这个命令可以禁用虚拟机的检查点功能,确保在虚拟机关闭时不会自动创建检查点。

设置虚拟机的优先级:
powershell
Set-VM -Name "VM1" -Priority High
这个命令可以设置虚拟机的优先级为高,确保在宿主机资源受限时获得更多的资源配额。

复制虚拟机配置:
powershell
Copy-VM -Name "VM1" -DestinationHost "AnotherHost" -IncludeStorage -VHDPathMapping @{ "C:\VMs\VM1"="D:\VMs\VM1" }
这个命令可以将指定虚拟机及其相关的存储复制到另一台 Hyper-V 宿主机上。

+


在 PowerShell 中,可以使用 Hyper-V 模块来批量管理 Hyper-V 主机和虚拟机。下面是一些常见的命令示例,帮助你批量管理 Hyper-V 环境。

1. 列出所有虚拟机

列出当前 Hyper-V 主机上的所有虚拟机。

powershellCopy Code
Get-VM

2. 批量启动所有虚拟机

通过 Get-VM 获取所有虚拟机,然后使用 Start-VM 启动它们。

powershellCopy Code
Get-VM | Start-VM

3. 批量停止所有虚拟机

通过 Get-VM 获取所有虚拟机,并使用 Stop-VM 停止它们。

powershellCopy Code
Get-VM | Stop-VM

4. 批量重启所有虚拟机

通过 Get-VM 获取所有虚拟机,并使用 Restart-VM 重启它们。

powershellCopy Code
Get-VM | Restart-VM

5. 获取所有虚拟机的状态

你可以查看所有虚拟机的当前状态(运行中、关闭、暂停等)。

powershellCopy Code
Get-VM | Select-Object Name, State

6. 批量创建虚拟机

可以使用 New-VM 来批量创建多个虚拟机。这里的示例批量创建 5 个虚拟机:

powershellCopy Code
1..5 | ForEach-Object {
    New-VM -Name "VM$_" -MemoryStartupBytes 2GB -Generation 2 -Path "D:\VMs"
}

7. 批量删除虚拟机

通过 Get-VM 获取所有虚拟机并使用 Remove-VM 删除它们。如果需要删除时不询问确认,可以添加 -Force 参数。

powershellCopy Code
Get-VM | Remove-VM -Force

8. 批量修改虚拟机的内存大小

使用 Set-VM 来更改虚拟机的内存大小。以下示例将所有虚拟机的内存设置为 4GB:

powershellCopy Code
Get-VM | Set-VM -MemoryStartupBytes 4GB

9. 批量迁移虚拟机

假设你有多个 Hyper-V 主机,并且想要将虚拟机迁移到另一台主机上,你可以使用以下命令进行迁移。

powershellCopy Code
Get-VM | Move-VM -DestinationHost "NewHost"

10. 获取虚拟机的网络适配器

查看虚拟机的网络适配器设置。

powershellCopy Code
Get-VMNetworkAdapter -VMName "VM1"

11. 批量禁用虚拟机的检查点

禁用所有虚拟机的检查点功能。

powershellCopy Code
Get-VM | Set-VM -CheckpointType Disabled

12. 导出虚拟机

将虚拟机导出到指定位置:

powershellCopy Code
Get-VM | Export-VM -Path "C:\VMBackups"

13. 批量添加硬盘到虚拟机

将硬盘添加到所有虚拟机:

powershellCopy Code
Get-VM | ForEach-Object {
    Add-VMHardDiskDrive -VMName $_.Name -Path "D:\VMs\$($_.Name)\NewDisk.vhdx"
}

14. 获取 Hyper-V 主机的性能数据

查看 Hyper-V 主机的 CPU、内存、网络等性能数据:

powershellCopy Code
Get-VMHost | Select-Object Name, CpuUsage, MemoryAssigned, NetworkUtilization

以上是一些常见的 PowerShell 命令示例,通过这些命令你可以批量管理 Hyper-V 虚拟机和主机,方便高效地管理多个虚拟化资源。

PowerShell 批量管理 Hyper-V 虚拟机的常见命令示例,帮助你更有效地管理和操作虚拟机:

1. 列出所有虚拟机

powershellCopy Code
Get-VM

该命令会列出当前 Hyper-V 主机上的所有虚拟机,包括虚拟机的名称、状态等信息。

2. 批量启动所有虚拟机

powershellCopy Code
Get-VM | Start-VM

这个命令会启动所有虚拟机。

3. 批量停止所有虚拟机

powershellCopy Code
Get-VM | Stop-VM

该命令会停止所有虚拟机。

4. 批量重启所有虚拟机

powershellCopy Code
Get-VM | Restart-VM

该命令会重启所有虚拟机。

5. 获取虚拟机的状态

powershellCopy Code
Get-VM | Select-Object Name, State

此命令将显示所有虚拟机的名称和它们的当前状态(例如正在运行或已关闭)。

6. 批量创建虚拟机

powershellCopy Code
1..5 | ForEach-Object { New-VM -Name "VM$_" -MemoryStartupBytes 2GB -Generation 2 -Path "D:\VMs" }

这个命令会批量创建5个虚拟机,每个虚拟机有2GB内存,并且存储在 D:\VMs 路径下。

7. 批量删除虚拟机

powershellCopy Code
Get-VM | Remove-VM -Force

该命令会删除所有虚拟机(需要强制删除)。

8. 批量修改虚拟机的内存大小

powershellCopy Code
Get-VM | Set-VM -MemoryStartupBytes 4GB

这个命令将所有虚拟机的内存大小修改为 4GB。

9. 批量迁移虚拟机到新主机

powershellCopy Code
Get-VM | Move-VM -DestinationHost "NewHost"

该命令会将所有虚拟机迁移到指定的目标主机 NewHost

10. 查看某个虚拟机的网络适配器信息

powershellCopy Code
Get-VMNetworkAdapter -VMName "VM1"

查看虚拟机 VM1 的网络适配器信息。

11. 批量禁用虚拟机的检查点功能

powershellCopy Code
Get-VM | Set-VM -CheckpointType Disabled

禁用所有虚拟机的检查点功能(快照功能)。

12. 导出所有虚拟机

powershellCopy Code
Get-VM | Export-VM -Path "C:\VMBackups"

此命令将所有虚拟机导出到指定的路径 C:\VMBackups

13. 批量添加硬盘到虚拟机

powershellCopy Code
Get-VM | ForEach-Object { Add-VMHardDiskDrive -VMName $_.Name -Path "D:\VMs\$($_.Name)\NewDisk.vhdx" }

该命令为所有虚拟机添加硬盘。

14. 获取 Hyper-V 主机的性能数据

powershellCopy Code
Get-VMHost | Select-Object Name, CpuUsage, MemoryAssigned, NetworkUtilization

该命令将显示 Hyper-V 主机的性能数据,包括 CPU 使用率、分配的内存和网络利用率。

15. 批量启动虚拟机并记录日志

powershellCopy Code
Get-VM | Start-VM | Out-File "C:\VMStartLog.txt"

启动所有虚拟机并将操作记录到 C:\VMStartLog.txt 文件中。


这些命令示例将帮助你高效地批量管理 Hyper-V 虚拟机。根据你的需求,你可以进一步定制和调整这些命令。

继续补充一些PowerShell命令,用于批量管理和操作Hyper-V虚拟机的功能:

16. 批量调整虚拟机的处理器核心数

powershellCopy Code
Get-VM | Set-VMProcessor -Count 4

该命令将所有虚拟机的处理器核心数设置为4个。

17. 查看虚拟机的资源使用情况(CPU、内存等)

powershellCopy Code
Get-VM | Select-Object Name, @{Name="CPU Usage";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}, @{Name="Memory Usage";Expression={(Get-VM | Get-VMMemory).MemoryAssigned}}

此命令显示每个虚拟机的CPU使用情况和内存使用情况。

18. 批量启用虚拟机的动态内存

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $true

这个命令会为所有虚拟机启用动态内存。

19. 查看所有虚拟机的磁盘使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, ControllerType, Size

此命令会列出所有虚拟机的硬盘驱动器信息,包括路径、控制器类型和大小。

20. 批量更改虚拟机的启动顺序

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction StartIfRunning -AutomaticStopAction Save

这个命令将设置所有虚拟机的自动启动行为为“如果虚拟机正在运行,则启动”,并且停止时保存状态。

21. 批量启用虚拟机的检查点(快照)

powershellCopy Code
Get-VM | Set-VM -CheckpointType Standard

启用所有虚拟机的标准检查点(快照)功能。

22. 获取所有虚拟机的硬件配置信息

powershellCopy Code
Get-VM | Select-Object Name, MemoryAssigned, ProcessorCount, State, @{Name="HardDisks";Expression={(Get-VMHardDiskDrive -VMName $_.Name).Path}}, @{Name="NetworkAdapters";Expression={(Get-VMNetworkAdapter -VMName $_.Name).Name}}

此命令将列出所有虚拟机的硬件配置信息,包括内存、处理器、硬盘和网络适配器。

23. 获取虚拟机的日志文件

powershellCopy Code
Get-VM | ForEach-Object { Get-VMLog -VMName $_.Name }

获取所有虚拟机的日志文件,以便进行故障排查。

24. 批量更新虚拟机的时间同步设置

powershellCopy Code
Get-VM | Set-VMIntegrationService -Name "Time Synchronization" -Enabled $true

启用所有虚拟机的时间同步集成功能,确保虚拟机的时间与Hyper-V主机同步。

25. 批量创建虚拟机的快照

powershellCopy Code
Get-VM | New-VMSnapshot -Name "Snapshot_$(Get-Date -Format 'yyyyMMdd_HHmmss')"

该命令为所有虚拟机创建一个基于当前日期和时间的快照。

26. 查看虚拟机的集成服务状态

powershellCopy Code
Get-VM | Get-VMIntegrationService | Select-Object VMName, Name, Enabled

查看每个虚拟机集成服务的启用状态,包括时间同步、心跳等服务。

27. 查看虚拟机的网络连接状态

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, Status, SwitchName

显示每个虚拟机的网络适配器状态,包括连接状态和虚拟交换机名称。

28. 批量启动指定名称的虚拟机

powershellCopy Code
Get-VM -Name "VM1", "VM2", "VM3" | Start-VM

启动指定名称的虚拟机,例如 VM1VM2VM3

29. 批量停用虚拟机的集成服务

powershellCopy Code
Get-VM | Get-VMIntegrationService | Where-Object {$_.Name -eq "Heartbeat"} | Set-VMIntegrationService -Enabled $false

该命令将禁用所有虚拟机的“心跳”集成服务。

30. 导出指定虚拟机的快照

powershellCopy Code
Get-VMSnapshot -VMName "VM1" | Export-VMSnapshot -Path "C:\VMs\VM1_Snapshots"

该命令将导出虚拟机 VM1 的所有快照到指定的路径。

31. 批量安装虚拟机的集成服务

powershellCopy Code
Get-VM | Enable-VMIntegrationService -Name "Heartbeat"

该命令为所有虚拟机启用“心跳”集成服务。

32. 备份指定虚拟机

powershellCopy Code
Export-VM -Name "VM1" -Path "C:\VMBackups"

导出虚拟机 VM1,用于备份。

33. 批量停止虚拟机并强制关闭

powershellCopy Code
Get-VM | Stop-VM -Force

该命令会强制停止所有虚拟机。

34. 查看指定虚拟机的详细信息

powershellCopy Code
Get-VM -Name "VM1" | Format-List *

查看虚拟机 VM1 的所有详细信息,包括配置、硬件、状态等。

35. 批量启用虚拟机的复制功能

powershellCopy Code
Get-VM | Set-VMReplication -Enabled $true -ReplicationFrequencyInMinutes 5

启用所有虚拟机的复制功能,并设置复制频率为5分钟。


这些命令为你提供了更多的批量管理功能,可以帮助你更加高效地管理 Hyper-V 虚拟机,适应不同的操作需求。你可以根据具体情况调整命令和参数。

继续补充一些更高级的 PowerShell 命令,以帮助你批量管理和操作 Hyper-V 虚拟机。

36. 批量迁移虚拟机到不同的主机

powershellCopy Code
Get-VM | Move-VM -Destination "HyperVHost2"

将所有虚拟机迁移到 HyperVHost2 主机。可以根据需要调整目标主机名称。

37. 查看虚拟机的磁盘配置信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, ControllerType, Size, @{Name="DiskSpace";Expression={(Get-Item $_.Path).length / 1GB}} | Format-Table -AutoSize

此命令将列出每个虚拟机的硬盘驱动器路径、控制器类型、大小以及磁盘空间(以GB为单位)。

38. 查看虚拟机的网络适配器配置

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, SwitchName, MacAddress, Status

列出所有虚拟机的网络适配器信息,包括适配器名称、虚拟交换机、MAC地址以及状态。

39. 批量调整虚拟机的内存分配

powershellCopy Code
Get-VM | Set-VM -MemoryStartupBytes 4GB

将所有虚拟机的启动内存设置为 4GB。

40. 查看虚拟机的电源状态

powershellCopy Code
Get-VM | Select-Object Name, State

查看每个虚拟机的当前电源状态,例如“运行中”或“已关闭”。

41. 启用虚拟机的“检查点”功能(用于备份)

powershellCopy Code
Get-VM | Set-VM -CheckpointType Standard

启用所有虚拟机的标准检查点(快照)功能,这对备份和恢复非常有用。

42. 批量添加网络适配器到虚拟机

powershellCopy Code
Get-VM | Add-VMNetworkAdapter -SwitchName "VirtualSwitch" -Name "NewNetworkAdapter"

为所有虚拟机添加一个新的网络适配器,连接到 VirtualSwitch 虚拟交换机。

43. 列出所有虚拟机的磁盘和虚拟交换机

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Disks";Expression={(Get-VMHardDiskDrive -VMName $_.Name).Path}}, @{Name="VirtualSwitch";Expression={(Get-VMNetworkAdapter -VMName $_.Name).SwitchName}}

列出每个虚拟机的硬盘路径和虚拟交换机名称。

44. 批量设置虚拟机的自动启动行为

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction StartIfRunning -AutomaticStopAction TurnOff

为所有虚拟机设置自动启动行为为“如果正在运行,则启动”,自动停止行为为“关闭”。

45. 查看虚拟机的集成服务状态并启用所有集成服务

powershellCopy Code
Get-VM | Get-VMIntegrationService | Select-Object VMName, Name, Enabled | Where-Object {$_.Enabled -eq $false} | ForEach-Object { Set-VMIntegrationService -VMName $_.VMName -Name $_.Name -Enabled $true }

检查所有虚拟机的集成服务状态,如果未启用,自动启用相关服务。

46. 批量停止虚拟机并生成检查点

powershellCopy Code
Get-VM | Stop-VM -Force | ForEach-Object { New-VMSnapshot -VMName $_.Name -Name "Snapshot_before_shutdown" }

此命令会强制停止所有虚拟机并为每个虚拟机创建一个快照。

47. 查看虚拟机的 CPU 使用率

powershellCopy Code
Get-VM | Select-Object Name, @{Name="CPU Usage";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}

显示每个虚拟机的 CPU 使用情况(以百分比表示)。

48. 批量启用虚拟机的 Hyper-V 集成服务中的时间同步

powershellCopy Code
Get-VM | Set-VMIntegrationService -Name "Time Synchronization" -Enabled $true

为所有虚拟机启用“时间同步”集成功能,确保虚拟机时间与宿主机同步。

49. 批量删除虚拟机快照

powershellCopy Code
Get-VM | Get-VMSnapshot | Remove-VMSnapshot

删除所有虚拟机的快照,以释放存储空间。

50. 创建虚拟机的完整备份

powershellCopy Code
Get-VM | Export-VM -Path "C:\Backup\VM_Backups"

将所有虚拟机导出为备份,保存在指定路径中。

51. 批量安装虚拟机的增强功能包(如果尚未安装)

powershellCopy Code
Get-VM | Set-VM -EnhancedSessionModeEnabled $true

启用所有虚拟机的增强会话模式,这通常用于提供更好的虚拟机体验(如剪贴板共享等)。

52. 查看虚拟机的硬件兼容性

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Compatibility";Expression={(Get-VMHardwareCompatibility -VMName $_.Name).Level}}

查看每个虚拟机的硬件兼容性级别,以确定是否与主机硬件兼容。

53. 批量启动和关闭虚拟机

powershellCopy Code
Get-VM | Start-VM
Get-VM | Stop-VM

批量启动或停止所有虚拟机。

54. 批量更新虚拟机的虚拟硬盘大小

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VMHardDiskDrive -SizeBytes 100GB

将所有虚拟机的虚拟硬盘大小调整为 100GB。

55. 批量启用虚拟机的虚拟网络适配器的网络隔离

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Set-VMNetworkAdapter -Isolated $true

为所有虚拟机的网络适配器启用网络隔离。

56. 查看虚拟机的存储资源使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Used Space (GB)";Expression={(Get-Item $_.Path).length / 1GB}}, @{Name="Free Space (GB)";Expression={(Get-Item $_.Path).Drive().AvailableFreeSpace / 1GB}}

列出每个虚拟机的磁盘路径、已用空间和可用空间。


这些 PowerShell 命令可以帮助你实现对 Hyper-V 环境中的虚拟机进行更广泛、更深入的批量管理和操作。你可以根据实际的需求,灵活调整这些命令中的参数。

继续为你补充更多的 PowerShell 命令,这些命令可以帮助你进一步管理 Hyper-V 虚拟机。

57. 批量修改虚拟机的启动顺序

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction Start -AutomaticStopAction Save

为所有虚拟机设置启动行为为自动启动,并在关闭时保存虚拟机状态。

58. 列出虚拟机的存储位置

powershellCopy Code
Get-VM | Select-Object Name, @{Name="StoragePath";Expression={(Get-VMHardDiskDrive -VMName $_.Name).Path}}

列出所有虚拟机的存储路径,显示虚拟硬盘的具体位置。

59. 批量创建虚拟机的磁盘

powershellCopy Code
Get-VM | ForEach-Object { New-VHD -Path "C:\VMs\$($_.Name)\Virtual Hard Disks\$($_.Name).vhdx" -SizeBytes 50GB -Dynamic }

为所有虚拟机创建一个大小为 50GB 的动态虚拟硬盘。

60. 查看虚拟机的内存和 CPU 配置

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Memory (GB)";Expression={(Get-VM -Name $_.Name).MemoryStartupBytes / 1GB}}, @{Name="CPU Count";Expression={(Get-VMProcessor -VMName $_.Name).Count}}

查看每个虚拟机的内存大小(以GB为单位)和 CPU 核心数。

61. 批量更改虚拟机的内存限制

powershellCopy Code
Get-VM | Set-VM -MemoryMaximumBytes 8GB

将所有虚拟机的内存最大限制设置为 8GB。

62. 为虚拟机添加虚拟硬盘

powershellCopy Code
Get-VM | Add-VMHardDiskDrive -Path "C:\VMs\$($_.Name)\Virtual Hard Disks\$($_.Name)_New.vhdx"

为所有虚拟机添加一个新的虚拟硬盘,路径根据虚拟机名称动态生成。

63. 批量启用虚拟机的动态内存

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $true

启用所有虚拟机的动态内存,使得虚拟机可以根据需要动态调整内存大小。

64. 获取虚拟机的 IP 地址

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, IPAddress

显示每个虚拟机的 IP 地址。

65. 批量创建虚拟机快照(检查点)并保留一定时间

powershellCopy Code
Get-VM | ForEach-Object { New-VMSnapshot -VMName $_.Name -Name "Snapshot_$(Get-Date -Format 'yyyyMMddHHmmss')" }

为所有虚拟机创建一个新的快照,并附加时间戳。

66. 批量删除所有虚拟机的快照

powershellCopy Code
Get-VM | Get-VMSnapshot | Remove-VMSnapshot

删除所有虚拟机的所有快照。

67. 批量启用虚拟机的“安全启动”功能

powershellCopy Code
Get-VM | Set-VMFirmware -EnableSecureBoot On

为所有虚拟机启用安全启动功能。

68. 查看虚拟机的运行状态及运行时长

powershellCopy Code
Get-VM | Select-Object Name, State, @{Name="Uptime";Expression={(Get-Date) - (Get-VM -Name $_.Name).CreationTime}}

查看虚拟机的运行状态(如“运行中”、“关闭”)以及自启动以来的运行时长。

69. 查看虚拟机的日志文件

powershellCopy Code
Get-VM | Get-VMLog -Path "C:\VMs\$($_.Name)\Logs"

获取每个虚拟机的日志文件,路径根据虚拟机名称动态生成。

70. 批量停止虚拟机并创建快照

powershellCopy Code
Get-VM | Stop-VM -Force | ForEach-Object { New-VMSnapshot -VMName $_.Name -Name "PreShutdown_Snapshot" }

停止所有虚拟机并为每个虚拟机创建一个快照,便于恢复。

71. 列出虚拟机的操作系统版本

powershellCopy Code
Get-VM | Select-Object Name, @{Name="OS Version";Expression={(Get-VMOperatingSystem -VMName $_.Name).Version}}

列出每个虚拟机的操作系统版本。

72. 批量查看虚拟机的硬盘信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Size (GB)";Expression={(Get-Item $_.Path).length / 1GB}}

查看每个虚拟机的硬盘信息,包括硬盘路径和大小(GB)。

73. 批量启用虚拟机的网络适配器带宽限制

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Set-VMNetworkAdapter -MaximumBandwidth 100Mbps

为所有虚拟机的网络适配器设置带宽限制,最大带宽为 100Mbps。

74. 批量增加虚拟机的 CPU 核心数

powershellCopy Code
Get-VM | Set-VMProcessor -Count 4

为所有虚拟机增加 CPU 核心数,设置为 4 核。

75. 查看虚拟机的磁盘类型

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, ControllerType, @{Name="DiskType";Expression={if($_.IsSSD){"SSD"}else{"HDD"}}}

查看每个虚拟机的磁盘类型(SSD 或 HDD)。

76. 批量创建虚拟机的网络交换机

powershellCopy Code
Get-VM | Add-VMNetworkAdapter -SwitchName "NewVirtualSwitch"

为所有虚拟机添加一个新的网络适配器,并将其连接到名为 NewVirtualSwitch 的虚拟交换机。

77. 批量导入虚拟机

powershellCopy Code
Get-ChildItem "C:\VMs" -Recurse -Filter "*.vmcx" | ForEach-Object { Import-VM -Path $_.FullName }

批量导入所有位于指定目录(C:\VMs)及其子目录中的虚拟机配置文件(.vmcx)。

78. 批量删除虚拟机

powershellCopy Code
Get-VM | Remove-VM -Force

删除所有虚拟机(包括其虚拟硬盘和配置文件)。

79. 批量备份虚拟机

powershellCopy Code
Get-VM | Export-VM -Path "C:\Backup\VM_Backups\$($_.Name)"

批量导出所有虚拟机并将其备份到指定路径。

80. 查看虚拟机的操作系统信息

powershellCopy Code
Get-VM | Select-Object Name, @{Name="OS";Expression={(Get-VMOperatingSystem -VMName $_.Name).Caption}}

查看每个虚拟机的操作系统名称。


这些命令将进一步帮助你在 PowerShell 中有效地管理 Hyper-V 虚拟机,包括创建快照、调整虚拟机配置、查看硬件资源使用情况等。如果你有其他具体需求,随时告诉我,我可以继续为你补充更多的命令。

继续补充更多的 PowerShell 命令,帮助你进一步管理 Hyper-V 虚拟机。

81. 批量设置虚拟机的启动顺序

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction Start -AutomaticStopAction Shutdown

为所有虚拟机设置自动启动行为为“启动”,自动停止行为为“关闭”。

82. 查看虚拟机的虚拟硬盘详细信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, Size, @{Name="DiskType";Expression={if($_.IsSSD){"SSD"}else{"HDD"}}}

查看每个虚拟机的硬盘详细信息,包括路径、大小和磁盘类型。

83. 批量启动虚拟机

powershellCopy Code
Get-VM | Start-VM

启动所有虚拟机。

84. 批量停止虚拟机并强制关闭

powershellCopy Code
Get-VM | Stop-VM -Force

强制停止所有虚拟机。

85. 获取虚拟机的 CPU 使用率

powershellCopy Code
Get-VM | Select-Object Name, @{Name="CPU Usage (%)";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}

查看每个虚拟机的 CPU 使用率(百分比)。

86. 查看虚拟机的内存使用情况

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Memory Usage (MB)";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory / 1MB}}

查看每个虚拟机的内存使用情况,以 MB 为单位。

87. 批量添加网络适配器并连接到指定交换机

powershellCopy Code
Get-VM | Add-VMNetworkAdapter -SwitchName "MyVirtualSwitch"

为所有虚拟机添加一个新的网络适配器,并将其连接到名为 "MyVirtualSwitch" 的虚拟交换机。

88. 批量修改虚拟机的内存设置

powershellCopy Code
Get-VM | Set-VM -MemoryStartupBytes 4GB

为所有虚拟机设置启动内存为 4GB。

89. 批量启用虚拟机的集成服务

powershellCopy Code
Get-VM | Enable-VMIntegrationService -Name "Time Synchronization"

为所有虚拟机启用集成服务中的时间同步功能。

90. 查看虚拟机的硬盘健康状态

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="HealthStatus";Expression={(Get-PhysicalDisk -FriendlyName $_.Path).OperationalStatus}}

查看每个虚拟机的硬盘健康状态,显示硬盘的操作状态。

91. 列出虚拟机网络适配器的详细信息

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, SwitchName, MacAddress, Status

列出所有虚拟机的网络适配器详细信息,包括适配器名称、连接的交换机、MAC 地址和状态。

92. 查看虚拟机的磁盘空间使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Used Space (GB)";Expression={(Get-Item $_.Path).length / 1GB}}

查看每个虚拟机的磁盘空间使用情况,以 GB 为单位。

93. 批量禁用虚拟机的检查点

powershellCopy Code
Get-VM | Set-VM -CheckpointType Disabled

禁用所有虚拟机的检查点(快照)功能。

94. 批量启用虚拟机的磁盘 I/O 限制

powershellCopy Code
Get-VM | Set-VMHardDiskDrive -IOPS 100

为所有虚拟机的磁盘设置 IOPS(每秒输入输出操作)限制,设置为 100。

95. 查看虚拟机的状态和内存使用情况

powershellCopy Code
Get-VM | Select-Object Name, State, @{Name="Memory Usage (MB)";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory / 1MB}}

查看虚拟机的当前状态(运行中、关闭等)和内存使用情况。

96. 批量更改虚拟机的操作系统版本

powershellCopy Code
Get-VM | Set-VMOperatingSystem -Version "WindowsServer2019Datacenter"

将所有虚拟机的操作系统版本更改为 Windows Server 2019 Datacenter。

97. 为虚拟机设置自定义启动顺序

powershellCopy Code
$VMs = Get-VM
$VMs[0] | Set-VM -AutomaticStartAction Start
$VMs[1] | Set-VM -AutomaticStartAction None

为多个虚拟机设置自定义的启动顺序,第一个虚拟机自动启动,第二个虚拟机不启动。

98. 批量更新虚拟机的集成服务

powershellCopy Code
Get-VM | Enable-VMIntegrationService -Name "Heartbeat"

为所有虚拟机启用“Heartbeat”集成服务,以确保虚拟机的健康状态。

99. 获取虚拟机的启动项

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Boot Order";Expression={(Get-VMFirmware -VMName $_.Name).BootOrder}}

查看每个虚拟机的启动项配置(硬盘、网络等)。

100. 批量查看虚拟机的磁盘使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk Space Usage (GB)";Expression={(Get-Item $_.Path).length / 1GB}}

查看每个虚拟机的磁盘空间使用情况(以 GB 为单位)。

101. 批量移除虚拟机的网络适配器

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Remove-VMNetworkAdapter

移除所有虚拟机的网络适配器。

102. 为虚拟机启用磁盘快照功能

powershellCopy Code
Get-VM | Set-VMHardDiskDrive -SnapshotFileName "Snapshot.vhdx"

为所有虚拟机启用磁盘快照功能,设置快照文件名为 "Snapshot.vhdx"。

103. 批量为虚拟机配置 NTP 时间同步

powershellCopy Code
Get-VM | Set-VMIntegrationService -Name "Time Synchronization" -Enabled $true

为所有虚拟机启用时间同步功能,确保虚拟机的时间与主机同步。

104. 批量配置虚拟机的 DHCP 设置

powershellCopy Code
Get-VM | Set-VMNetworkAdapter -DynamicMACAddress $true

为所有虚拟机配置动态 MAC 地址,从而启用 DHCP 功能。

105. 获取虚拟机的错误日志

powershellCopy Code
Get-VM | Get-VmErrorLog | Select-Object VMName, Message, Time

查看每个虚拟机的错误日志信息。


这些命令会帮助你实现对虚拟机的全面管理,包括磁盘空间监控、集成服务配置、网络适配器管理、操作系统版本更改等。 

继续补充更多的 PowerShell 命令,帮助你更好地管理 Hyper-V 虚拟机:

106. 批量创建虚拟机

powershellCopy Code
1..10 | ForEach-Object {
    New-VM -Name "VM$_" -MemoryStartupBytes 2GB -Generation 2 -Path "C:\VMs"
}

批量创建 10 个虚拟机,命名为 VM1、VM2、VM3,等等,设置 2GB 内存,并指定虚拟机文件的存储路径。

107. 批量为虚拟机设置操作系统镜像

powershellCopy Code
Get-VM | Set-VM -OperatingSystem -Path "D:\ISO\WindowsServer2019.iso"

为所有虚拟机设置操作系统安装镜像文件(ISO)。

108. 列出虚拟机的磁盘 IOPS (每秒输入输出操作) 设置

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, IOPS

查看每个虚拟机硬盘的 IOPS 配置,了解磁盘的每秒输入输出操作设置。

109. 更改虚拟机的磁盘控制器类型

powershellCopy Code
Get-VM | Set-VMHardDiskDrive -ControllerType SCSI

将所有虚拟机的磁盘控制器类型设置为 SCSI。

110. 为虚拟机设置高可用性

powershellCopy Code
Get-VM | Set-VMHighAvailability -Enabled $true

为所有虚拟机启用高可用性,以保证在故障时自动恢复。

111. 批量设置虚拟机的虚拟处理器核心数

powershellCopy Code
Get-VM | Set-VMProcessor -Count 4

为所有虚拟机设置虚拟处理器核心数为 4。

112. 列出所有虚拟机的存储池使用情况

powershellCopy Code
Get-VM | Get-VHD | Select-Object VMName, Path, @{Name="Used Space (GB)";Expression={(Get-Item $_.Path).length / 1GB}}

查看所有虚拟机的虚拟硬盘存储池使用情况。

113. 禁用虚拟机的动态内存

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $false

禁用所有虚拟机的动态内存功能。

114. 查看虚拟机的网络连接状态

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, Status, SwitchName

查看每个虚拟机网络适配器的连接状态,包括网络交换机名称和适配器状态。

115. 批量为虚拟机启用 CPU 限制

powershellCopy Code
Get-VM | Set-VMProcessor -Maximum 80

为所有虚拟机设置 CPU 最大使用率为 80%。

116. 批量删除虚拟机的检查点

powershellCopy Code
Get-VM | Get-VMSnapshot | Remove-VMSnapshot

删除所有虚拟机的所有检查点(快照)。

117. 获取虚拟机的文件系统信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | ForEach-Object { Get-Volume -FileSystemLabel $_.Path }

查看所有虚拟机磁盘的文件系统信息。

118. 为虚拟机启用或禁用虚拟化扩展

powershellCopy Code
Get-VM | Set-VMProcessor -VirtualizationExtensionsEnabled $true

启用所有虚拟机的虚拟化扩展,允许虚拟机支持硬件级虚拟化。

119. 查看虚拟机的网络带宽使用情况

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, @{Name="Bandwidth (Mbps)";Expression={($_.Bandwidth / 1MB)}}

查看每个虚拟机的网络带宽使用情况,显示带宽单位为 Mbps。

120. 批量创建虚拟机的 VHDX 文件

powershellCopy Code
1..10 | ForEach-Object {
    New-VHD -Path "C:\VMs\VM$_\VirtualHardDisks\VM$_-Disk.vhdx" -SizeBytes 50GB -Dynamic
}

批量为虚拟机创建 50GB 的动态 VHDX 硬盘。

121. 设置虚拟机的时间同步服务

powershellCopy Code
Get-VM | Set-VMIntegrationService -Name "Time Synchronization" -Enabled $true

为所有虚拟机启用时间同步服务,确保虚拟机的时间与宿主机同步。

122. 为虚拟机配置自定义启动顺序

powershellCopy Code
Get-VM | Set-VMFirmware -BootOrder (Get-VMHardDiskDrive -VMName $_.Name), (Get-VMNetworkAdapter -VMName $_.Name)

为所有虚拟机配置启动顺序:先从虚拟硬盘启动,再从网络启动。

123. 为虚拟机设置存储 QoS(存储质量服务)

powershellCopy Code
Get-VM | Set-VMHardDiskDrive -StorageQualityOfServiceLevel "Medium"

为所有虚拟机的硬盘设置存储质量服务级别为 "Medium"。

124. 查看虚拟机的虚拟化平台信息

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, ProcessorArchitecture, ProcessorCount

查看每个虚拟机的处理器架构和处理器数量。

125. 查看虚拟机的内存分配

powershellCopy Code
Get-VM | Get-VMMemory | Select-Object VMName, AssignedMemory, MinimumMemory, MaximumMemory

查看每个虚拟机的内存分配情况,包括分配内存、最小内存和最大内存。

126. 为虚拟机设置硬盘访问限制

powershellCopy Code
Get-VM | Set-VMHardDiskDrive -IOPSLimit 200

为所有虚拟机设置硬盘的 IOPS 限制,最多每秒 200 次操作。

127. 查看虚拟机的网络适配器详细信息

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, MacAddress, SwitchName, Status

查看每个虚拟机网络适配器的详细信息,包括名称、MAC 地址、连接的交换机和状态。

128. 获取虚拟机的实时状态信息

powershellCopy Code
Get-VM | Select-Object Name, State, @{Name="CPU Usage (%)";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}, @{Name="Memory Usage (MB)";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory / 1MB}}

查看每个虚拟机的实时状态信息,包括 CPU 使用率和内存使用量。

129. 为虚拟机设置防火墙规则

powershellCopy Code
Get-VM | Set-VMNetworkAdapter -FirewallEnabled $true

为所有虚拟机启用防火墙规则。

130. 为虚拟机创建新的快照

powershellCopy Code
Get-VM | New-VMSnapshot -Name "Snapshot-$(Get-Date -Format 'yyyyMMddHHmmss')" -SnapshotType Standard

为所有虚拟机创建新的标准类型快照,使用时间戳作为快照名称。


这些命令进一步扩展了你对虚拟机的管理能力,包括虚拟机创建、虚拟机硬件配置、快照管理、性能监控和网络配置等。

继续补充更多的 PowerShell 命令来帮助你管理 Hyper-V 虚拟机:

131. 获取虚拟机的磁盘使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Size (GB)";Expression={($_.Size / 1GB)}}

查看每个虚拟机硬盘的使用情况,显示磁盘的大小(GB)。

132. 检查虚拟机的资源配额

powershellCopy Code
Get-VM | Select-Object Name, MemoryStartupBytes, ProcessorCount, @{Name="MaxMemory";Expression={(Get-VMMemory -VMName $_.Name).MaximumMemory}}, @{Name="ProcessorLimit";Expression={(Get-VMProcessor -VMName $_.Name).Maximum}}

查看虚拟机的内存和处理器资源配额,包括最大内存和最大 CPU 数量。

133. 为虚拟机设置 VHD 文件的大小

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VHD -SizeBytes 100GB

为所有虚拟机的虚拟硬盘设置大小为 100GB。

134. 启用或禁用虚拟机的集成服务

powershellCopy Code
Get-VM | Set-VMIntegrationService -Name "Heartbeat" -Enabled $true

启用或禁用虚拟机的集成服务(如“Heartbeat”服务)。

135. 导出虚拟机到指定路径

powershellCopy Code
Export-VM -Name "VM1" -Path "C:\ExportedVMs"

将名为 VM1 的虚拟机导出到指定路径。

136. 从导出的文件重新导入虚拟机

powershellCopy Code
Import-VM -Path "C:\ExportedVMs\VM1"

从之前导出的文件重新导入虚拟机。

137. 批量启用虚拟机的自动启动

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction StartIfRunning

为所有虚拟机启用自动启动,如果虚拟机在主机启动时运行,则继续运行。

138. 设置虚拟机的自动关机行为

powershellCopy Code
Get-VM | Set-VM -AutomaticStopAction Shutdown

为所有虚拟机设置自动关机行为,虚拟机将在宿主机关闭时执行关闭操作。

139. 查看虚拟机的事件日志

powershellCopy Code
Get-VM | Get-WinEvent -LogName "System" | Where-Object {$_.Message -like "*VM*"} | Select-Object TimeCreated, Message

查看虚拟机相关的事件日志,筛选出包含 "VM" 的信息。

140. 获取虚拟机的电源状态

powershellCopy Code
Get-VM | Select-Object Name, State

查看每个虚拟机的电源状态(例如正在运行、已关闭等)。

141. 调整虚拟机的内存分配

powershellCopy Code
Get-VM | Set-VM -MemoryStartupBytes 4GB

为所有虚拟机设置启动内存为 4GB。

142. 配置虚拟机的网络适配器为桥接模式

powershellCopy Code
Get-VM | Set-VMNetworkAdapter -SwitchName "External Switch"

为所有虚拟机配置网络适配器,连接到名为 "External Switch" 的虚拟交换机。

143. 增加虚拟机的虚拟硬盘空间

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Resize-VHD -SizeBytes 200GB

为所有虚拟机的硬盘增加空间,将大小调整为 200GB。

144. 创建和连接虚拟机的光驱

powershellCopy Code
Get-VM | Add-VMDvdDrive -Path "C:\ISO\Windows.iso"

为所有虚拟机添加并连接一个光驱,指向指定的 ISO 文件。

145. 移除虚拟机的网络适配器

powershellCopy Code
Get-VM | Remove-VMNetworkAdapter -Name "Ethernet0"

为所有虚拟机移除名为 "Ethernet0" 的网络适配器。

146. 设置虚拟机的内存动态调整

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $true -MemoryMinimumBytes 1GB -MemoryMaximumBytes 8GB

为所有虚拟机启用动态内存,并设置最小内存为 1GB,最大内存为 8GB。

147. 设置虚拟机的处理器虚拟化扩展

powershellCopy Code
Get-VM | Set-VMProcessor -VirtualizationExtensionsEnabled $true

为所有虚拟机启用处理器的虚拟化扩展,支持更高效的虚拟化。

148. 创建虚拟机的快照并指定描述

powershellCopy Code
New-VMSnapshot -VMName "VM1" -Name "Snapshot-$(Get-Date -Format 'yyyyMMddHHmmss')" -Description "Pre-update snapshot"

为虚拟机创建快照,并为快照添加描述。

149. 导出虚拟机的检查点(快照)

powershellCopy Code
Get-VMSnapshot -VMName "VM1" | Export-VMSnapshot -Path "C:\Snapshots"

导出虚拟机的检查点文件到指定目录。

150. 恢复虚拟机到指定快照

powershellCopy Code
Get-VMSnapshot -VMName "VM1" -Name "Snapshot-20250305" | Restore-VMSnapshot

将虚拟机恢复到指定的快照。

151. 批量设置虚拟机的虚拟硬盘类型为固定大小

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VHD -Fixed

将所有虚拟机的硬盘类型设置为固定大小。

152. 为虚拟机配置监控设置

powershellCopy Code
Get-VM | Set-VM -GuestControlledCacheTypes $true

为所有虚拟机启用或禁用受客操作系统控制的缓存类型。

153. 查看虚拟机的虚拟硬件信息

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Processor";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorCount}}, @{Name="Memory";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory}}, @{Name="Disk";Expression={(Get-VMHardDiskDrive -VMName $_.Name).Path}}

查看虚拟机的处理器、内存和硬盘信息。

154. 为虚拟机设置 UEFI 固件启动

powershellCopy Code
Get-VM | Set-VMFirmware -BootOrder (Get-VMNetworkAdapter), (Get-VMHardDiskDrive)

为所有虚拟机设置 UEFI 固件启动顺序,先从网络启动,再从硬盘启动。

155. 更改虚拟机的硬盘控制器

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VMHardDiskDrive -ControllerType IDE

更改所有虚拟机的硬盘控制器类型为 IDE。

156. 查看虚拟机的内存和 CPU 使用情况

powershellCopy Code
Get-VM | Select-Object Name, @{Name="Memory Usage (MB)";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory / 1MB}}, @{Name="CPU Usage (%)";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}

查看每个虚拟机的内存和 CPU 使用情况。

157. 查看虚拟机的电源管理设置

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, @{Name="ProcessorCount";Expression={$_.ProcessorCount}}, @{Name="MaxProcessors";Expression={$_.Maximum}}

查看虚拟机的处理器数量和最大处理器数量。


这些命令涉及到了更多的虚拟机管理任务,例如硬件配置、资源配额、虚拟机的电源管理、网络配置、快照管理等。继续探索 PowerShell 对 Hyper-V 的强大支持,可以让你更灵活地管理和优化你的虚拟化环境!

继续补充更多的 PowerShell 命令来帮助你更好地管理 Hyper-V 虚拟机。下面是一些额外的命令:

158. 获取虚拟机的操作系统信息

powershellCopy Code
Get-VM | Select-Object Name, @{Name="OS";Expression={(Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.Name).Caption}}

查看每个虚拟机的操作系统信息。

159. 列出虚拟机的所有网络适配器

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, SwitchName, MacAddress

列出每个虚拟机的网络适配器信息,包括名称、连接的虚拟交换机和 MAC 地址。

160. 查看虚拟机的磁盘分区信息

powershellCopy Code
Get-VM | ForEach-Object { Get-VMHardDiskDrive -VMName $_.Name | Select-Object VMName, Path, @{Name="Disk Size (GB)";Expression={($_.Size / 1GB)}} }

查看每个虚拟机磁盘的分区信息,并显示其大小。

161. 配置虚拟机的内存限制

powershellCopy Code
Get-VM | Set-VM -MemoryMaximumBytes 8GB

为所有虚拟机设置最大内存限制为 8GB。

162. 列出虚拟机的所有快照

powershellCopy Code
Get-VM | Get-VMSnapshot | Select-Object VMName, Name, CreationTime

列出所有虚拟机的快照,包括名称和创建时间。

163. 批量为虚拟机启用虚拟化扩展

powershellCopy Code
Get-VM | Set-VMProcessor -VirtualizationExtensionsEnabled $true

为所有虚拟机启用虚拟化扩展。

164. 为虚拟机配置高可用性

powershellCopy Code
Get-VM | Set-VMHighAvailability -Enabled $true

为所有虚拟机配置高可用性,确保在宿主机出现故障时自动迁移。

165. 为虚拟机设置特定的启动延迟

powershellCopy Code
Get-VM | Set-VM -AutomaticStartDelay 30

为所有虚拟机设置自动启动延迟,单位为秒(例如,设置延迟 30 秒)。

166. 更改虚拟机的处理器数量

powershellCopy Code
Get-VM | Set-VMProcessor -ProcessorCount 4

为所有虚拟机配置 4 个虚拟处理器。

167. 为虚拟机添加一个新的硬盘

powershellCopy Code
Get-VM | Add-VMHardDiskDrive -Path "C:\VMData\NewDisk.vhdx"

为所有虚拟机添加一个新的虚拟硬盘。

168. 为虚拟机添加一个新的网络适配器

powershellCopy Code
Get-VM | Add-VMNetworkAdapter -SwitchName "External Switch" -Name "Ethernet1"

为所有虚拟机添加一个新的网络适配器并连接到指定的虚拟交换机。

169. 为虚拟机设置启动顺序

powershellCopy Code
Get-VM | Set-VMFirmware -BootOrder (Get-VMHardDiskDrive), (Get-VMNetworkAdapter)

为所有虚拟机设置启动顺序,优先从硬盘启动,然后从网络启动。

170. 删除虚拟机的硬盘

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Remove-VMHardDiskDrive

删除所有虚拟机的虚拟硬盘。

171. 查看虚拟机的虚拟交换机

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, SwitchName

查看每个虚拟机所连接的虚拟交换机。

172. 查看虚拟机的内存动态调整配置

powershellCopy Code
Get-VM | Get-VMMemory | Select-Object VMName, DynamicMemoryEnabled, MinimumBytes, MaximumBytes

查看每个虚拟机的动态内存配置,包括是否启用动态内存以及其最小和最大内存设置。

173. 更改虚拟机的网络适配器类型

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Set-VMNetworkAdapter -AdapterType "Extensible Switch"

更改虚拟机的网络适配器类型为可扩展交换机。

174. 启用虚拟机的快照合并

powershellCopy Code
Get-VM | Get-VMSnapshot | Merge-VMSnapshot

合并虚拟机的所有快照,释放存储空间。

175. 查看虚拟机的资源使用情况

powershellCopy Code
Get-VM | Select-Object Name, @{Name="CPU Usage (%)";Expression={(Get-VMProcessor -VMName $_.Name).ProcessorLoad}}, @{Name="Memory Usage (MB)";Expression={(Get-VMMemory -VMName $_.Name).AssignedMemory / 1MB}}

查看每个虚拟机的 CPU 和内存使用情况。

176. 启用虚拟机的内存资源分配

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $true -MemoryMinimumBytes 1GB -MemoryMaximumBytes 16GB

启用虚拟机的动态内存资源分配,设置最小内存为 1GB,最大内存为 16GB。

177. 创建虚拟机的网络交换机

powershellCopy Code
New-VMSwitch -Name "Internal Switch" -SwitchType Internal

创建一个名为 "Internal Switch" 的内部虚拟交换机。

178. 删除虚拟交换机

powershellCopy Code
Get-VMSwitch -Name "Internal Switch" | Remove-VMSwitch

删除指定的虚拟交换机。

179. 为虚拟机设置磁盘缓存策略

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VHD -CacheSize 256MB

为所有虚拟机的硬盘设置缓存策略,指定缓存大小为 256MB。

180. 查看虚拟机的日志信息

powershellCopy Code
Get-VM | Get-VMLog

查看虚拟机的日志信息,帮助排查虚拟机的问题。


这些命令涵盖了虚拟机管理的更多方面,包括硬件配置、内存资源、处理器、网络、虚拟交换机的管理等。你可以根据需要进行修改和调整,来满足特定的管理需求

继续补充更多 PowerShell 命令来帮助你更高效地管理 Hyper-V 虚拟机:

181. 获取虚拟机的事件日志

powershellCopy Code
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-VMMS-Admin" | Where-Object { $_.Message -like "*VM*" }

获取 Hyper-V 管理服务的事件日志,筛选出虚拟机相关的事件。

182. 获取虚拟机的资源池信息

powershellCopy Code
Get-VMResourcePool

查看虚拟机资源池的配置信息,帮助管理多个虚拟机资源的分配。

183. 为虚拟机配置动态磁盘

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VHD -Dynamic

将虚拟机的硬盘设置为动态扩展磁盘,使其能够根据需要动态调整大小。

184. 获取虚拟机的处理器配置信息

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, ProcessorCount, @{Name="ResourceAllocation";Expression={($_.ReservedProcessorCount)}}

查看虚拟机的处理器数量及其资源分配信息。

185. 列出虚拟机的所有磁盘

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk Size (GB)";Expression={($_.Size / 1GB)}}

列出所有虚拟机的硬盘信息,包括路径和大小。

186. 为虚拟机启用或禁用增强会话模式

powershellCopy Code
Get-VM | Set-VM -EnhancedSessionMode $true

为所有虚拟机启用增强会话模式,可以提供更高的显示分辨率、剪贴板共享等功能。

187. 配置虚拟机的启动顺序

powershellCopy Code
Get-VM | Set-VMFirmware -BootOrder (Get-VMHardDiskDrive), (Get-VMNetworkAdapter)

配置虚拟机的启动顺序,优先从硬盘启动。

188. 列出虚拟机的所有网络适配器

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, SwitchName, MacAddress

列出虚拟机的网络适配器信息,包括名称、连接的虚拟交换机和 MAC 地址。

189. 检查虚拟机是否启用了检查点

powershellCopy Code
Get-VM | Get-VMSnapshot | Select-Object VMName, Name, CreationTime

检查虚拟机是否启用了检查点,并查看检查点的详细信息。

190. 启用虚拟机的自动快照功能

powershellCopy Code
Get-VM | Set-VM -AutomaticCheckpointsEnabled $true

启用虚拟机的自动快照功能,确保定期生成虚拟机快照。

191. 查看虚拟机的集成服务状态

powershellCopy Code
Get-VM | Get-VMIntegrationService | Select-Object VMName, Name, Enabled

查看虚拟机的集成服务状态,确保各项服务是否启用。

192. 为虚拟机分配固定 IP 地址

powershellCopy Code
Get-VM | Set-VMNetworkAdapter -StaticMacAddress "00-15-5D-33-44-55"

为虚拟机的网络适配器配置静态 MAC 地址,有助于为虚拟机分配固定的 IP 地址。

193. 设置虚拟机的内存限制

powershellCopy Code
Get-VM | Set-VM -MemoryMaximumBytes 4GB

设置虚拟机的内存最大限制为 4GB。

194. 获取虚拟机的 IP 地址

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, IPAddresses

查看虚拟机的 IP 地址信息,帮助获取虚拟机的网络配置。

195. 禁用虚拟机的自动启动功能

powershellCopy Code
Get-VM | Set-VM -AutomaticStartAction NeverStart

禁用虚拟机的自动启动功能,不会在宿主机启动时自动启动虚拟机。

196. 启用虚拟机的自动重启功能

powershellCopy Code
Get-VM | Set-VM -AutomaticStopAction ShutDown -AutomaticStartAction StartIfRunning

启用虚拟机的自动重启功能,在宿主机重启时虚拟机会自动启动。

197. 查看虚拟机的实时性能数据

powershellCopy Code
Get-VM | Get-VMResourceUsage | Select-Object VMName, CPUUsage, MemoryUsage

查看虚拟机的实时资源使用情况,包括 CPU 和内存的使用百分比。

198. 列出虚拟机的所有硬盘和其状态

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk State";Expression={if($_.Connected){"Connected"}else{"Disconnected"}}}

列出所有虚拟机的硬盘及其连接状态。

199. 为虚拟机添加硬盘空间

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Set-VHD -SizeBytes 20GB

为所有虚拟机的硬盘添加额外的存储空间,将硬盘大小设置为 20GB。

200. 查看虚拟机的存储配置信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, Size

查看每个虚拟机的存储配置信息,包括路径和大小。

201. 删除虚拟机的快照

powershellCopy Code
Get-VM | Get-VMSnapshot | Remove-VMSnapshot

删除虚拟机的所有快照,释放存储空间。

202. 获取虚拟机的 CPU 使用情况

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, ProcessorLoad

查看虚拟机的 CPU 使用情况,帮助识别高负载的虚拟机。

203. 配置虚拟机的处理器预留资源

powershellCopy Code
Get-VM | Set-VMProcessor -ReservedProcessorCount 2

为虚拟机设置 CPU 预留资源,将预留的处理器数量设置为 2。

204. 停止虚拟机并关闭虚拟机的网络适配器

powershellCopy Code
Get-VM | Stop-VM -Force
Get-VM | Get-VMNetworkAdapter | Disable-VMNetworkAdapter

停止虚拟机并禁用其网络适配器,适用于维护或隔离网络流量的情况。

205. 恢复虚拟机的网络适配器

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Enable-VMNetworkAdapter

恢复虚拟机的网络适配器,恢复其网络连接。

206. 查看虚拟机的磁盘类型

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk Type";Expression={$_.ControllerType}}

查看虚拟机硬盘的控制器类型,帮助区分 IDE、SCSI 或 SATA 控制器。


这些命令涵盖了虚拟机的进一步管理、资源分配、网络配置、性能监控等方面。你可以根据具体的需求进行调整和使用。

继续补充更多 Hyper-V 虚拟机管理相关的 PowerShell 命令:

207. 启用虚拟机的时间同步功能

powershellCopy Code
Get-VM | Set-VM -TimeZone "UTC"
Get-VM | Set-VMIntegrationService -Name "Time Synchronization" -Enabled $true

启用虚拟机的时间同步功能,确保虚拟机与宿主机保持时间一致。

208. 列出虚拟机的所有快照

powershellCopy Code
Get-VM | Get-VMSnapshot | Select-Object VMName, Name, CreationTime

列出所有虚拟机的快照,查看每个虚拟机的历史快照信息。

209. 禁用虚拟机的内存动态调整功能

powershellCopy Code
Get-VM | Set-VM -DynamicMemoryEnabled $false

禁用虚拟机的内存动态调整功能,确保虚拟机使用固定的内存量。

210. 设置虚拟机的启动顺序(例如从 CD-ROM 启动)

powershellCopy Code
Get-VM | Set-VMFirmware -BootOrder (Get-VMDVDDrive)

设置虚拟机的启动顺序,优先从 CD-ROM 启动。

211. 获取虚拟机的硬盘分区信息

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | ForEach-Object { Get-Partition -DiskNumber $_.DiskNumber }

查看虚拟机的硬盘分区信息,了解虚拟机硬盘的详细配置。

212. 创建新的虚拟机快照

powershellCopy Code
Get-VM "VMName" | Checkpoint-VM -SnapshotName "SnapshotName"

创建一个虚拟机的快照,可以在之后恢复到此快照状态。

213. 恢复虚拟机到指定快照

powershellCopy Code
Get-VM "VMName" | Restore-VMSnapshot -Name "SnapshotName"

恢复虚拟机到指定快照,恢复虚拟机的状态到创建快照时的时间点。

214. 列出虚拟机的硬盘总大小

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Measure-Object -Property Size -Sum

列出所有虚拟机硬盘的总大小,帮助管理员了解虚拟机占用的磁盘空间总量。

215. 启用虚拟机的增强会话模式(针对 Windows 和 Linux 客户)

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionMode $true

启用增强会话模式,增强虚拟机的用户交互体验,例如支持剪贴板共享和高分辨率显示。

216. 查看虚拟机的硬盘驱动器配置

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, ControllerType, ControllerNumber, ControllerLocation

查看虚拟机硬盘的驱动器配置,包括硬盘控制器类型和位置。

217. 设置虚拟机的虚拟处理器数量

powershellCopy Code
Get-VM "VMName" | Set-VMProcessor -Count 4

设置虚拟机使用的虚拟处理器数量,在虚拟化环境中帮助优化计算资源的分配。

218. 获取虚拟机的内存分配和使用情况

powershellCopy Code
Get-VM | Get-VMMemory | Select-Object VMName, StartupMemory, DynamicMemoryEnabled, MaximumMemory

查看虚拟机的内存分配情况,包括启动内存、是否启用动态内存及最大内存配置。

219. 启用虚拟机的存储热迁移

powershellCopy Code
Get-VM | Set-VM -EnableStorageMigration $true

启用虚拟机的存储热迁移,允许将虚拟机存储从一个位置迁移到另一个位置,而不中断虚拟机运行。

220. 为虚拟机启用内存超分配

powershellCopy Code
Get-VM | Set-VM -MemoryMinimumBytes 2GB -MemoryMaximumBytes 4GB

为虚拟机启用内存超分配,设置内存的最小值和最大值。

221. 查看虚拟机的网络适配器状态

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, Status, MacAddress

查看虚拟机的网络适配器状态,帮助管理员确认虚拟机的网络连接情况。

222. 为虚拟机配置外部虚拟交换机

powershellCopy Code
Get-VM | Set-VMNetworkAdapter -SwitchName "ExternalSwitch"

将虚拟机的网络适配器连接到指定的外部虚拟交换机,使虚拟机可以访问外部网络。

223. 为虚拟机禁用或启用自动检查点

powershellCopy Code
Get-VM | Set-VM -AutomaticCheckpointsEnabled $false

禁用虚拟机的自动检查点功能,避免在虚拟机运行时自动生成检查点。

224. 检查虚拟机的磁盘是否压缩

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="CompressionStatus";Expression={if($_.IsCompressed){"Compressed"}else{"Not Compressed"}}}

检查虚拟机的硬盘是否启用了压缩功能,帮助节省磁盘空间。

225. 查看虚拟机的内存压力

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, ProcessorLoad, MemoryPressure

查看虚拟机的内存压力,帮助判断虚拟机是否面临内存瓶颈。

226. 查看虚拟机的存储性能

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Measure-Object -Property Size -Sum

查看虚拟机硬盘的存储性能,帮助管理员评估虚拟机的磁盘使用情况。

227. 创建虚拟机的备份

powershellCopy Code
Export-VM -Name "VMName" -Path "C:\VMBackups"

将虚拟机导出到指定路径,创建虚拟机的备份。

228. 从备份恢复虚拟机

powershellCopy Code
Import-VM -Path "C:\VMBackups\VMName"

从备份中恢复虚拟机,将虚拟机文件从备份位置导入到 Hyper-V。

229. 获取虚拟机的存储空间使用情况

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk Size (GB)";Expression={($_.Size / 1GB)}}

获取虚拟机硬盘的大小和占用情况,帮助了解虚拟机存储的使用情况。

230. 为虚拟机设置处理器优先级

powershellCopy Code
Get-VM | Set-VMProcessor -RelativeWeight 80

为虚拟机设置 CPU 处理器的优先级,调整虚拟机在宿主机上的资源调度优先级。


这些命令提供了进一步管理虚拟机资源、网络、存储、内存以及其他配置的能力。根据具体的管理需求,您可以使用这些命令来优化 Hyper-V 环境。

继续补充更多关于 Hyper-V 虚拟机管理的 PowerShell 命令:

231. 启用虚拟机的磁盘配额

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -Name "HardDisk1" -MaximumSizeBytes 100GB

为虚拟机的硬盘设置磁盘配额,限制虚拟硬盘的最大大小。

232. 更改虚拟机的操作系统类型

powershellCopy Code
Set-VM -Name "VMName" -GuestId "WindowsServer2019Standard"

更改虚拟机的操作系统类型(例如从 Windows Server 2016 改为 Windows Server 2019)。

233. 设置虚拟机的内存热迁移

powershellCopy Code
Set-VM -Name "VMName" -MemoryMaximumBytes 8GB -DynamicMemoryEnabled $true

设置虚拟机的内存热迁移功能,允许内存根据负载动态调整。

234. 获取虚拟机的硬件配置

powershellCopy Code
Get-VM | Select-Object Name, ProcessorCount, MemoryAssigned, Version

查看虚拟机的硬件配置,包括处理器数量、分配的内存和虚拟机版本。

235. 启用虚拟机的磁盘压缩

powershellCopy Code
Optimize-VHD -Path "C:\VMs\VMName\VMName.vhdx" -Mode Full

启用虚拟机硬盘的压缩,减少虚拟硬盘的空间占用。

236. 创建虚拟机的差异硬盘

powershellCopy Code
New-VHD -Path "C:\VMs\VMName\Diff.vhdx" -ParentPath "C:\VMs\VMName\Base.vhdx" -Differencing

创建虚拟机的差异硬盘(differencing disk),适用于虚拟机的快照管理和版本控制。

237. 增加虚拟机硬盘的容量

powershellCopy Code
Resize-VHD -Path "C:\VMs\VMName\VMName.vhdx" -SizeBytes 100GB

扩展虚拟机硬盘的容量,增加可用空间。

238. 为虚拟机添加光盘驱动器

powershellCopy Code
Add-VMDvdDrive -VMName "VMName" -Path "C:\ISO\Install.iso"

为虚拟机添加一个光盘驱动器,并挂载一个 ISO 文件。

239. 删除虚拟机的光盘驱动器

powershellCopy Code
Remove-VMDvdDrive -VMName "VMName" -ControllerLocation 0

删除虚拟机的光盘驱动器,可以是虚拟光盘驱动器的位置。

240. 修改虚拟机的网络适配器设置

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "Network Adapter" -StaticMacAddress "00-15-5D-1A-2B-3C"

为虚拟机的网络适配器设置静态 MAC 地址。

241. 启用虚拟机的多重磁盘共享(对于集群环境)

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -SharingMode MultiWriter

为虚拟机的硬盘启用多重磁盘共享,这通常用于集群环境。

242. 获取虚拟机的快照列表

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Select-Object Name, CreationTime

列出虚拟机的所有快照及其创建时间。

243. 创建并应用虚拟机的还原点

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "BackupSnapshot"

为虚拟机创建一个还原点,可以作为恢复点。

244. 查看虚拟机的事件日志

powershellCopy Code
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-VMMS-Admin" | Where-Object {$_.Message -like "*VMName*"}

查看与虚拟机相关的事件日志,以便诊断问题。

245. 调整虚拟机的 CPU 限制

powershellCopy Code
Set-VMProcessor -VMName "VMName" -ProcessorLimit 4

为虚拟机设置 CPU 限制,限制虚拟机最多使用的 CPU 核心数量。

246. 获取虚拟机的磁盘 IO 性能

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk IO";Expression={($_.DiskIO)}}

查看虚拟机磁盘的 I/O 性能,帮助分析磁盘性能瓶颈。

247. 启用虚拟机的内存超分配

powershellCopy Code
Set-VM -Name "VMName" -MemoryMaximumBytes 8GB -DynamicMemoryEnabled $true

启用内存超分配功能,允许虚拟机根据实际需求动态调整内存。

248. 查看虚拟机的网络带宽

powershellCopy Code
Get-VM | Get-VMNetworkAdapter | Select-Object VMName, Name, Bandwidth

查看虚拟机网络适配器的带宽使用情况。

249. 暂停虚拟机的网络适配器

powershellCopy Code
Suspend-VMNetworkAdapter -VMName "VMName" -Name "Network Adapter"

暂停虚拟机的网络适配器,以便进行故障排除或临时断开网络连接。

250. 查看虚拟机的状态和运行时间

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, Uptime

查看虚拟机的当前状态(如运行、关闭等)以及自上次启动以来的运行时间。

251. 为虚拟机分配静态 IP 地址(使用 DHCP 分配后设置)

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -StaticMacAddress "00-15-5D-1A-2B-3C"

为虚拟机的网络适配器设置静态 MAC 地址,配合 DHCP 使用静态 IP 地址。

252. 启动虚拟机并在启动时执行脚本

powershellCopy Code
Set-VM -Name "VMName" -AutomaticStartAction Start -AutomaticStopAction ShutDown

设置虚拟机的自动启动和自动停止行为,可以在启动时执行自定义脚本。

253. 配置虚拟机的硬件虚拟化支持

powershellCopy Code
Set-VMProcessor -VMName "VMName" -EnableVirtualizationExtensions $true

启用虚拟机的硬件虚拟化扩展(例如 Intel VT-x 或 AMD-V)。

254. 查看虚拟机的磁盘和存储性能

powershellCopy Code
Get-VM | Get-VMHardDiskDrive | Select-Object VMName, Path, @{Name="Disk Size (GB)";Expression={($_.Size / 1GB)}}, @{Name="Disk IO";Expression={($_.DiskIO)}}

查看虚拟机的硬盘大小和磁盘 I/O 性能。

255. 删除虚拟机的磁盘

powershellCopy Code
Remove-VMHardDiskDrive -VMName "VMName" -ControllerLocation 0 -ControllerNumber 0

从虚拟机中删除一个硬盘驱动器。

256. 删除虚拟机的快照

powershellCopy Code
Remove-VMSnapshot -VMName "VMName" -Name "SnapshotName"

删除虚拟机的指定快照。


这些命令帮助您更全面地管理虚拟机的配置、硬件、性能、快照、网络等方面。

继续补充更多关于 Hyper-V 虚拟机管理的 PowerShell 命令:

257. 获取虚拟机的硬件信息(如 CPU、内存、硬盘)

powershellCopy Code
Get-VM | Select-Object Name, ProcessorCount, MemoryAssigned, @{Name="Disk Size";Expression={(Get-VMHardDiskDrive -VMName $_.Name).Size}}, Version

获取虚拟机的硬件信息,包括 CPU、内存和硬盘大小等。

258. 修改虚拟机的启动顺序

powershellCopy Code
Set-VMFirmware -VMName "VMName" -BootOrder (Get-VMHardDiskDrive -VMName "VMName"), (Get-VMDvdDrive -VMName "VMName")

修改虚拟机的启动顺序,允许指定优先启动硬盘或光驱。

259. 启用虚拟机的高可用性(HA)功能

powershellCopy Code
Set-VM -Name "VMName" -HighAvailabilityEnabled $true

启用虚拟机的高可用性(HA)功能,使其在 Hyper-V 集群中具有更强的容错能力。

260. 查看虚拟机的快照存储位置

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Select-Object Name, Path

查看虚拟机的快照存储路径,以便更好地管理快照文件。

261. 修改虚拟机的磁盘类型

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -ControllerType SCSI

更改虚拟机硬盘的控制器类型(如 SCSI 或 IDE)。

262. 将虚拟机的磁盘更改为只读

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -ReadOnly $true

将虚拟机的硬盘设置为只读模式,防止数据修改。

263. 更改虚拟机的网络适配器设置为仅限外部网络

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -SwitchName "External Switch"

将虚拟机的网络适配器连接到外部虚拟交换机,实现与外部网络的通信。

264. 启动虚拟机并执行 PowerShell 脚本

powershellCopy Code
Start-VM -Name "VMName" -RunAsAdministrator -ScriptBlock { Start-Process "C:\Scripts\MyScript.ps1" }

启动虚拟机后执行自定义的 PowerShell 脚本。

265. 获取虚拟机的详细硬件信息

powershellCopy Code
Get-VM -Name "VMName" | Get-VMProcessor, Get-VMMemory, Get-VMHardDiskDrive, Get-VMNetworkAdapter

获取虚拟机的详细硬件信息,包括处理器、内存、硬盘和网络适配器。

266. 启用虚拟机的虚拟化扩展

powershellCopy Code
Set-VMProcessor -VMName "VMName" -EnableVirtualizationExtensions $true

启用虚拟机的硬件虚拟化扩展(如 Intel VT-x 或 AMD-V)。

267. 备份虚拟机的配置和数据

powershellCopy Code
Export-VM -Name "VMName" -Path "C:\VMBackups"

备份虚拟机的配置和数据,将虚拟机导出到指定路径。

268. 导入虚拟机的配置和数据

powershellCopy Code
Import-VM -Path "C:\VMBackups\VMName"

将备份的虚拟机配置和数据导入 Hyper-V 环境中。

269. 在虚拟机中启用检查点(快照)

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "SnapshotName"

创建虚拟机的检查点(快照),以便之后恢复虚拟机的状态。

270. 查看虚拟机的资源利用率

powershellCopy Code
Get-VM | Select-Object Name, CPUUsage, MemoryUsage, Uptime

查看虚拟机的 CPU 使用率、内存使用率和运行时间等资源利用情况。

271. 删除虚拟机的网络适配器

powershellCopy Code
Remove-VMNetworkAdapter -VMName "VMName" -Name "Network Adapter"

从虚拟机中删除指定的网络适配器。

272. 获取虚拟机的所有磁盘驱动器

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName"

获取虚拟机的所有硬盘驱动器的信息,包括磁盘大小、类型和位置等。

273. 为虚拟机配置并启用负载均衡

powershellCopy Code
Set-VM -Name "VMName" -LoadBalancerEnabled $true

启用虚拟机的负载均衡功能,以优化多个虚拟机之间的资源分配。

274. 查看虚拟机的事件日志

powershellCopy Code
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-VMMS-Admin" | Where-Object {$_.Message -like "*VMName*"}

查看与虚拟机相关的事件日志,以便诊断虚拟机的问题。

275. 设置虚拟机的内存动态调整策略

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $true -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

为虚拟机启用内存动态调整功能,并指定最小内存和最大内存。

276. 启动虚拟机并检查虚拟机的状态

powershellCopy Code
Start-VM -Name "VMName" | Get-VM -Name "VMName"

启动虚拟机并获取其当前状态。

277. 查看虚拟机的存储控制器信息

powershellCopy Code
Get-VMStorageController -VMName "VMName"

查看虚拟机的存储控制器信息,包括连接的硬盘和光驱。

278. 获取虚拟机的快照历史记录

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Sort-Object CreationTime

查看虚拟机的快照历史记录并按创建时间排序。

279. 为虚拟机配置定期自动快照

powershellCopy Code
New-ScheduledTaskTrigger -AtStartup -Daily -RepeatIndefinitely | New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-Command 'Checkpoint-VM -VMName \"VMName\"'"

创建一个计划任务,定期为虚拟机创建快照。

280. 禁用虚拟机的内存热迁移

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $false

禁用虚拟机的内存热迁移功能,固定内存大小。

281. 在虚拟机中启用或禁用 UEFI 启动

powershellCopy Code
Set-VMFirmware -VMName "VMName" -EnableSecureBoot $true

为虚拟机启用或禁用 UEFI 启动,配置安全启动选项。

282. 获取虚拟机的集群信息

powershellCopy Code
Get-VMCluster -VMName "VMName"

查看虚拟机所属的 Hyper-V 集群信息。

283. 更改虚拟机的磁盘为共享磁盘(适用于集群)

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -SharingMode MultiWriter

为虚拟机的硬盘启用共享模式,允许多个虚拟机同时访问该磁盘。

284. 修改虚拟机的 CPU 配置

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4 -CompatibilityForMigrationEnabled $true

修改虚拟机的 CPU 配置,设置处理器数量并启用迁移兼容性。

285. 恢复虚拟机的检查点

powershellCopy Code
Restore-VMSnapshot -VMName "VMName" -Name "SnapshotName"

恢复虚拟机到指定的检查点状态。


这些命令帮助您更加深入地管理虚拟机的硬件配置、快照、资源利用、存储等多个方面。

更多的 Hyper-V 虚拟机管理 PowerShell 命令:

286. 启用或禁用虚拟机的内存动态分配

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $true -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

启用或禁用虚拟机的内存动态分配,并设置内存的最小和最大值。

287. 获取虚拟机的所有硬件配置信息

powershellCopy Code
Get-VM | Select-Object Name, ProcessorCount, MemoryAssigned, Uptime, State

获取虚拟机的所有硬件配置,包括处理器数量、分配的内存、运行时间和当前状态。

288. 设置虚拟机的磁盘缓存模式

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -CacheOption None

设置虚拟机的硬盘缓存模式为无缓存。

289. 为虚拟机启用或禁用虚拟化扩展

powershellCopy Code
Set-VMProcessor -VMName "VMName" -EnableVirtualizationExtensions $true

启用或禁用虚拟机的虚拟化扩展(如 Intel VT-x 或 AMD-V)。

290. 查看虚拟机的存储控制器信息

powershellCopy Code
Get-VMStorageController -VMName "VMName"

查看虚拟机的存储控制器信息,如 IDE 或 SCSI 控制器。

291. 启用虚拟机的网络适配器团队功能

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -SwitchName "External Switch" -TeamingMode SwitchIndependent

启用虚拟机的网络适配器团队功能,以提供更好的网络带宽和冗余。

292. 设置虚拟机的网络适配器 MAC 地址

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -StaticMacAddress "00-15-5D-7A-7D-6E"

设置虚拟机的网络适配器的 MAC 地址。

293. 查看虚拟机的硬盘信息

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Select-Object Path, Size, ControllerType, ControllerLocation

查看虚拟机硬盘的信息,如路径、大小、控制器类型和位置等。

294. 查看虚拟机的快照列表

powershellCopy Code
Get-VMSnapshot -VMName "VMName"

查看虚拟机的所有快照。

295. 删除虚拟机的所有快照

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Remove-VMSnapshot

删除虚拟机的所有快照。

296. 查看虚拟机的操作系统版本

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, @{Name="OS Version";Expression={(Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.Name).Version}}

查看虚拟机操作系统的版本。

297. 设置虚拟机的 CPU 数量

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4

设置虚拟机的 CPU 数量。

298. 配置虚拟机的硬盘驱动器

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -ControllerType SCSI -ControllerLocation 0 -Path "C:\VMs\VMName.vhdx"

配置虚拟机的硬盘驱动器,设置控制器类型、位置和磁盘路径。

299. 导入虚拟机并将其加入现有虚拟交换机

powershellCopy Code
Import-VM -Path "C:\VMBackups\VMName" | Set-VMNetworkAdapter -SwitchName "External Switch"

导入虚拟机并将其连接到现有的虚拟交换机。

300. 查看虚拟机的网络适配器信息

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName"

查看虚拟机的网络适配器信息,包括网络交换机和 MAC 地址。

301. 检查虚拟机的磁盘健康状况

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, FileSize, @{Name="Health";Expression={if($_.FileSize -gt 0){"Healthy"}else{"Unhealthy"}}}

检查虚拟机磁盘的健康状况,显示磁盘的文件大小和健康状态。

302. 修改虚拟机的内存配置

powershellCopy Code
Set-VM -Name "VMName" -MemoryStartupBytes 4GB

修改虚拟机的启动内存大小。

303. 为虚拟机配置时间同步

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用或禁用虚拟机的时间同步功能,使虚拟机与主机系统保持时间一致。

304. 启动虚拟机并显示状态

powershellCopy Code
Start-VM -Name "VMName" | Get-VM -Name "VMName"

启动虚拟机并立即显示其当前状态。

305. 删除虚拟机并删除关联的磁盘

powershellCopy Code
Remove-VM -Name "VMName" -DeleteVHD

删除虚拟机并删除其关联的虚拟硬盘文件。

306. 为虚拟机添加一个新的虚拟硬盘

powershellCopy Code
Add-VMHardDiskDrive -VMName "VMName" -Path "C:\VMs\NewDisk.vhdx"

为虚拟机添加一个新的虚拟硬盘驱动器。

307. 查看虚拟机的 CPU 使用情况

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, ProcessorUsage

查看虚拟机的 CPU 使用情况。

308. 设置虚拟机的时间同步功能

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用虚拟机的时间同步服务,使虚拟机与物理主机时间同步。

309. 启动虚拟机并检查其磁盘状态

powershellCopy Code
Start-VM -Name "VMName" | Get-VMHardDiskDrive

启动虚拟机并检查其硬盘驱动器的状态。

310. 为虚拟机设置固定的内存分配

powershellCopy Code
Set-VM -Name "VMName" -MemoryStartupBytes 8GB -DynamicMemoryEnabled $false

为虚拟机配置固定的内存大小,禁用动态内存分配。

311. 查看虚拟机的网络性能统计信息

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Get-NetAdapterStatistics

查看虚拟机的网络适配器的性能统计信息。

312. 查看虚拟机的磁盘性能

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Get-VHD | Select-Object Path, FileSize, @{Name="IOPS";Expression={(Get-PhysicalDisk -FriendlyName $_.Path).IOPS}}

查看虚拟机磁盘的性能信息,如磁盘 IOPS。

313. 启动虚拟机并进行资源负载均衡

powershellCopy Code
Start-VM -Name "VMName" | Set-VM -LoadBalancerEnabled $true

启动虚拟机并启用资源负载均衡,优化虚拟机在集群中的资源分配。

314. 通过 Hyper-V 管理器管理虚拟机

powershellCopy Code
Get-VM | Set-VM -IntegrationServices "Hyper-V Manager"

通过 Hyper-V 管理器管理虚拟机。

这些命令进一步增强了 Hyper-V 虚拟机的管理能力,涵盖了从磁盘管理、内存分配、网络配置到性能监控等方面的内容。

补充更多的 Hyper-V 虚拟机管理 PowerShell 命令:

315. 获取虚拟机的详细硬件信息

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, ProcessorCount, MemoryAssigned, Uptime, State, @{Name="CPU Utilization";Expression={(Get-VMProcessor -VMName "VMName").ProcessorUsage}}

获取虚拟机的详细硬件信息,包括 CPU 利用率、内存、处理器数量等。

316. 为虚拟机配置扩展的虚拟硬盘

powershellCopy Code
Set-VHD -Path "C:\VMs\VMName.vhdx" -SizeBytes 100GB

配置虚拟机的虚拟硬盘,调整虚拟硬盘的大小。

317. 启用或禁用虚拟机的快照创建功能

powershellCopy Code
Set-VM -Name "VMName" -SnapshotFileLocation "D:\VM_Snapshots" -CheckpointType Standard

启用或禁用虚拟机的快照创建功能,配置快照文件的位置。

318. 获取虚拟机的集成服务状态

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled, OperationalStatus

获取虚拟机的集成服务状态(例如时间同步、虚拟机备份、数据交换等)。

319. 配置虚拟机的内存分配与内存限制

powershellCopy Code
Set-VM -Name "VMName" -MemoryStartupBytes 4GB -DynamicMemoryEnabled $true -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

配置虚拟机的内存分配,并启用动态内存分配功能,设置最小和最大内存值。

320. 为虚拟机增加网络适配器

powershellCopy Code
Add-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter2" -SwitchName "External Switch"

为虚拟机添加一个新的网络适配器,并将其连接到指定的虚拟交换机。

321. 删除虚拟机的网络适配器

powershellCopy Code
Remove-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter1"

删除虚拟机的网络适配器。

322. 查看虚拟机的所有磁盘信息

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Select-Object Path, Size, ControllerType, ControllerLocation

查看虚拟机的所有硬盘驱动器信息,包括路径、大小、控制器类型等。

323. 修改虚拟机的磁盘文件格式

powershellCopy Code
Convert-VHD -Path "C:\VMs\VMName.vhdx" -DestinationPath "C:\VMs\VMName.vhd" -VHDType Fixed

将虚拟机的磁盘文件从动态扩展磁盘转换为固定大小磁盘。

324. 查看虚拟机的网络适配器的带宽使用情况

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Get-NetAdapterStatistics | Select-Object Name, ReceivedBytes, SentBytes, ReceivedPackets, SentPackets

查看虚拟机网络适配器的带宽使用情况,包括接收和发送的数据量、包数等。

325. 设置虚拟机的虚拟硬盘为只读模式

powershellCopy Code
Set-VHD -Path "C:\VMs\VMName.vhdx" -ReadOnly $true

将虚拟硬盘设置为只读模式。

326. 设置虚拟机的快照内存配置

powershellCopy Code
Set-VM -Name "VMName" -SnapshotFileLocation "D:\Snapshots" -CheckpointType Standard

设置虚拟机的快照内存配置并指定快照的存储位置。

327. 启用或禁用虚拟机的端口过滤

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -PortMirroring Source

启用或禁用虚拟机的端口镜像功能。配置端口过滤的模式为源(Source)。

328. 为虚拟机增加硬盘空间

powershellCopy Code
Resize-VHD -Path "C:\VMs\VMName.vhdx" -SizeBytes 50GB

增加虚拟机硬盘的存储空间,扩展虚拟硬盘的大小。

329. 启用虚拟机的虚拟化扩展

powershellCopy Code
Set-VMProcessor -VMName "VMName" -EnableVirtualizationExtensions $true

启用虚拟机的虚拟化扩展(如 Intel VT-x 或 AMD-V)。

330. 查看虚拟机的磁盘类型

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, VHDType

查看虚拟机硬盘的类型,例如动态扩展或固定大小。

331. 获取虚拟机的性能数据

powershellCopy Code
Get-VM | Get-VMProcessor | Select-Object VMName, ProcessorUsage

获取虚拟机的性能数据,包括 CPU 使用率。

332. 导出虚拟机

powershellCopy Code
Export-VM -Name "VMName" -Path "C:\VM_Exports"

导出虚拟机的完整状态到指定路径。

333. 检查虚拟机的内存资源分配

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, MemoryAssigned, MemoryStartupBytes

检查虚拟机的内存资源配置,包括已分配内存和启动时内存。

334. 启用或禁用虚拟机的时间同步功能

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用或禁用虚拟机的时间同步功能,使虚拟机与主机时间保持一致。

335. 删除虚拟机并删除关联的虚拟硬盘

powershellCopy Code
Remove-VM -Name "VMName" -DeleteVHD

删除虚拟机并删除其关联的虚拟硬盘文件。

336. 为虚拟机配置备用网络适配器

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter2" -SwitchName "Backup Switch"

为虚拟机配置备用的网络适配器,连接到备用交换机。

337. 查看虚拟机的配置文件位置

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, Path

查看虚拟机的配置文件路径。

338. 创建新的虚拟机并配置网络适配器

powershellCopy Code
New-VM -Name "NewVM" -Path "C:\VMs" -MemoryStartupBytes 4GB -NewVHDPath "C:\VMs\NewVM.vhdx" | Add-VMNetworkAdapter -SwitchName "External Switch"

创建一个新的虚拟机,并配置内存、虚拟硬盘和网络适配器。

339. 导出虚拟机的所有快照

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Export-VMSnapshot -Path "C:\Snapshots"

导出虚拟机的所有快照文件。

340. 为虚拟机添加光盘驱动器

powershellCopy Code
Add-VMDvdDrive -VMName "VMName" -Path "C:\ISO\installer.iso"

为虚拟机添加一个新的光盘驱动器,并加载指定的 ISO 文件。

这些命令进一步扩展了 Hyper-V 虚拟机的管理操作,涵盖了虚拟硬盘、网络、性能监控、快照管理等多个方面。

继续补充更多的 Hyper-V 虚拟机管理 PowerShell 命令:

341. 启用或禁用虚拟机的增强会话模式

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $true

启用或禁用虚拟机的增强会话模式,这对于增强与虚拟机的图形和设备交互非常有用。

342. 获取虚拟机的磁盘扩展信息

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, FileFormat, Size, SizeAllocated

获取虚拟硬盘的扩展信息,包括文件格式、总大小、已分配大小等。

343. 创建新的虚拟机并配置 CPU 核心数

powershellCopy Code
New-VM -Name "VMName" -MemoryStartupBytes 4GB -NewVHDPath "C:\VMs\VMName.vhdx" -ProcessorCount 4

创建一个新的虚拟机,并为其配置 4 个 CPU 核心。

344. 获取虚拟机的操作系统信息

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, @{Name="Operating System";Expression={(Get-WmiObject -Class Win32_OperatingSystem -ComputerName "VMName").Caption}}

获取虚拟机的操作系统信息,如操作系统版本。

345. 通过 PowerShell 启动虚拟机并访问增强会话

powershellCopy Code
Start-VM -Name "VMName" -EnhancedSession

启动虚拟机并自动启用增强会话模式。

346. 调整虚拟机的 CPU 调度优先级

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Reserve 75 -Maximum 100

调整虚拟机的 CPU 调度优先级,将其保留的 CPU 资源设置为 75% 并最大化到 100%。

347. 查看虚拟机的网络适配器设置

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object Name, SwitchName, MACAddress

查看虚拟机的网络适配器设置,包括网络交换机名称和 MAC 地址。

348. 为虚拟机配置额外的磁盘

powershellCopy Code
Add-VMHardDiskDrive -VMName "VMName" -Path "D:\VMs\AdditionalDisk.vhdx"

为虚拟机添加一个额外的磁盘。

349. 启用或禁用虚拟机的动态内存功能

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $true -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

启用虚拟机的动态内存功能,并设置内存的最小和最大值。

350. 查看虚拟机的硬盘健康状态

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, IsFixedSize, HealthStatus

查看虚拟硬盘的健康状态,以确保虚拟机的磁盘没有出现问题。

351. 调整虚拟机的内存分配

powershellCopy Code
Set-VM -Name "VMName" -MemoryStartupBytes 6GB

调整虚拟机的内存分配,增加启动时内存到 6GB。

352. 查看虚拟机的所有快照

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Select-Object Name, CreationTime, State

查看虚拟机的所有快照,包括快照名称、创建时间和状态。

353. 删除虚拟机的特定快照

powershellCopy Code
Remove-VMSnapshot -VMName "VMName" -Name "SnapshotName"

删除虚拟机的特定快照。

354. 创建虚拟机的快照

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "SnapshotName"

创建虚拟机的快照。

355. 将虚拟机的状态保存为检查点

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "CheckpointName"

将虚拟机的当前状态保存为检查点。

356. 恢复虚拟机到指定的快照

powershellCopy Code
Restore-VMSnapshot -VMName "VMName" -Name "SnapshotName"

将虚拟机恢复到指定的快照。

357. 通过 PowerShell 启动虚拟机

powershellCopy Code
Start-VM -Name "VMName"

启动虚拟机。

358. 关闭虚拟机并保存其状态

powershellCopy Code
Stop-VM -Name "VMName" -Save

关闭虚拟机并保存其状态,以便下次启动时恢复。

359. 为虚拟机配置多个虚拟硬盘

powershellCopy Code
Add-VMHardDiskDrive -VMName "VMName" -Path "D:\VMs\Disk1.vhdx"
Add-VMHardDiskDrive -VMName "VMName" -Path "E:\VMs\Disk2.vhdx"

为虚拟机配置多个虚拟硬盘。

360. 将虚拟机加入域

powershellCopy Code
Add-VMNetworkAdapter -VMName "VMName" -SwitchName "External Switch"
Invoke-Command -VMName "VMName" -ScriptBlock { Add-Computer -DomainName "DomainName" -Credential "Domain\Username" }

将虚拟机加入指定的域。

361. 查看虚拟机的所有网络适配器

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object Name, MACAddress, SwitchName

查看虚拟机的所有网络适配器,包括 MAC 地址和连接的网络交换机。

362. 调整虚拟机的磁盘分配

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -Path "C:\VMs\VMName.vhdx" -ControllerType IDE

调整虚拟机磁盘的分配,例如更改控制器类型为 IDE。

363. 为虚拟机配置多个处理器

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4

为虚拟机配置多个处理器(例如 4 个 CPU 核心)。

364. 检查虚拟机的资源利用率

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, @{Name="CPU Usage";Expression={(Get-VMProcessor -VMName "VMName").ProcessorUsage}}, @{Name="Memory Usage";Expression={(Get-VMMemory -VMName "VMName").MemoryUsage}}

检查虚拟机的 CPU 和内存使用情况。

365. 查看虚拟机的集成服务

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled, OperationalStatus

查看虚拟机的集成服务状态,如时间同步、备份等功能。

366. 启用虚拟机的时间同步

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用虚拟机的时间同步功能。

367. 禁用虚拟机的时间同步

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $false

禁用虚拟机的时间同步功能。

368. 获取虚拟机的状态信息

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, Uptime, MemoryAssigned

获取虚拟机的状态信息,包括名称、状态、运行时间和分配的内存。

这些命令涵盖了 Hyper-V 虚拟机管理中的各个方面,帮助你更好地控制和配置虚拟机。


继续为你补充更多 Hyper-V 虚拟机管理的 PowerShell 命令:

369. 启用或禁用虚拟机的动态内存

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $true -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

启用或禁用虚拟机的动态内存功能,可以灵活调整虚拟机的内存需求。

370. 获取虚拟机的所有虚拟磁盘信息

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Select-Object VMName, Path, ControllerType, ControllerLocation, ControllerNumber

查看虚拟机的所有虚拟磁盘信息,包括路径、控制器类型等。

371. 将虚拟机硬盘转换为固定大小

powershellCopy Code
Convert-VHD -Path "C:\VMs\VMName.vhdx" -DestinationPath "C:\VMs\VMName_fixed.vhdx" -VHDType Fixed

将虚拟机的动态磁盘转换为固定大小的磁盘。

372. 将虚拟机硬盘扩展到更大的大小

powershellCopy Code
Resize-VHD -Path "C:\VMs\VMName.vhdx" -SizeBytes 50GB

扩展虚拟机硬盘的大小。

373. 查看虚拟机的集成服务状态

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled, OperationalStatus

查看虚拟机的集成服务,如时间同步、备份等。

374. 启用或禁用虚拟机的自动启动

powershellCopy Code
Set-VM -Name "VMName" -AutomaticStartAction StartIfRunning

设置虚拟机的自动启动行为,例如如果主机运行,则自动启动虚拟机。

375. 为虚拟机创建一个新的快照

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "SnapshotName"

为虚拟机创建一个新的快照,保存虚拟机当前的状态。

376. 从快照恢复虚拟机

powershellCopy Code
Restore-VMSnapshot -VMName "VMName" -Name "SnapshotName"

将虚拟机恢复到指定的快照状态。

377. 删除虚拟机的快照

powershellCopy Code
Remove-VMSnapshot -VMName "VMName" -Name "SnapshotName"

删除指定的虚拟机快照。

378. 调整虚拟机的网络适配器

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter" -MacAddress "00-15-5D-34-AF-67"

为虚拟机的网络适配器设置自定义 MAC 地址。

379. 为虚拟机添加网络适配器

powershellCopy Code
Add-VMNetworkAdapter -VMName "VMName" -Name "NewNetworkAdapter" -SwitchName "ExternalSwitch"

为虚拟机添加新的网络适配器,并连接到指定的虚拟交换机。

380. 查看虚拟机的内存信息

powershellCopy Code
Get-VMMemory -VMName "VMName" | Select-Object VMName, MemoryAssigned, MemoryUsage

查看虚拟机的内存分配和使用情况。

381. 为虚拟机添加额外的处理器

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 8

为虚拟机增加处理器的数量,调整虚拟机的 CPU 核心数。

382. 调整虚拟机的 CPU 使用限制

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Maximum 80

设置虚拟机的 CPU 使用上限为 80%。

383. 检查虚拟机的所有虚拟硬盘驱动器

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Select-Object VMName, Path, ControllerType, ControllerLocation, ControllerNumber

查看虚拟机的所有虚拟硬盘驱动器的详细信息。

384. 添加或更改虚拟机的显卡设置

powershellCopy Code
Add-VMVideoAdapter -VMName "VMName" -MemorySize 512MB

为虚拟机配置或更改显卡设置,指定显存大小。

385. 启用虚拟机的增强会话模式

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $true

启用虚拟机的增强会话模式,提供更好的用户体验。

386. 禁用虚拟机的增强会话模式

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $false

禁用虚拟机的增强会话模式。

387. 获取虚拟机的详细状态信息

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, CPUUsage, MemoryUsage, Uptime

查看虚拟机的详细状态信息,包括 CPU 使用、内存使用和运行时间。

388. 查看虚拟机的磁盘健康状况

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, FileFormat, Size, SizeAllocated, HealthStatus

检查虚拟机硬盘的健康状况,以确保其稳定性。

389. 调整虚拟机的内存动态调整策略

powershellCopy Code
Set-VM -Name "VMName" -DynamicMemoryEnabled $true -MemoryMinimumBytes 1GB -MemoryMaximumBytes 16GB

为虚拟机启用动态内存调整,并设置最小和最大内存限制。

390. 禁用虚拟机的自动启动

powershellCopy Code
Set-VM -Name "VMName" -AutomaticStartAction None

禁用虚拟机的自动启动设置。

391. 为虚拟机添加 ISO 文件作为虚拟光驱

powershellCopy Code
Set-VMCDDrive -VMName "VMName" -Path "D:\ISOs\Setup.iso"

为虚拟机添加一个 ISO 文件作为虚拟光驱,用于安装操作系统或其他应用程序。

392. 删除虚拟机的 CD 驱动器

powershellCopy Code
Remove-VMCDDrive -VMName "VMName"

从虚拟机中删除 CD 驱动器。

393. 调整虚拟机的自动关机设置

powershellCopy Code
Set-VM -Name "VMName" -AutomaticStopAction ShutDown

设置虚拟机的自动关机行为,例如在主机关闭时自动关闭虚拟机。

394. 为虚拟机配置 USB 控制器

powershellCopy Code
Add-VMUsbController -VMName "VMName"

为虚拟机添加一个 USB 控制器,使其支持 USB 设备的连接。

395. 查看虚拟机的所有 USB 设备

powershellCopy Code
Get-VMUsbDevice -VMName "VMName"

查看虚拟机连接的所有 USB 设备。

396. 将 USB 设备连接到虚拟机

powershellCopy Code
Connect-VMUsbDevice -VMName "VMName" -ControllerLocation 0 -DeviceLocation 0

将指定的 USB 设备连接到虚拟机。

397. 断开虚拟机的 USB 设备

powershellCopy Code
Disconnect-VMUsbDevice -VMName "VMName" -ControllerLocation 0 -DeviceLocation 0

断开虚拟机的 USB 设备。

398. 检查虚拟机的 CPU 和内存资源分配

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, Count, Maximum
Get-VMMemory -VMName "VMName" | Select-Object VMName, MemoryAssigned

查看虚拟机的 CPU 和内存资源分配情况。

399. 查看虚拟机的存储设备和磁盘信息

powershellCopy Code
Get-VMDisk -VMName "VMName" | Select-Object VMName, Path, Size, ControllerType

查看虚拟机的所有存储设备及其详细信息。

400. 创建虚拟机的自动备份任务

powershellCopy Code
New-ScheduledTask -Action (New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-Command 'Backup-VM -Name \"VMName\"'") -Trigger (New-ScheduledTaskTrigger -Daily -At "2:00AM") -TaskName "VMBackupTask" -Description "Automated backup of VM"

为虚拟机创建一个定期备份任务,确保虚拟机数据得到定期保存。

这些命令继续覆盖了 Hyper-V 虚拟机管理的多个方面,帮助你进行虚拟机的管理、优化和故障排除。

继续补充更多 Hyper-V 虚拟机管理的 PowerShell 命令:

401. 获取虚拟机的所有网络适配器信息

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object VMName, Name, SwitchName, Status

查看虚拟机的所有网络适配器的详细信息,包括连接的交换机名称和状态。

402. 更改虚拟机网络适配器的交换机连接

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter" -SwitchName "NewVirtualSwitch"

将虚拟机的网络适配器连接到不同的虚拟交换机。

403. 启用虚拟机的网络适配器的 DHCP

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter" -DynamicMacAddress $true

启用虚拟机的网络适配器 DHCP,动态分配 MAC 地址。

404. 禁用虚拟机的网络适配器 DHCP

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -Name "NetworkAdapter" -DynamicMacAddress $false

禁用虚拟机的网络适配器 DHCP,使用静态 MAC 地址。

405. 为虚拟机添加一个虚拟串行端口

powershellCopy Code
Add-VMSerialPort -VMName "VMName" -Name "SerialPort1" -PipeName "COM1"

为虚拟机添加一个虚拟串行端口,并指定管道名称。

406. 查看虚拟机的虚拟串行端口信息

powershellCopy Code
Get-VMSerialPort -VMName "VMName" | Select-Object VMName, Name, PipeName

查看虚拟机的虚拟串行端口信息,包括名称和管道名称。

407. 为虚拟机添加 DVD 驱动器

powershellCopy Code
Add-VMDvdDrive -VMName "VMName" -Path "D:\ISOs\Setup.iso"

为虚拟机添加一个 DVD 驱动器,并指定 ISO 文件路径。

408. 查看虚拟机的 DVD 驱动器信息

powershellCopy Code
Get-VMDvdDrive -VMName "VMName" | Select-Object VMName, Path

查看虚拟机的 DVD 驱动器信息,包括所加载的 ISO 文件路径。

409. 删除虚拟机的 DVD 驱动器

powershellCopy Code
Remove-VMDvdDrive -VMName "VMName"

从虚拟机中删除 DVD 驱动器。

410. 启用虚拟机的备份集成服务

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Backup" -Enabled $true

启用虚拟机的备份集成服务,确保虚拟机能够通过 Hyper-V 快照进行备份。

411. 禁用虚拟机的备份集成服务

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Backup" -Enabled $false

禁用虚拟机的备份集成服务。

412. 创建虚拟机的外部虚拟交换机

powershellCopy Code
New-VMSwitch -Name "ExternalSwitch" -NetAdapterName "Ethernet" -AllowManagementOS $true

创建一个新的外部虚拟交换机,并允许管理操作系统使用此交换机。

413. 创建虚拟机的内部虚拟交换机

powershellCopy Code
New-VMSwitch -Name "InternalSwitch" -SwitchType Internal

创建一个新的内部虚拟交换机,虚拟机可以通过它与主机通信。

414. 创建虚拟机的私有虚拟交换机

powershellCopy Code
New-VMSwitch -Name "PrivateSwitch" -SwitchType Private

创建一个新的私有虚拟交换机,只有虚拟机之间可以通信。

415. 查看虚拟交换机的信息

powershellCopy Code
Get-VMSwitch | Select-Object Name, SwitchType, NetAdapterName

查看虚拟交换机的详细信息,包括交换机类型和连接的网络适配器名称。

416. 删除虚拟交换机

powershellCopy Code
Remove-VMSwitch -Name "SwitchName"

删除指定的虚拟交换机。

417. 为虚拟机添加 SCSI 控制器

powershellCopy Code
Add-VMSCSIController -VMName "VMName"

为虚拟机添加一个 SCSI 控制器。

418. 为虚拟机添加 SCSI 硬盘

powershellCopy Code
Add-VMHardDiskDrive -VMName "VMName" -ControllerType SCSI -ControllerNumber 0 -Path "D:\VMs\NewDisk.vhdx"

为虚拟机添加一个 SCSI 硬盘,并指定硬盘路径。

419. 查看虚拟机的 SCSI 控制器信息

powershellCopy Code
Get-VMSCSIController -VMName "VMName" | Select-Object VMName, ControllerNumber, ControllerType

查看虚拟机的 SCSI 控制器信息,包括控制器号和类型。

420. 为虚拟机设置时间同步

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用虚拟机的时间同步服务,确保虚拟机的时间与宿主机保持一致。

421. 禁用虚拟机的时间同步

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $false

禁用虚拟机的时间同步服务。

422. 查看虚拟机的集成服务状态

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled, OperationalStatus

查看虚拟机集成服务的状态,例如启用、禁用或运行状态。

423. 启用虚拟机的控制台访问

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $true

启用虚拟机的增强会话模式,提供对虚拟机的图形界面访问。

424. 禁用虚拟机的控制台访问

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $false

禁用虚拟机的增强会话模式。

425. 获取虚拟机的 CPU 使用情况

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, Count, Maximum, LoadPercentage

查看虚拟机 CPU 的使用情况,包括负载百分比和核心数。

426. 调整虚拟机的 CPU 配置

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4 -Maximum 80

为虚拟机设置 CPU 核心数和最大 CPU 使用率。

427. 查看虚拟机的磁盘使用情况

powershellCopy Code
Get-VHD -Path "C:\VMs\VMName.vhdx" | Select-Object Path, Size, SizeAllocated, HealthStatus

查看虚拟机硬盘的大小、已分配的空间和健康状况。

428. 为虚拟机启用设备重定向(增强会话模式)

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $true

启用虚拟机的设备重定向功能,允许在增强会话模式下连接到 USB 设备、打印机等。

429. 禁用设备重定向(增强会话模式)

powershellCopy Code
Set-VM -Name "VMName" -EnhancedSessionModeEnabled $false

禁用虚拟机的设备重定向功能。

430. 获取虚拟机的资源分配情况

powershellCopy Code
Get-VM -Name "VMName" | Select-Object Name, State, CPUUsage, MemoryAssigned, Uptime

查看虚拟机的资源分配情况,包括 CPU 使用率、内存分配和运行时间。

这些命令扩展了虚拟机管理的多个方面,帮助你管理虚拟网络、存储设备、硬件配置、增强会话模式等。

继续为你补充更多的 Hyper-V 虚拟机管理 PowerShell 命令:

431. 创建虚拟机快照

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "SnapshotName"

创建虚拟机的快照,以便后续恢复。

432. 查看虚拟机快照信息

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Select-Object Name, CreationTime, State

查看虚拟机的所有快照及其创建时间和状态。

433. 恢复虚拟机快照

powershellCopy Code
Restore-VMSnapshot -VMName "VMName" -Name "SnapshotName"

恢复虚拟机到指定的快照状态。

434. 删除虚拟机快照

powershellCopy Code
Remove-VMSnapshot -VMName "VMName" -Name "SnapshotName"

删除指定的虚拟机快照。

435. 查看虚拟机的存储控制器信息

powershellCopy Code
Get-VMStorageController -VMName "VMName" | Select-Object VMName, ControllerType, ControllerNumber

查看虚拟机存储控制器的信息,包括控制器类型和编号。

436. 为虚拟机添加硬盘驱动器

powershellCopy Code
Add-VMHardDiskDrive -VMName "VMName" -Path "D:\VMs\NewDisk.vhdx"

为虚拟机添加一个硬盘驱动器,并指定硬盘文件路径。

437. 查看虚拟机硬盘信息

powershellCopy Code
Get-VMHardDiskDrive -VMName "VMName" | Select-Object VMName, Path, ControllerType

查看虚拟机的硬盘驱动器信息,包括硬盘路径和控制器类型。

438. 设置虚拟机的内存限制

powershellCopy Code
Set-VM -VMName "VMName" -MemoryStartupBytes 4GB

设置虚拟机的启动内存大小。

439. 查看虚拟机的内存配置

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, MemoryAssigned, MemoryMaximum

查看虚拟机的内存配置,包括分配的内存和最大内存。

440. 调整虚拟机的动态内存配置

powershellCopy Code
Set-VM -VMName "VMName" -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB

为虚拟机设置动态内存的最小和最大内存配置。

441. 查看虚拟机的网络适配器连接状态

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object Name, Status, SwitchName

查看虚拟机网络适配器的状态,包括连接的虚拟交换机。

442. 启用虚拟机的设备重定向功能

powershellCopy Code
Set-VM -VMName "VMName" -EnhancedSessionModeEnabled $true

启用虚拟机的设备重定向功能,允许连接 USB 设备、打印机等。

443. 禁用虚拟机的设备重定向功能

powershellCopy Code
Set-VM -VMName "VMName" -EnhancedSessionModeEnabled $false

禁用虚拟机的设备重定向功能。

444. 启用虚拟机的虚拟化扩展

powershellCopy Code
Set-VMProcessor -VMName "VMName" -ExposeVirtualizationExtensions $true

启用虚拟机的虚拟化扩展,允许虚拟机运行虚拟化相关的应用。

445. 禁用虚拟机的虚拟化扩展

powershellCopy Code
Set-VMProcessor -VMName "VMName" -ExposeVirtualizationExtensions $false

禁用虚拟机的虚拟化扩展。

446. 为虚拟机分配多个虚拟处理器

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4

为虚拟机分配多个虚拟 CPU 核心。

447. 查看虚拟机的处理器配置

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, Count, Maximum, LoadPercentage

查看虚拟机的处理器配置,包括核心数量和负载百分比。

448. 启用虚拟机的远程桌面连接

powershellCopy Code
Set-VM -VMName "VMName" -EnhancedSessionModeEnabled $true

启用虚拟机的远程桌面连接(增强会话模式)。

449. 禁用虚拟机的远程桌面连接

powershellCopy Code
Set-VM -VMName "VMName" -EnhancedSessionModeEnabled $false

禁用虚拟机的远程桌面连接。

450. 查看虚拟机的操作系统版本

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, State, Version

查看虚拟机的操作系统版本。

451. 启用虚拟机的虚拟硬盘合并功能

powershellCopy Code
Merge-VHD -Path "D:\VMs\VMName.vhdx"

合并虚拟机的虚拟硬盘,通常用于减少磁盘空间占用或清理磁盘。

452. 将虚拟机的虚拟硬盘转换为固定大小

powershellCopy Code
Convert-VHD -Path "D:\VMs\VMName.vhdx" -DestinationPath "D:\VMs\FixedSize.vhdx" -VHDType Fixed

将虚拟硬盘转换为固定大小,以减少磁盘空间的动态扩展。

453. 将虚拟机的虚拟硬盘转换为动态大小

powershellCopy Code
Convert-VHD -Path "D:\VMs\VMName.vhdx" -DestinationPath "D:\VMs\DynamicSize.vhdx" -VHDType Dynamic

将虚拟硬盘转换为动态大小,可以根据虚拟机数据的增长动态分配空间。

454. 创建虚拟硬盘

powershellCopy Code
New-VHD -Path "D:\VMs\NewDisk.vhdx" -SizeBytes 10GB -Dynamic

创建一个新的动态虚拟硬盘,大小为 10GB。

455. 查看虚拟硬盘信息

powershellCopy Code
Get-VHD -Path "D:\VMs\NewDisk.vhdx" | Select-Object Path, Size, SizeAllocated, HealthStatus

查看虚拟硬盘的详细信息,包括路径、大小、已分配空间和健康状态。

456. 扩展虚拟硬盘

powershellCopy Code
Resize-VHD -Path "D:\VMs\VMName.vhdx" -SizeBytes 20GB

扩展虚拟硬盘的大小。

457. 启用虚拟机的安全启动

powershellCopy Code
Set-VMFirmware -VMName "VMName" -EnableSecureBoot On

为虚拟机启用安全启动,以提高安全性。

458. 禁用虚拟机的安全启动

powershellCopy Code
Set-VMFirmware -VMName "VMName" -EnableSecureBoot Off

禁用虚拟机的安全启动。

459. 查看虚拟机的安全启动状态

powershellCopy Code
Get-VMFirmware -VMName "VMName" | Select-Object EnableSecureBoot

查看虚拟机的安全启动状态。

460. 配置虚拟机的启动顺序

powershellCopy Code
Set-VMFirmware -VMName "VMName" -BootOrder "CD", "HardDrive"

配置虚拟机的启动顺序,先从 CD 驱动器启动,再从硬盘启动。

这些命令涵盖了虚拟机管理的更多方面,包括虚拟硬盘、虚拟机的启动配置、虚拟机快照等。

继续补充更多的 Hyper-V 虚拟机管理 PowerShell 命令:

461. 设置虚拟机的优先级

powershellCopy Code
Set-VMProcessor -VMName "VMName" -RelativeWeight 100

设置虚拟机的处理器优先级。RelativeWeight 可以控制虚拟机的 CPU 资源分配。

462. 查看虚拟机的优先级配置

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, RelativeWeight

查看虚拟机的处理器优先级。

463. 配置虚拟机的高可用性

powershellCopy Code
Set-ClusterGroup -Name "VMName" -OwnerNode "NodeName"

配置虚拟机的高可用性,将虚拟机配置为集群资源,并指定主机节点。

464. 查看虚拟机的高可用性状态

powershellCopy Code
Get-ClusterGroup -Name "VMName" | Select-Object Name, OwnerNode

查看虚拟机的高可用性状态和当前节点。

465. 创建虚拟机的检查点并添加描述

powershellCopy Code
Checkpoint-VM -VMName "VMName" -SnapshotName "SnapshotName" -Description "Snapshot description"

创建虚拟机的快照并为该快照添加描述。

466. 列出所有虚拟机的快照及其状态

powershellCopy Code
Get-VMSnapshot | Select-Object VMName, Name, State, CreationTime

列出所有虚拟机的快照,以及它们的状态和创建时间。

467. 恢复到特定快照并执行操作

powershellCopy Code
Restore-VMSnapshot -VMName "VMName" -Name "SnapshotName" -Confirm:$false

恢复到特定快照并跳过确认提示。

468. 启用虚拟机的时间同步功能

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $true

启用虚拟机的时间同步功能,使虚拟机的时间与宿主机同步。

469. 禁用虚拟机的时间同步功能

powershellCopy Code
Set-VMIntegrationService -VMName "VMName" -Name "Time Synchronization" -Enabled $false

禁用虚拟机的时间同步功能。

470. 设置虚拟机的自动启动行为

powershellCopy Code
Set-VM -VMName "VMName" -AutomaticStartAction StartIfRunning

设置虚拟机在主机启动时的自动启动行为,例如,若虚拟机正在运行则启动。

471. 查看虚拟机的自动启动配置

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, AutomaticStartAction, AutomaticStopAction

查看虚拟机的自动启动和停止行为配置。

472. 设置虚拟机的自动停止行为

powershellCopy Code
Set-VM -VMName "VMName" -AutomaticStopAction ShutDown

设置虚拟机在主机关闭时的自动停止行为,指定为“关机”。

473. 列出虚拟机的集成服务状态

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled

列出虚拟机的集成服务及其启用状态。

474. 启用虚拟机的磁盘增量备份

powershellCopy Code
Set-VM -VMName "VMName" -EnableBackup $true

启用虚拟机的磁盘增量备份,以便支持增量备份操作。

475. 禁用虚拟机的磁盘增量备份

powershellCopy Code
Set-VM -VMName "VMName" -EnableBackup $false

禁用虚拟机的磁盘增量备份。

476. 检查虚拟机的健康状态

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, State, HealthStatus

检查虚拟机的健康状态(运行、关机等)。

477. 查看虚拟机的所有网络适配器

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object Name, SwitchName, Status

查看虚拟机的所有网络适配器,包括连接的交换机和适配器状态。

478. 为虚拟机添加虚拟网络适配器

powershellCopy Code
Add-VMNetworkAdapter -VMName "VMName" -SwitchName "VirtualSwitch"

为虚拟机添加虚拟网络适配器,并将其连接到指定的虚拟交换机。

479. 查看虚拟机的磁盘使用情况

powershellCopy Code
Get-VHD -Path "D:\VMs\VMName.vhdx" | Select-Object Path, Size, SizeAllocated

查看虚拟硬盘的使用情况,包括分配的空间和实际大小。

480. 更改虚拟机的硬盘存储路径

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -ControllerType SCSI -ControllerNumber 0 -Path "D:\VMs\NewDisk.vhdx"

更改虚拟机硬盘的存储路径。

481. 设置虚拟机的虚拟光驱

powershellCopy Code
Set-VM -VMName "VMName" -DVDDrive "E:\ISO\Windows.iso"

设置虚拟机的虚拟光驱,以便加载操作系统安装 ISO 文件。

482. 查看虚拟机的设备列表

powershellCopy Code
Get-VMDevice -VMName "VMName" | Select-Object Name, DeviceType

查看虚拟机的所有设备(如硬盘、光驱、网络适配器等)。

483. 从虚拟机中移除硬盘驱动器

powershellCopy Code
Remove-VMHardDiskDrive -VMName "VMName" -ControllerType IDE -ControllerNumber 0 -Path "D:\VMs\OldDisk.vhdx"

从虚拟机中移除指定的硬盘驱动器。

484. 启用虚拟机的驱动器连接

powershellCopy Code
Set-VM -VMName "VMName" -CDDrive "D:\ISO\Windows.iso" -EnableHostDrive $true

启用虚拟机的主机驱动器连接,以便访问主机上的物理光驱或虚拟光驱。

485. 禁用虚拟机的驱动器连接

powershellCopy Code
Set-VM -VMName "VMName" -EnableHostDrive $false

禁用虚拟机的主机驱动器连接。

486. 调整虚拟机的磁盘缓存策略

powershellCopy Code
Set-VMHardDiskDrive -VMName "VMName" -Path "D:\VMs\VMName.vhdx" -DiskCacheNone

调整虚拟机硬盘的缓存策略(如无缓存、写入缓存等)。

487. 查看虚拟机的操作系统信息

powershellCopy Code
Get-WmiObject -Class Win32_OperatingSystem -ComputerName "VMName" | Select-Object Caption, Version

查看虚拟机操作系统的详细信息。

488. 创建虚拟机的备份

powershellCopy Code
Export-VM -VMName "VMName" -Path "D:\VMs\Backup"

将虚拟机导出到指定的路径,创建备份文件。

489. 从备份还原虚拟机

powershellCopy Code
Import-VM -Path "D:\VMs\Backup" -VMName "VMName"

从指定路径还原虚拟机。

490. 查看虚拟机的分配内存和资源

powershellCopy Code
Get-VMResourceConfiguration -VMName "VMName" | Select-Object VMName, CPU, Memory

查看虚拟机的资源配置,包括分配的 CPU 和内存。

这些命令进一步扩展了虚拟机的管理范围,涵盖了虚拟机的存储、资源、集成服务等方面的配置和调整。

继续补充更多关于 Hyper-V 虚拟机管理的 PowerShell 命令:

491. 列出虚拟机的所有网络适配器并查看配置

powershellCopy Code
Get-VMNetworkAdapter -VMName "VMName" | Select-Object Name, SwitchName, IPAddresses, Status

列出虚拟机的所有网络适配器,并显示每个适配器的虚拟交换机、IP 地址以及状态。

492. 为虚拟机配置静态 IP 地址

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -StaticMacAddress "00-15-5D-01-23-45"

为虚拟机配置静态 MAC 地址,进而帮助设置静态 IP。

493. 查看虚拟机的动态内存配置

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, MemoryStartupBytes, MemoryMaximumBytes, MemoryMinimumBytes

查看虚拟机的动态内存配置,包括启动内存、最大内存和最小内存。

494. 设置虚拟机的动态内存

powershellCopy Code
Set-VM -VMName "VMName" -MemoryStartupBytes 2GB -MemoryMaximumBytes 4GB -MemoryMinimumBytes 1GB

为虚拟机设置动态内存,包括启动内存、最大内存和最小内存。

495. 查看虚拟机的磁盘状态

powershellCopy Code
Get-VHD -Path "D:\VMs\VMName.vhdx" | Select-Object Path, FileSize, SizeAllocated, SizeRemaining

查看虚拟硬盘的状态,包括文件大小、分配空间和剩余空间。

496. 扩展虚拟硬盘的大小

powershellCopy Code
Resize-VHD -Path "D:\VMs\VMName.vhdx" -Size 100GB

扩展虚拟硬盘的大小,指定新的磁盘大小。

497. 压缩虚拟硬盘

powershellCopy Code
Optimize-VHD -Path "D:\VMs\VMName.vhdx"

压缩虚拟硬盘以回收未使用的空间。

498. 设置虚拟机的 CPU 数量

powershellCopy Code
Set-VMProcessor -VMName "VMName" -Count 4

设置虚拟机使用的虚拟 CPU 数量,例如将虚拟机的 CPU 设置为 4 个。

499. 查看虚拟机的 CPU 配置

powershellCopy Code
Get-VMProcessor -VMName "VMName" | Select-Object VMName, Count, CompatibilityForMigrationEnabled

查看虚拟机的 CPU 配置,包括 CPU 数量和迁移兼容性设置。

500. 启用或禁用虚拟机的 CPU 兼容性

powershellCopy Code
Set-VMProcessor -VMName "VMName" -CompatibilityForMigrationEnabled $true

启用虚拟机的 CPU 兼容性,以支持虚拟机迁移。

501. 为虚拟机设置网络适配器的传输模式

powershellCopy Code
Set-VMNetworkAdapter -VMName "VMName" -SwitchName "VirtualSwitch" -Passthru

设置虚拟机网络适配器的传输模式,将其连接到指定的虚拟交换机。

502. 查看虚拟机的集成服务

powershellCopy Code
Get-VMIntegrationService -VMName "VMName" | Select-Object Name, Enabled

查看虚拟机的集成服务并确认它们的启用状态。

503. 启用虚拟机的复制功能

powershellCopy Code
Set-VMReplication -VMName "VMName" -Enabled $true -ReplicationFrequency 15 -RecoveryPointRetention 24

启用虚拟机的复制功能并设置复制频率和恢复点保留时间。

504. 禁用虚拟机的复制功能

powershellCopy Code
Set-VMReplication -VMName "VMName" -Enabled $false

禁用虚拟机的复制功能。

505. 启动虚拟机复制

powershellCopy Code
Start-VMReplication -VMName "VMName"

启动虚拟机复制。

506. 停止虚拟机复制

powershellCopy Code
Stop-VMReplication -VMName "VMName"

停止虚拟机复制。

507. 查看虚拟机的复制状态

powershellCopy Code
Get-VMReplication -VMName "VMName" | Select-Object VMName, ReplicationState, ReplicationFrequency

查看虚拟机的复制状态,包括复制频率和当前状态。

508. 检查虚拟机的备份状态

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, BackupStatus

查看虚拟机的备份状态。

509. 停止虚拟机

powershellCopy Code
Stop-VM -VMName "VMName" -Force

强制停止虚拟机。

510. 启动虚拟机

powershellCopy Code
Start-VM -VMName "VMName"

启动虚拟机。

511. 将虚拟机从一台主机迁移到另一台主机

powershellCopy Code
Move-VM -VMName "VMName" -DestinationHost "DestinationHost"

将虚拟机从当前主机迁移到指定的目标主机。

512. 为虚拟机配置资源池

powershellCopy Code
Set-VMResourcePool -VMName "VMName" -ResourcePool "ResourcePoolName"

为虚拟机分配资源池,指定资源池名称。

513. 查看虚拟机的资源池配置

powershellCopy Code
Get-VM -VMName "VMName" | Select-Object Name, ResourcePool

查看虚拟机所属的资源池配置。

514. 删除虚拟机

powershellCopy Code
Remove-VM -VMName "VMName" -Force

删除虚拟机。

515. 为虚拟机创建备份

powershellCopy Code
Export-VM -VMName "VMName" -Path "D:\VM_Backups"

为虚拟机创建备份并将其导出到指定路径。

516. 将虚拟机恢复到另一个路径

powershellCopy Code
Import-VM -Path "D:\VM_Backups" -VMName "VMName"

从备份路径恢复虚拟机。

517. 查看虚拟机的所有快照

powershellCopy Code
Get-VMSnapshot -VMName "VMName" | Select-Object Name, CreationTime, State

查看虚拟机的所有快照,显示其名称、创建时间和状态。

518. 删除虚拟机的特定快照

powershellCopy Code
Remove-VMSnapshot -VMName "VMName" -Name "SnapshotName"

删除虚拟机的特定快照。

519. 为虚拟机添加备份任务

powershellCopy Code
Set-VM -VMName "VMName" -EnableBackup $true

为虚拟机启用备份任务。

520. 禁用虚拟机的备份任务

powershellCopy Code
Set-VM -VMName "VMName" -EnableBackup $false

禁用虚拟机的备份任务。

这些命令进一步扩展了 Hyper-V 的管理能力,涵盖了虚拟机的复制、备份、资源池管理等方面。

命令 中文翻译 描述
Add-VMAssignableDevice 添加可分配设备 向特定虚拟机添加可分配设备。
Add-VMDvdDrive 添加 DVD 驱动器 向虚拟机添加 DVD 驱动器。
Add-VMFibreChannelHba 添加虚拟光纤通道主机总线适配器 向虚拟机添加虚拟光纤通道主机总线适配器。
Add-VMGpuPartitionAdapter 添加 GPU 分区适配器 向虚拟机添加 GPU 分区适配器。
Add-VMGroupMember 添加虚拟机组成员 向虚拟机组添加成员。
Add-VMHardDiskDrive 添加硬盘驱动器 向虚拟机添加硬盘驱动器。
Add-VMHostAssignableDevice 添加可分配设备到虚拟机主机 向虚拟机主机添加可分配设备。
Add-VMMigrationNetwork 添加虚拟机迁移网络 为一个或多个虚拟机主机添加迁移网络。
Add-VMNetworkAdapter 添加虚拟网络适配器 向虚拟机添加虚拟网络适配器。
Add-VMNetworkAdapterAcl 创建虚拟机网络适配器的 ACL 创建一个 ACL 以应用于虚拟机网络适配器的流量。
Add-VMNetworkAdapterExtendedAcl 创建虚拟网络适配器的扩展 ACL 为虚拟网络适配器创建一个扩展 ACL。
Add-VmNetworkAdapterRoutingDomainMapping 添加路由域和虚拟子网到虚拟网络适配器 向虚拟网络适配器添加路由域和虚拟子网。
Add-VMRemoteFx3dVideoAdapter 添加 RemoteFX 视频适配器 向虚拟机添加 RemoteFX 视频适配器。
Add-VMScsiController 添加 SCSI 控制器 向虚拟机添加 SCSI 控制器。
Add-VMStoragePath 添加存储路径 向存储资源池添加路径。
Add-VMSwitch 添加虚拟交换机 向以太网资源池添加虚拟交换机。
Add-VMSwitchExtensionPortFeature 向虚拟网络适配器添加功能 向虚拟网络适配器添加功能。
Add-VMSwitchExtensionSwitchFeature 向虚拟交换机添加功能 向虚拟交换机添加功能。
Add-VMSwitchTeamMember 向虚拟交换机团队添加成员 向虚拟交换机团队添加成员。
Checkpoint-VM 创建虚拟机检查点 创建虚拟机的检查点。
Compare-VM 比较虚拟机与虚拟机主机的兼容性,并返回兼容性报告 比较虚拟机和虚拟机主机的兼容性,返回兼容性报告。
Complete-VMFailover 完成虚拟机的故障转移过程 在 Replica 服务器上完成虚拟机的故障转移过程。
Connect-VMNetworkAdapter 将虚拟网络适配器连接到虚拟交换机 将虚拟网络适配器连接到虚拟交换机。
Connect-VMSan 将主机总线适配器与虚拟存储区域网络 (SAN) 关联 将主机总线适配器与虚拟存储区域网络 (SAN) 关联。
Convert-VHD 转换虚拟硬盘文件的格式、版本类型和块大小 转换虚拟硬盘文件的格式、版本类型和块大小。
Copy-VMFile 将文件复制到虚拟机 将文件复制到虚拟机中。
Debug-VM 调试虚拟机 调试虚拟机。
Disable-VMConsoleSupport 禁用生成 2 虚拟机的键盘、视频和鼠标 禁用生成 2 虚拟机的键盘、视频和鼠标。
Disable-VMEventing 禁用虚拟机事件 禁用虚拟机事件。
Disable-VMIntegrationService 禁用虚拟机的集成服务 禁用虚拟机上的集成服务。
Disable-VMMigration 禁用一个或多个虚拟机主机的迁移功能 禁用一个或多个虚拟机主机的迁移功能。
Disable-VMRemoteFXPhysicalVideoAdapter 禁用一个或多个 RemoteFX 物理视频适配器与启用 RemoteFX 的虚拟机一起使用 禁用与 RemoteFX 启用虚拟机一起使用的 RemoteFX 物理视频适配器。
Disable-VMResourceMetering 禁用虚拟机或资源池的资源使用数据收集 禁用虚拟机或资源池的资源使用数据收集功能。
Disable-VMSwitchExtension 禁用一个或多个虚拟交换机的扩展功能 禁用一个或多个虚拟交换机上的扩展功能。
Disable-VMTPM 禁用虚拟机的 TPM 功能 禁用虚拟机上的 TPM 功能。
Disconnect-VMNetworkAdapter 将虚拟网络适配器与虚拟交换机或以太网资源池断开连接 将虚拟网络适配器与虚拟交换机或以太网资源池断开连接。
Disconnect-VMSan 从虚拟存储区域网络 (SAN) 移除主机总线适配器 从虚拟存储区域网络 (SAN) 中移除主机总线适配器。
Dismount-VHD 卸载虚拟硬盘 卸载虚拟硬盘。
Dismount-VMHostAssignableDevice 从虚拟机主机卸载设备 从虚拟机主机中卸载设备。
Enable-VMConsoleSupport 启用虚拟机的键盘、视频和鼠标 启用虚拟机的键盘、视频和鼠标功能。
Enable-VMEventing 启用虚拟机事件 启用虚拟机事件功能。
Enable-VMIntegrationService 启用虚拟机的集成服务 启用虚拟机上的集成服务。
Enable-VMMigration 启用一个或多个虚拟机主机的迁移功能 启用一个或多个虚拟机主机的迁移功能。
Enable-VMRemoteFXPhysicalVideoAdapter 启用一个或多个 RemoteFX 物理视频适配器用于启用 RemoteFX 的虚拟机 启用 RemoteFX 启用虚拟机使用的一个或多个 RemoteFX 物理视频适配器。
Enable-VMReplication 启用虚拟机复制 启用虚拟机的复制功能。
命令 中文翻译 说明
Enable-VMResourceMetering 启用虚拟机资源计量 收集虚拟机或资源池的资源使用数据。
Enable-VMSwitchExtension 启用虚拟交换机扩展 启用一个或多个交换机上的扩展功能。
Enable-VMTPM 启用虚拟机TPM 启用虚拟机的TPM功能。
Export-VM 导出虚拟机 将虚拟机导出到磁盘。
Export-VMSnapshot 导出虚拟机快照 将虚拟机检查点导出到磁盘。
Get-VHD 获取虚拟硬盘 获取与虚拟硬盘相关的虚拟硬盘对象。
Get-VHDSet 获取VHD集信息 获取VHD集的相关信息。
Get-VHDSnapshot 获取VHD快照信息 获取VHD集中的检查点信息。
Get-VM 获取虚拟机 获取来自一个或多个Hyper-V主机的虚拟机。
Get-VMAssignableDevice 获取可分配设备信息 获取指定虚拟机的可分配设备信息。
Get-VMBios 获取虚拟机BIOS 获取虚拟机或快照的BIOS信息。
Get-VMComPort 获取虚拟机COM端口 获取虚拟机或快照的COM端口信息。
Get-VMConnectAccess 获取虚拟机连接访问 获取用户及其可以连接的虚拟机条目,适用于一个或多个Hyper-V主机。
Get-VMDvdDrive 获取虚拟机DVD驱动器 获取附加到虚拟机或快照的DVD驱动器。
Get-VMFibreChannelHba 获取虚拟机光纤通道HBA 获取与一个或多个虚拟机相关联的光纤通道主机总线适配器。
Get-VMFirmware 获取虚拟机固件配置 获取虚拟机的固件配置。
Get-VMFloppyDiskDrive 获取虚拟机软盘驱动器 获取虚拟机或快照的软盘驱动器信息。
Get-VMGpuPartitionAdapter 获取虚拟机GPU分区适配器 获取分配给虚拟机的GPU分区信息。
Get-VMGroup 获取虚拟机组 获取虚拟机组信息。
Get-VMHardDiskDrive 获取虚拟硬盘驱动器 获取附加到一个或多个虚拟机的虚拟硬盘驱动器信息。
Get-VMHost 获取Hyper-V主机 获取Hyper-V主机信息。
Get-VMHostAssignableDevice 获取虚拟机主机分配设备信息 获取分配给虚拟机主机的设备信息。
Get-VMHostCluster 获取虚拟机主机集群 获取虚拟机主机集群信息。
Get-VMHostNumaNode 获取虚拟机主机NUMA节点信息 获取虚拟机主机的NUMA拓扑信息。
Get-VMHostNumaNodeStatus 获取虚拟机主机NUMA节点状态 获取虚拟机主机上非一致性内存访问(NUMA)节点的虚拟机状态。
Get-VMHostPartitionableGpu 获取主机的可分区GPU 获取主机机器的可分区GPU。
Get-VMHostSupportedVersion 获取虚拟机主机支持的版本 返回主机支持的虚拟机配置版本列表。
Get-VMIdeController 获取虚拟机IDE控制器 获取虚拟机或快照的IDE控制器信息。
Get-VMIntegrationService 获取虚拟机集成服务 获取虚拟机或快照的集成服务信息。
Get-VMKeyProtector 获取虚拟机密钥保护器 获取虚拟机的密钥保护器。
Get-VMMemory 获取虚拟机内存 获取虚拟机或快照的内存信息。
Get-VMMigrationNetwork 获取虚拟机迁移网络 获取一个或多个虚拟机主机的迁移网络。
Get-VMNetworkAdapter 获取虚拟机网络适配器 获取虚拟机、快照、管理操作系统或虚拟机和管理操作系统的网络适配器信息。
命令 中文翻译 说明
Get-VMNetworkAdapterAcl 获取虚拟机网络适配器的ACL 获取为虚拟机网络适配器配置的访问控制列表(ACL)。
Get-VMNetworkAdapterExtendedAcl 获取虚拟网络适配器的扩展ACL 获取为虚拟网络适配器配置的扩展访问控制列表(ACL)。
Get-VMNetworkAdapterFailoverConfiguration 获取虚拟网络适配器故障转移配置 获取配置为在虚拟机故障转移时使用的虚拟网络适配器的IP地址。
Get-VmNetworkAdapterIsolation 获取虚拟网络适配器隔离设置 获取虚拟网络适配器的隔离设置。
Get-VMNetworkAdapterRoutingDomainMapping 获取路由域映射 获取路由域的成员。
Get-VMNetworkAdapterTeamMapping 获取虚拟机网络适配器团队映射 获取虚拟机网络适配器的团队映射信息。
Get-VMNetworkAdapterVlan 获取虚拟网络适配器的虚拟局域网设置 获取虚拟网络适配器上配置的虚拟局域网(VLAN)设置。
Get-VMProcessor 获取虚拟机处理器 获取虚拟机或快照的处理器信息。
Get-VMRemoteFx3dVideoAdapter 获取虚拟机的RemoteFX 3D视频适配器 获取虚拟机或快照的RemoteFX 3D视频适配器信息。
Get-VMRemoteFXPhysicalVideoAdapter 获取虚拟机的RemoteFX物理视频适配器 获取一个或多个Hyper-V主机上的RemoteFX物理图形适配器。
Get-VMReplication 获取虚拟机复制设置 获取虚拟机的复制设置。
Get-VMReplicationAuthorizationEntry 获取复制服务器的授权条目 获取复制服务器的授权条目。
Get-VMReplicationServer 获取复制服务器的复制与认证设置 获取复制服务器的复制和认证设置。
Get-VMResourcePool 获取虚拟机资源池 获取一个或多个虚拟机主机上的资源池信息。
Get-VMSan 获取虚拟机存储区域网络 获取Hyper-V主机或主机上的可用虚拟机存储区域网络。
Get-VMScsiController 获取虚拟机SCSI控制器 获取虚拟机或快照的SCSI控制器信息。
Get-VMSecurity 获取虚拟机的安全信息 获取虚拟机的安全信息。
Get-VMSnapshot 获取虚拟机快照 获取与虚拟机或快照相关的检查点信息。
Get-VMStoragePath 获取存储资源池中的存储路径 获取存储资源池中的存储路径信息。
Get-VMSwitch 获取虚拟交换机 获取一个或多个虚拟Hyper-V主机的虚拟交换机信息。
Get-VMSwitchExtension 获取虚拟交换机扩展 获取一个或多个虚拟交换机上的扩展功能。
Get-VMSwitchExtensionPortData 获取虚拟交换机扩展端口数据 获取应用于虚拟网络适配器的虚拟交换机扩展功能的状态。
Get-VMSwitchExtensionPortFeature 获取虚拟网络适配器上的扩展端口功能 获取在虚拟网络适配器上配置的扩展端口功能。
Get-VMSwitchExtensionSwitchData 获取虚拟交换机扩展交换机数据 获取应用于虚拟交换机的虚拟交换机扩展功能的状态。
Get-VMSwitchExtensionSwitchFeature 获取虚拟交换机上的扩展交换机功能 获取在虚拟交换机上配置的扩展交换机功能。
Get-VMSwitchTeam 获取虚拟交换机团队 获取Hyper-V主机上的虚拟交换机团队信息。
Get-VMSystemSwitchExtension 获取虚拟机主机上的交换机扩展 获取安装在虚拟机主机上的交换机扩展。
Get-VMSystemSwitchExtensionPortFeature 获取虚拟交换机扩展的端口级功能 获取一个或多个Hyper-V主机上虚拟交换机扩展支持的端口级功能。
Get-VMSystemSwitchExtensionSwitchFeature 获取虚拟交换机扩展的交换机级功能 获取一个或多个Hyper-V主机上的虚拟交换机扩展支持的交换机级功能。
Get-VMVideo 获取虚拟机的视频设置 获取虚拟机的视频设置。
Grant-VMConnectAccess 授予用户连接虚拟机的访问权限 授予用户或用户组连接到虚拟机的访问权限。
Import-VM 导入虚拟机 从文件导入虚拟机。
命令 中文翻译 说明
Import-VMInitialReplication 导入虚拟机初始复制 导入初始复制文件到Replica虚拟机,使用外部介质作为源,完成初始复制。
Measure-VM 测量虚拟机资源利用 报告一个或多个虚拟机的资源利用数据。
Measure-VMReplication 测量虚拟机复制统计 获取与虚拟机相关的复制统计信息和数据。
Measure-VMResourcePool 测量资源池利用 报告一个或多个资源池的资源利用数据。
Merge-VHD 合并虚拟硬盘 合并虚拟硬盘。
Mount-VHD 挂载虚拟硬盘 挂载一个或多个虚拟硬盘。
Mount-VMHostAssignableDevice 挂载设备到虚拟机主机 将设备挂载到虚拟机主机上。
Move-VM 移动虚拟机 将虚拟机迁移到新的Hyper-V主机。
Move-VMStorage 移动虚拟机存储 移动虚拟机的存储位置。
New-VFD 创建虚拟软盘 创建一个虚拟软盘。
New-VHD 创建虚拟硬盘 创建一个或多个新的虚拟硬盘。
New-VM 创建虚拟机 创建一台新的虚拟机。
New-VMGroup 创建虚拟机组 创建一个虚拟机组。
    在Hyper-V中,有两种类型的虚拟机组:VMCollectionType 和 ManagementCollectionType。VMCollectionType虚拟机组包含虚拟机,而ManagementCollectionType虚拟机组包含VMCollectionType虚拟机组。例如,可以有两个VMCollectionType虚拟机组VMG1(包含虚拟机VM1和VM2)和VMG2(包含虚拟机VM3和VM4)。然后,可以创建一个ManagementCollectionType虚拟机组VM-All,包含两个VMCollectionType虚拟机组。使用Add-VMGroupMember cmdlet将虚拟机添加到VMCollectionType虚拟机组,或者将VMCollectionType虚拟机组添加到ManagementCollectionType虚拟机组。
New-VMReplicationAuthorizationEntry 创建虚拟机复制授权条目 创建一个新的授权条目,允许一个或多个主服务器将数据复制到指定的Replica服务器。
New-VMResourcePool 创建资源池 创建一个资源池。
New-VMSan 创建虚拟存储区域网络 在Hyper-V主机上创建一个新的虚拟存储区域网络(SAN)。
New-VMSwitch 创建虚拟交换机 在一个或多个虚拟机主机上创建新的虚拟交换机。
Optimize-VHD 优化虚拟硬盘 优化虚拟硬盘文件所使用的空间分配,固定虚拟硬盘除外。
Optimize-VHDSet 优化VHD集 优化VHD集文件。
Remove-VHDSnapshot 移除VHD快照 从VHD集文件中移除检查点。
Remove-VM 删除虚拟机 删除虚拟机。
Remove-VMAssignableDevice 移除虚拟机可分配设备信息 从特定虚拟机中移除可分配设备信息。
Remove-VMDvdDrive 删除虚拟机DVD驱动器 从虚拟机中删除DVD驱动器。
Remove-VMFibreChannelHba 移除虚拟机Fibre Channel HBA 从虚拟机中移除Fibre Channel主机总线适配器(HBA)。
Remove-VMGpuPartitionAdapter 移除虚拟机GPU分区适配器 从虚拟机中移除已分配的GPU分区。
Remove-VMGroup 删除虚拟机组 删除虚拟机组。
Remove-VMGroupMember 删除虚拟机组成员 从虚拟机组中删除成员。
Remove-VMHardDiskDrive 删除虚拟机硬盘 从虚拟机中删除硬盘驱动器。
命令 中文翻译 说明
Remove-VMHostAssignableDevice 移除虚拟机主机分配的设备 移除分配给虚拟机主机的设备。
Remove-VMMigrationNetwork 移除迁移网络 移除用于迁移的网络。
Remove-VMNetworkAdapter 移除虚拟网络适配器 从虚拟机中移除一个或多个虚拟网络适配器。
Remove-VMNetworkAdapterAcl 移除虚拟网络适配器的访问控制列表(ACL) 移除应用于虚拟网络适配器流量的访问控制列表(ACL)。
Remove-VMNetworkAdapterExtendedAcl 移除虚拟网络适配器的扩展访问控制列表(ACL) 移除虚拟网络适配器的扩展访问控制列表(ACL)。
Remove-VMNetworkAdapterRoutingDomainMapping 移除虚拟网络适配器的路由域映射 移除虚拟网络适配器的路由域映射。
Remove-VMNetworkAdapterTeamMapping 移除虚拟网络适配器的团队映射 移除虚拟网络适配器的团队映射。
Remove-VMRemoteFx3dVideoAdapter 移除虚拟机的RemoteFX 3D视频适配器 移除虚拟机中的RemoteFX 3D视频适配器。
Remove-VMReplication 移除虚拟机的复制关系 移除虚拟机的复制关系。
Remove-VMReplicationAuthorizationEntry 移除Replica服务器的授权条目 移除Replica服务器中的授权条目。
Remove-VMResourcePool 删除虚拟机资源池 从一个或多个虚拟机主机中删除资源池。
Remove-VMSan 移除虚拟存储区域网络(SAN) 从Hyper-V主机中移除虚拟存储区域网络(SAN)。
Remove-VMSavedState 删除虚拟机的保存状态 删除已保存虚拟机的保存状态。
Remove-VMScsiController 移除虚拟机的SCSI控制器 从虚拟机中移除SCSI控制器。
Remove-VMSnapshot 删除虚拟机快照 删除虚拟机的检查点(快照)。
Remove-VMStoragePath 移除存储资源池路径 从存储资源池中移除路径。
Remove-VMSwitch 删除虚拟交换机 删除虚拟交换机。
Remove-VMSwitchExtensionPortFeature 移除虚拟交换机适配器的扩展端口特性 移除虚拟网络适配器上的扩展端口特性。
Remove-VMSwitchExtensionSwitchFeature 移除虚拟交换机的扩展特性 移除虚拟交换机上的扩展特性。
Remove-VMSwitchTeamMember 移除虚拟交换机团队成员 从虚拟交换机团队中移除成员。
Rename-VM 重命名虚拟机 重命名虚拟机。
Rename-VMGroup 重命名虚拟机组 重命名虚拟机组。
Rename-VMNetworkAdapter 重命名虚拟机的虚拟网络适配器 重命名虚拟机或管理操作系统上的虚拟网络适配器。
Rename-VMResourcePool 重命名虚拟机资源池 重命名一个或多个Hyper-V主机上的资源池。
Rename-VMSan 重命名虚拟存储区域网络(SAN) 重命名虚拟存储区域网络(SAN)。
Rename-VMSnapshot 重命名虚拟机快照 重命名虚拟机的检查点(快照)。
Rename-VMSwitch 重命名虚拟交换机 重命名虚拟交换机。
Repair-VM 修复虚拟机 修复一个或多个虚拟机。
Reset-VMReplicationStatistics 重置虚拟机的复制统计 重置虚拟机的复制统计数据。
Reset-VMResourceMetering 重置虚拟机资源计量 重置Hyper-V资源计量收集的资源利用数据。
Resize-VHD 调整虚拟硬盘大小 调整虚拟硬盘的大小。
Restart-VM 重启虚拟机 重启虚拟机。
Restore-VMSnapshot 恢复虚拟机快照 恢复虚拟机的检查点(快照)。
命令 中文翻译 说明
Resume-VM 恢复虚拟机 恢复一个挂起(暂停)的虚拟机。
Resume-VMReplication 恢复虚拟机复制 恢复处于暂停、错误、需要重新同步或挂起状态的虚拟机复制。
Revoke-VMConnectAccess 撤销虚拟机连接访问权限 撤销一个或多个用户连接到一个或多个虚拟机的权限。
Save-VM 保存虚拟机 保存虚拟机的当前状态。
Set-VHD 设置虚拟硬盘 设置与虚拟硬盘相关的属性。
Set-VM 配置虚拟机 配置虚拟机的各种设置。
Set-VMBios 配置虚拟机BIOS 配置Generation 1虚拟机的BIOS。
Set-VMComPort 配置虚拟机COM端口 配置虚拟机的COM端口。
Set-VMDvdDrive 配置虚拟DVD驱动器 配置虚拟机中的虚拟DVD驱动器。
Set-VMFibreChannelHba 配置虚拟机的Fibre Channel主机总线适配器 配置虚拟机中的Fibre Channel主机总线适配器。
Set-VMFirmware 设置虚拟机固件配置 设置虚拟机的固件配置。
Set-VMFloppyDiskDrive 配置虚拟软盘驱动器 配置虚拟机中的虚拟软盘驱动器。
Set-VMGpuPartitionAdapter 配置虚拟机的GPU分区适配器 为虚拟机分配GPU的分区。
Set-VMHardDiskDrive 配置虚拟硬盘驱动器 配置虚拟硬盘驱动器。
Set-VMHost 配置Hyper-V主机 配置Hyper-V主机的设置。
Set-VMHostCluster 配置虚拟机主机集群 配置虚拟机主机集群。
Set-VMHostPartitionableGpu 配置主机可分区GPU 将主机可分区GPU配置为制造商支持的分区数量。
Set-VMKeyProtector 配置虚拟机密钥保护器 配置虚拟机的密钥保护器。
Set-VMMemory 配置虚拟机内存 配置虚拟机的内存设置。
Set-VMMigrationNetwork 设置迁移网络 设置迁移网络的子网、子网掩码和/或优先级。
Set-VMNetworkAdapter 配置虚拟机或管理操作系统的虚拟网络适配器 配置虚拟机或管理操作系统的虚拟网络适配器功能。
Set-VMNetworkAdapterFailoverConfiguration 配置虚拟网络适配器的故障转移配置 配置虚拟网络适配器的IP地址,以在虚拟机故障转移时使用。
Set-VmNetworkAdapterIsolation 修改虚拟网络适配器的隔离设置 修改虚拟网络适配器的隔离设置。
Set-VmNetworkAdapterRoutingDomainMapping 设置虚拟子网在路由域中的映射 设置虚拟子网在路由域中的映射。
Set-VMNetworkAdapterTeamMapping 设置虚拟网络适配器的团队映射 设置虚拟网络适配器的团队映射。
Set-VMNetworkAdapterVlan 配置虚拟网络适配器的虚拟局域网(VLAN)设置 配置虚拟网络适配器的VLAN设置。
Set-VMProcessor 配置虚拟机的虚拟处理器 配置虚拟机的虚拟处理器设置。此设置将统一应用于虚拟机的所有虚拟处理器。
Set-VMRemoteFx3dVideoAdapter 配置虚拟机的RemoteFX 3D视频适配器 配置虚拟机的RemoteFX 3D视频适配器。
Set-VMReplication 修改虚拟机复制设置 修改虚拟机的复制设置。
Set-VMReplicationAuthorizationEntry 修改Replica服务器上的授权条目 修改Replica服务器上的授权条目。
Set-VMReplicationServer 配置为Replica服务器 将主机配置为Replica服务器。
命令 中文翻译 说明
Set-VMResourcePool 设置虚拟机资源池 设置选定资源池的父资源池。
Set-VMSan 配置虚拟存储区域网络(SAN) 在一个或多个Hyper-V主机上配置虚拟存储区域网络(SAN)。
Set-VMSecurity 配置虚拟机的安全设置 配置虚拟机的安全设置。
Set-VMSecurityPolicy 配置虚拟机的安全策略 配置虚拟机的安全策略。
Set-VMSwitch 配置虚拟交换机 配置虚拟交换机。
Set-VMSwitchExtensionPortFeature 配置虚拟网络适配器的功能 配置虚拟网络适配器上的功能。
Set-VMSwitchExtensionSwitchFeature 配置虚拟交换机的功能 配置虚拟交换机上的功能。
Set-VMSwitchTeam 配置虚拟交换机团队 配置虚拟交换机团队。
Set-VMVideo 配置虚拟机的视频设置 配置虚拟机的视频设置。
Start-VM 启动虚拟机 启动虚拟机。
Start-VMFailover 启动虚拟机故障转移 启动虚拟机的故障转移。
Start-VMInitialReplication 启动虚拟机的初始复制 启动虚拟机的初始复制。
Start-VMTrace 启动虚拟机跟踪 启动跟踪到文件。
Stop-VM 停止虚拟机 关闭、关闭或保存虚拟机。
Stop-VMFailover 停止虚拟机故障转移 停止虚拟机的故障转移。
Stop-VMInitialReplication 停止虚拟机的初始复制 停止正在进行的初始复制。
Stop-VMReplication 停止虚拟机复制 取消正在进行的虚拟机重新同步。
Stop-VMTrace 停止虚拟机跟踪 停止跟踪到文件。
Suspend-VM 暂停虚拟机 暂停或挂起虚拟机。
Suspend-VMReplication 暂停虚拟机复制 暂停虚拟机的复制。
Test-VHD 测试虚拟硬盘 测试虚拟硬盘是否有任何会使其无法使用的问题。
Test-VMNetworkAdapter 测试虚拟机网络适配器 测试虚拟机之间的连接性。
Test-VMReplicationConnection 测试虚拟机复制连接 测试主服务器和副本服务器之间的连接。
Update-VMVersion 更新虚拟机版本 更新虚拟机的版本。

 

posted @ 2023-12-24 22:47  suv789  阅读(1345)  评论(0)    收藏  举报