在 PowerShell 中安装和部署 Hyper-V 相关组件时,可以使用 Install-WindowsFeature 或 Enable-WindowsOptionalFeature 命令来安装所需的功能。在 PowerShell 中操作 Hyper-V 可以通过一组命令来管理虚拟机、虚拟交换机、存储以及其他 Hyper-V 组件。
在 PowerShell 中安装和部署 Hyper-V 相关组件时,可以使用 Install-WindowsFeature
或 Enable-WindowsOptionalFeature
命令来安装所需的功能。以下是安装 Hyper-V 相关组件的常用命令,以及它们的分类和描述。
PowerShell 安装 Hyper-V 组件命令分类
命令分类 | 命令 | 说明 |
---|---|---|
Hyper-V 核心功能 | Install-WindowsFeature -Name Hyper-V |
安装 Hyper-V 虚拟化平台的核心功能。 |
Hyper-V 管理工具 | Install-WindowsFeature -Name RSAT-Hyper-V-Tools |
安装远程服务器管理工具(RSAT)中的 Hyper-V 管理工具。 |
Hyper-V PowerShell 模块 | Install-WindowsFeature -Name Hyper-V-PowerShell |
安装 Hyper-V PowerShell 模块,以便通过命令行管理虚拟机。 |
Hyper-V 管理控制台 | Install-WindowsFeature -Name Hyper-V-Tools |
安装 Hyper-V 管理控制台,用于图形化管理虚拟机。 |
虚拟机监控功能 | Install-WindowsFeature -Name Hyper-V-Management-Clients |
安装用于虚拟机管理的客户端工具(如 Hyper-V 管理器)。 |
Hyper-V 服务组件 | Install-WindowsFeature -Name Hyper-V-Services |
安装 Hyper-V 服务组件。 |
Hyper-V 资源管理工具 | Install-WindowsFeature -Name Hyper-V-Resource-Manager |
安装 Hyper-V 资源管理器,用于管理 Hyper-V 环境的资源。 |
命令示例
-
安装 Hyper-V 核心功能
- 这是启用 Hyper-V 虚拟化平台的核心功能。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V
-
安装 Hyper-V 管理工具(RSAT)
- 安装 Hyper-V 管理工具,包括远程服务器管理工具(RSAT)。这些工具可以帮助你通过图形界面或命令行管理 Hyper-V 主机。
powershellCopy CodeInstall-WindowsFeature -Name RSAT-Hyper-V-Tools
-
安装 Hyper-V PowerShell 模块
- 安装 Hyper-V PowerShell 模块,允许你通过 PowerShell 命令行来管理 Hyper-V 主机和虚拟机。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V-PowerShell
-
安装 Hyper-V 管理控制台
- 安装 Hyper-V 管理控制台,用于图形化管理虚拟机。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V-Tools
-
安装 Hyper-V 服务组件
- 安装 Hyper-V 服务组件,确保虚拟化环境运行所需的所有服务。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V-Services
-
安装 Hyper-V 资源管理工具
- 安装 Hyper-V 资源管理器,用于管理 Hyper-V 环境中的资源分配。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V-Resource-Manager
-
安装虚拟机监控工具
- 安装用于虚拟机管理和监控的客户端工具。
powershellCopy CodeInstall-WindowsFeature -Name Hyper-V-Management-Clients
-
重启计算机
- 安装完 Hyper-V 组件后,通常需要重启计算机使更改生效。
powershellCopy CodeRestart-Computer
验证安装
在安装完 Hyper-V 相关组件后,您可以使用以下命令来验证是否成功安装:
-
检查 Hyper-V 功能是否安装:
powershellCopy CodeGet-WindowsFeature -Name Hyper-V
-
检查 Hyper-V PowerShell 模块是否加载:
powershellCopy CodeGet-Module -ListAvailable Hyper-V
-
确认 Hyper-V 服务状态:
powershellCopy CodeGet-Service -Name vmms
-
检查虚拟化是否启用:
powershellCopy Codesysteminfo | findstr /i "virtualization"
总结
通过 PowerShell,您可以快速部署和管理 Hyper-V 组件,帮助您建立虚拟化环境。根据您的需要,可以选择安装核心功能、管理工具、PowerShell 模块或图形化控制台等。安装完成后,记得重启计算机以确保功能生效。如果需要更多定制化的管理,可以使用 Get-WindowsFeature
来确认所需的功能是否已成功安装。
在 PowerShell 中操作 Hyper-V 可以通过一组命令来管理虚拟机、虚拟交换机、存储以及其他 Hyper-V 组件。以下是常用 Hyper-V PowerShell 命令的分类及表格化说明。
Hyper-V PowerShell 命令概览
命令分类 | 命令 | 说明 |
---|---|---|
虚拟机管理 | New-VM |
创建新的虚拟机。 |
Get-VM |
获取虚拟机的状态和详细信息。 | |
Start-VM |
启动虚拟机。 | |
Stop-VM |
停止虚拟机。 | |
Restart-VM |
重启虚拟机。 | |
Set-VM |
配置虚拟机的属性,如内存、CPU、启动顺序等。 | |
Remove-VM |
删除虚拟机。 | |
虚拟交换机管理 | New-VMSwitch |
创建新的虚拟交换机。 |
Get-VMSwitch |
获取虚拟交换机的详细信息。 | |
Set-VMSwitch |
配置虚拟交换机的属性,如网络适配器、VLAN等。 | |
Remove-VMSwitch |
删除虚拟交换机。 | |
虚拟硬盘管理 | New-VHD |
创建新的虚拟硬盘(VHD/VHDX)。 |
Get-VHD |
获取虚拟硬盘的详细信息。 | |
Resize-VHD |
扩展或收缩虚拟硬盘的大小。 | |
Convert-VHD |
转换虚拟硬盘格式(VHD 到 VHDX,或 VHDX 到 VHD)。 | |
Remove-VHD |
删除虚拟硬盘。 | |
存储管理 | Get-VMHardDiskDrive |
获取虚拟机的硬盘驱动器配置。 |
Add-VMHardDiskDrive |
将虚拟硬盘驱动器附加到虚拟机。 | |
Remove-VMHardDiskDrive |
从虚拟机移除虚拟硬盘驱动器。 | |
快照管理 | Checkpoint-VM |
创建虚拟机的检查点(快照)。 |
Get-VMCheckpoint |
获取虚拟机的检查点。 | |
Restore-VMCheckpoint |
恢复虚拟机到指定的检查点。 | |
Remove-VMCheckpoint |
删除虚拟机的检查点。 | |
网络管理 | Add-VMNetworkAdapter |
向虚拟机添加网络适配器。 |
Get-VMNetworkAdapter |
获取虚拟机的网络适配器信息。 | |
Set-VMNetworkAdapter |
配置虚拟机的网络适配器设置,如静态 IP、VLAN、网络连接等。 | |
Remove-VMNetworkAdapter |
从虚拟机移除网络适配器。 | |
虚拟机集群管理 | New-VMGroup |
创建新的虚拟机组。 |
Add-VMToGroup |
将虚拟机添加到虚拟机组。 | |
Remove-VMFromGroup |
将虚拟机从虚拟机组中移除。 | |
性能监控 | Get-VMProcessor |
获取虚拟机的 CPU 使用情况。 |
Get-VMMemory |
获取虚拟机的内存使用情况。 | |
Get-VMNetworkAdapterPerformance |
获取虚拟机网络适配器的性能信息。 | |
虚拟机备份与恢复 | Export-VM |
导出虚拟机及其配置。 |
Import-VM |
导入虚拟机及其配置。 | |
集群管理 | Enable-VMReplication |
启用虚拟机复制。 |
Set-VMReplication |
配置虚拟机复制的设置。 | |
Get-VMReplication |
获取虚拟机复制的状态和详细信息。 | |
Disable-VMReplication |
禁用虚拟机复制。 | |
虚拟机驱动管理 | Get-VMIntegrationService |
获取虚拟机集成服务的信息。 |
Enable-VMIntegrationService |
启用虚拟机集成服务。 | |
Disable-VMIntegrationService |
禁用虚拟机集成服务。 |
详细命令示例
1. 虚拟机管理命令
-
创建虚拟机:
powershellCopy CodeNew-VM -Name "TestVM" -MemoryStartupBytes 2GB -Path "C:\VMs"
-
启动虚拟机:
powershellCopy CodeStart-VM -Name "TestVM"
-
停止虚拟机:
powershellCopy CodeStop-VM -Name "TestVM"
-
重启虚拟机:
powershellCopy CodeRestart-VM -Name "TestVM"
2. 虚拟硬盘管理命令
-
创建虚拟硬盘:
powershellCopy CodeNew-VHD -Path "C:\VMs\TestVM.vhdx" -SizeBytes 50GB -Dynamic
-
获取虚拟硬盘信息:
powershellCopy CodeGet-VHD -Path "C:\VMs\TestVM.vhdx"
-
调整虚拟硬盘大小:
powershellCopy CodeResize-VHD -Path "C:\VMs\TestVM.vhdx" -SizeBytes 100GB
3. 虚拟交换机管理命令
-
创建虚拟交换机:
powershellCopy CodeNew-VMSwitch -Name "ExternalSwitch" -NetAdapterName "Ethernet" -AllowManagementOS $True
-
获取虚拟交换机信息:
powershellCopy CodeGet-VMSwitch
4. 虚拟机快照命令
-
创建虚拟机快照:
powershellCopy CodeCheckpoint-VM -Name "TestVM" -SnapshotName "Snapshot1"
-
恢复虚拟机快照:
powershellCopy CodeRestore-VMCheckpoint -VMName "TestVM" -Name "Snapshot1"
5. 网络适配器管理
-
添加网络适配器:
powershellCopy CodeAdd-VMNetworkAdapter -VMName "TestVM" -Name "Ethernet Adapter"
-
获取网络适配器信息:
powershellCopy CodeGet-VMNetworkAdapter -VMName "TestVM"
总结
PowerShell 提供了一系列强大的命令来管理 Hyper-V 环境,涵盖了虚拟机创建、启动、管理、虚拟硬盘操作、快照管理、网络适配器管理等任务。通过 PowerShell,您可以更高效地自动化和配置 Hyper-V 环境,特别适合大规模的虚拟化部署。
powershell 查询 组件
Get-WindowsFeature
powershell 安装hyper-v组件
Install-WindowsFeature -Name Hyper-V
Install-WindowsFeature -Name RSAT-Hyper-V-Tools
Install-WindowsFeature -Name Hyper-V-Tools
Install-WindowsFeature -Name Hyper-V-PowerShell Restart-Computer
PowerShell 中配置本机的 Hyper-V 虚拟交换网络,可以使用以下命令:
powershell New-VMSwitch -Name "虚拟交换机名称" -SwitchType "交换机类型"
请将以下参数替换为适当的值: "虚拟交换机名称":要创建的虚拟交换机的名称。
"交换机类型":虚拟交换机的类型。
常见的类型包括 "External"(外部网络)、"Internal"(内部网络)和 "Private"(私有网络)。
以下是几个示例命令:
创建一个外部网络交换机,连接到物理网络上:
powershell New-VMSwitch -Name "ExternalSwitch" -SwitchType External
创建一个内部网络交换机,用于虚拟机之间的通信:
powershell
New-VMSwitch -Name "InternalSwitch" -SwitchType Internal
创建一个私有网络交换机,仅供虚拟机内部使用:
powershell
New-VMSwitch -Name "PrivateSwitch" -SwitchType Private
运行这些命令后,将创建相应类型的虚拟交换机,并可以在 Hyper-V 管理器中进行配置和管理。
PowerShell 中创建一个带有镜像 ISO 的 Hyper-V 虚拟机,可以使用以下命令:
powershell New-VM -Name "虚拟机名称" -MemoryStartupBytes 内存大小 -NewVHDSizeBytes 硬盘大小 -Path "虚拟机路径" -SwitchName "虚拟交换机名称" Set-VMDvdDrive -VMName "虚拟机名称" -Path "ISO文件路径"
请将以下参数替换为适当的值: "虚拟机名称":要创建的虚拟机的名称。
内存大小:虚拟机的初始内存大小,以字节为单位。
例如,可以使用 1GB 的内存,表示为 1GB 或 1GB -as [Byte]。
硬盘大小:虚拟机的硬盘大小,以字节为单位。
例如,可以使用 100GB 的硬盘,表示为 100GB 或 100GB -as [Byte]。 "虚拟机路径":虚拟机的保存路径。
"虚拟交换机名称":虚拟机连接的虚拟交换机的名称。 "ISO文件路径":要挂载到虚拟机的镜像 ISO 文件的路径。
以下是一个示例命令:
powershell New-VM -Name "MyVM" -MemoryStartupBytes 1GB -NewVHDSizeBytes 100GB -Path "C:\Virtual Machines" -SwitchName "ExternalSwitch" Set-VMDvdDrive -VMName "MyVM" -Path "C:\ISO\myiso.iso"
运行此命令后,将在指定的路径下创建名为 "MyVM" 的新虚拟机,并分配 1GB 的内存和 100GB 的硬盘空间。
该虚拟机将连接到名为 "ExternalSwitch" 的虚拟交换机,并挂载位于 "C:\ISO\myiso.iso" 的镜像 ISO 文件。
请注意,在创建虚拟机之前,请确保已安装 Hyper-V 角色并配置好所需的网络设置和存储位置。
根据需要,您可以根据特定的环境和需求进行调整。
启动 开机 Start-VM -Name "虚拟机名称"
关闭 关机 Stop-VM -Name "虚拟机名称" -Force
创建 检查点(快照) Checkpoint-VM -Name "虚拟机名称" -SnapshotName "检查点名称"
主检查点是虚拟机的状态的完整副本,包括内存、磁盘和配置。
创建主检查点后,可以还原到该检查点的状态。
子检查点是基于主检查点创建的附加检查点,它记录了主检查点之后的更改。
子检查点只能应用于先前的主检查点,而不能直接创建子检查点。
创建主检查点:
powershell Checkpoint-VM -Name "虚拟机名称" -SnapshotName "
主检查点名称" 在主检查点的基础上创建子检查点:
powershell New-VMSnapshot -VMName "虚拟机名称" -Name "子检查点名称" -SnapshotName "
主检查点名称" 还原 检测点(快照) Restore-VMSnapshot -VMName "虚拟机名称" -Name "
检查点名称" 导出 (备份) Export-VM -Name "虚拟机名称" -Path "导出路径" 导入 (还原) Import-VM -Path "导入路径"
增加CPU数量 为5 自定义
Set-VMProcessor -VMName "虚拟机名称" -Count 5
增加内存容量 为10G 自定义
Set-VMMemory -VMName "虚拟机名称" -StartupBytes 10GB
查询所有设备
Get-PnpDevice
查询GPU设备
Get-PnpDevice | Where-Object {$_.Class -eq "Display"} | Select-Object FriendlyName, InstanceId GPU
分配给虚拟机
Add-VMAssignableDevice -VMName "虚拟机名称" -LocationPath "
GPU的InstanceId" 在 Windows Server 2022 中,启用 Hyper-V 和 DDA 功能的命令
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
PowerShell 中为指定的 Hyper-V 虚拟机创建群集,可以使用以下命令:
powershell
Add-ClusterVirtualMachineRole -VMName "虚拟机名称" -Cluster "群集名称"
请将以下参数替换为适当的值: "虚拟机名称":要添加到群集的虚拟机的名称。
"群集名称":要将虚拟机添加到其中的群集的名称。
以下是一个示例命令:
powershell
Add-ClusterVirtualMachineRole -VMName "MyVM" -Cluster "MyCluster"
运行此命令后,指定的虚拟机将被添加到指定的群集中。
请注意,在将虚拟机添加到群集之前,必须先创建群集并配置其基础结构。
PowerShell 中为指定的 Hyper-V 虚拟机启用复制,可以使用以下命令:
powershell
Enable-VMReplication -VMName "虚拟机名称" -ReplicaServerName "复制服务器名称" -ReplicaServerPort 端口号 -AuthenticationType "认证类型"
请将以下参数替换为适当的值:
"虚拟机名称":要启用复制的虚拟机的名称。
"复制服务器名称":用于存储复制副本的复制服务器的名称或 IP 地址。 端口号:复制服务器上用于接收复制数据的端口号。
通常情况下,默认端口号为 80。
"认证类型":指定用于身份验证的方法。常见的选项包括 Kerberos、Certificate 和 CredSSP。
以下是一个示例命令:
powershell Enable-VMReplication -VMName "MyVM" -ReplicaServerName "ReplicaServer01" -ReplicaServerPort 80 -AuthenticationType "Kerberos"
运行此命令后,指定的虚拟机将启用复制,并将其副本发送到指定的复制服务器。
PowerShell 中将指定的 Hyper-V 虚拟机移动到不同的 Hyper-V 主机上,可以使用以下命令:
powershell Move-VM -Name "虚拟机名称" -DestinationHost "目标主机名称" -IncludeStorage -DestinationStoragePath "目标存储路径"
请将以下参数替换为适当的值: "虚拟机名称":要移动的虚拟机的名称。 "目标主机名称":要将虚拟机移动到其中的目标 Hyper-V 主机的名称或 IP 地址。 "目标存储路径":虚拟机的新存储位置。如果未指定,则使用与源主机相同的存储位置。
以下是一个示例命令:
powershell
Move-VM -Name "MyVM" -DestinationHost "NewHost" -IncludeStorage -DestinationStoragePath "D:\Virtual Machines\MyVM"
运行此命令后,指定的虚拟机将被移动到指定的目标主机和存储位置。
远程桌面 Mstsc RDP
@echo off
:: 启用将硬件图形适配器应用于所有远程桌面服务会话
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fEnableHardwareGraphicsAcceleration" /t REG_DWORD /d "1" /f
:: 启用配置远程桌面连接的 H.264/AVC 硬件编码
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" /v "fClientAllowHWCodec" /t REG_DWORD /d "1" /f
:: 启用为远程桌面连接设置 H.264/AVC 444 图形模式的优先级
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" /v "fClientSetAVC444Enabled" /t REG_DWORD /d "1" /f
:: 配置 Remote FX 数据压缩
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" /v "fClientRemoteFXCompression" /t REG_DWORD /d "1" /f
:: 启用为远程桌面连接使用 WDDM 图形显示驱动程序
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" /v "fClientUseWddmDriver" /t REG_DWORD /d "1" /f
:: 解除30帧率限制
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations" /v "DWMFRAMEINTERVAL" /t REG_DWORD /d "15" /f
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战