在 PowerShell 中安装和部署 Hyper-V 相关组件时,可以使用 Install-WindowsFeature 或 Enable-WindowsOptionalFeature 命令来安装所需的功能。在 PowerShell 中操作 Hyper-V 可以通过一组命令来管理虚拟机、虚拟交换机、存储以及其他 Hyper-V 组件。

在 PowerShell 中安装和部署 Hyper-V 相关组件时,可以使用 Install-WindowsFeatureEnable-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 环境的资源。

命令示例

  1. 安装 Hyper-V 核心功能

    • 这是启用 Hyper-V 虚拟化平台的核心功能。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V
  2. 安装 Hyper-V 管理工具(RSAT)

    • 安装 Hyper-V 管理工具,包括远程服务器管理工具(RSAT)。这些工具可以帮助你通过图形界面或命令行管理 Hyper-V 主机。
    powershellCopy Code
    Install-WindowsFeature -Name RSAT-Hyper-V-Tools
  3. 安装 Hyper-V PowerShell 模块

    • 安装 Hyper-V PowerShell 模块,允许你通过 PowerShell 命令行来管理 Hyper-V 主机和虚拟机。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V-PowerShell
  4. 安装 Hyper-V 管理控制台

    • 安装 Hyper-V 管理控制台,用于图形化管理虚拟机。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V-Tools
  5. 安装 Hyper-V 服务组件

    • 安装 Hyper-V 服务组件,确保虚拟化环境运行所需的所有服务。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V-Services
  6. 安装 Hyper-V 资源管理工具

    • 安装 Hyper-V 资源管理器,用于管理 Hyper-V 环境中的资源分配。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V-Resource-Manager
  7. 安装虚拟机监控工具

    • 安装用于虚拟机管理和监控的客户端工具。
    powershellCopy Code
    Install-WindowsFeature -Name Hyper-V-Management-Clients
  8. 重启计算机

    • 安装完 Hyper-V 组件后,通常需要重启计算机使更改生效。
    powershellCopy Code
    Restart-Computer

验证安装

在安装完 Hyper-V 相关组件后,您可以使用以下命令来验证是否成功安装:

  1. 检查 Hyper-V 功能是否安装:

    powershellCopy Code
    Get-WindowsFeature -Name Hyper-V
  2. 检查 Hyper-V PowerShell 模块是否加载:

    powershellCopy Code
    Get-Module -ListAvailable Hyper-V
  3. 确认 Hyper-V 服务状态:

    powershellCopy Code
    Get-Service -Name vmms
  4. 检查虚拟化是否启用:

    powershellCopy Code
    systeminfo | 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 Code
    New-VM -Name "TestVM" -MemoryStartupBytes 2GB -Path "C:\VMs"
  • 启动虚拟机:

    powershellCopy Code
    Start-VM -Name "TestVM"
  • 停止虚拟机:

    powershellCopy Code
    Stop-VM -Name "TestVM"
  • 重启虚拟机:

    powershellCopy Code
    Restart-VM -Name "TestVM"

2. 虚拟硬盘管理命令

  • 创建虚拟硬盘:

    powershellCopy Code
    New-VHD -Path "C:\VMs\TestVM.vhdx" -SizeBytes 50GB -Dynamic
  • 获取虚拟硬盘信息:

    powershellCopy Code
    Get-VHD -Path "C:\VMs\TestVM.vhdx"
  • 调整虚拟硬盘大小:

    powershellCopy Code
    Resize-VHD -Path "C:\VMs\TestVM.vhdx" -SizeBytes 100GB

3. 虚拟交换机管理命令

  • 创建虚拟交换机:

    powershellCopy Code
    New-VMSwitch -Name "ExternalSwitch" -NetAdapterName "Ethernet" -AllowManagementOS $True
  • 获取虚拟交换机信息:

    powershellCopy Code
    Get-VMSwitch

4. 虚拟机快照命令

  • 创建虚拟机快照:

    powershellCopy Code
    Checkpoint-VM -Name "TestVM" -SnapshotName "Snapshot1"
  • 恢复虚拟机快照:

    powershellCopy Code
    Restore-VMCheckpoint -VMName "TestVM" -Name "Snapshot1"

5. 网络适配器管理

  • 添加网络适配器:

    powershellCopy Code
    Add-VMNetworkAdapter -VMName "TestVM" -Name "Ethernet Adapter"
  • 获取网络适配器信息:

    powershellCopy Code
    Get-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

 

posted @   suv789  阅读(574)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示