Set-SCHardwareProfile

更改 VMM 中使用的硬件配置文件的属性。

语法

Set-SCHardwareProfile
   [-HardwareProfile] <HardwareProfile>
   [-HighlyAvailable <Boolean>]
   [-HAVMPriority <UInt32>]
   [-DRProtectionRequired <Boolean>]
   [-ReplicationGroup <ReplicationGroup>]
   [-SecureBootEnabled <Boolean>]
   [-NumLock <Boolean>]
   [-CPULimitFunctionality <Boolean>]
   [-CPULimitForMigration <Boolean>]
   [-Name <String>]
   [-RemoveCapabilityProfile]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-JobGroup <Guid>]
   [-CapabilityProfile <CapabilityProfile>]
   [-Description <String>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-BootOrder <BootDevice[]>]
   [-FirstBootDevice <String>]
   [-SecureBootTemplate <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPUExpectedUtilizationPercent <Int32>]
   [-DiskIops <Int32>]
   [-NetworkUtilizationMbps <Int32>]
   [-CPURelativeWeight <Int32>]
   [-CPUReserve <Int32>]
   [-CPUMaximumPercent <Int32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-AutomaticCriticalErrorAction <UInt16>]
   [-AutomaticCriticalErrorActionTimeout <Int32>]
   [-CheckpointType <CheckpointType>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]

说明

Set-SCHardwareProfile cmdlet 更改 Virtual Machine Manager (VMM) 环境中使用的硬件配置文件对象的一个或多个属性。 可以更改的属性包括分配给虚拟机的主机上的启动顺序设置、CPU 设置和内存量以及其他选项。

若要更改虚拟软盘驱动器、虚拟 DVD 驱动器、虚拟 COM 端口、虚拟网络适配器或与特定硬件配置文件关联的虚拟 SCSI 适配器的属性,请分别使用 Set-SCVirtualFloppyDriveSet-SCVirtual DVDDrive、Set-SCVirtualCOMPortSet-SCVirtualNetworkAdapterSet-SCVirtualScsiAdapter cmdlet。

对硬件配置文件所作的更改只会对硬件配置文件本身产生影响。 这些更改不会影响使用此配置文件创建的任何现有虚拟机。

示例

示例 1:为现有硬件配置文件指定内存量

PS C:\> $HWProfile = Get-SCHardwareProfile | where { $_.Name -eq "NewHWProfile01" }
PS C:\> Set-SCHardwareProfile -HardwareProfile $HWProfile -MemoryMB 1024

第一个命令获取名为 NewHWProfile01 的硬件配置文件对象,并将对象存储在$HWProfile变量中。

第二个命令将 NewHWProfile01 的内存值更改为 1024 MB。

示例 2:为多个硬件配置文件指定新的所有者

PS C:\> $HWProfiles = Get-SCHardwareProfile | where {$_.Name -match "Profile"}
PS C:\> ForEach ($HWProfile in $HWProfiles) {Set-SCHardwareProfile -HardwareProfile $HWProfile -Owner "Contoso\Cesar"}

第一个命令获取与搜索条件匹配的硬件配置文件对象,并将对象存储在$HWProfiles对象数组中。

第二个命令使用 ForEach 语句为数组中的每个配置文件指定一个新所有者。

有关标准 PowerShell ForEach 循环语句的详细信息,请键入 Get-Help about_ForEach

示例 3:为多个硬件配置文件指定新的启动顺序

PS C:\> $HWProfiles = @(Get-SCHardwareProfile | where {$_.Name -match "HWProfile"})
PS C:\> ForEach ($HWProfile in $HWProfiles) {Set-SCHardwareProfile -HardwareProfile $HWProfile -BootOrder PXEBoot,CD,IDEHardDrive,Floppy}

第一个命令获取库与搜索条件匹配的所有硬件配置文件对象, (配置文件名称包含字符串“HWProfile”) ,并将硬件配置文件对象存储在$HWProfiles对象数组中。 使用 @ 符号和括号可确保命令将结果存储在数组中,以防命令返回单个对象或$Null值。

第二个命令使用 ForEach 语句为$HWProfiles数组中的每个硬件配置文件对象指定新的启动顺序。

示例 4:搜索具有特定配置的硬件配置文件,并将文本追加到说明字段

PS C:\> $HWProfiles = @(Get-SCHardwareProfile | where {$_.CPUCount -eq 4})
PS C:\> ForEach ($HWProfile in $HWProfiles) {$Text = $HWProfile.Description; Set-SCHardwareProfile -HardwareProfile $HWProfile -Description $Text" (Contains four Processors)"}

第一个命令获取与搜索条件匹配的所有硬件配置文件对象, (CPU 计数等于 4) ,并将硬件配置文件对象存储在$HWProfiles对象数组中。

第二个命令使用 ForEach 语句循环访问$HWProfiles数组中的每个配置文件对象。 对于每个配置文件,说明文本将存储在变量 ($Text) ,然后 Set-SCHardwareProfile cmdlet 使用 Description 参数将“ (包含四个处理器) ”追加到每个$Text实例的内容。

示例 5:为现有硬件配置文件启用动态内存

PS C:\> $HWProfile = Get-SCHardwareProfile | where { $_.Name -eq "NewHWProfile05" }
PS C:\> Set-SCHardwareProfile -HardwareProfile $HWProfile -DynamicMemoryEnabled $True -MemoryMB 1024 -DynamicMemoryMaximumMB 2048

第一个命令获取名为 NewProfile5 的硬件配置文件对象,并将对象存储在$HWProfile变量中。

第二个命令为 NewHWProfile05 启用动态内存,将启动内存值更改为 1024 MB,并将最大内存值设置为 2048 MB。

参数

-AutomaticCriticalErrorAction

指定 VM 遇到严重错误时要执行的操作,并超出 AutomaticCriticalErrorActionTimeout 参数指定的超时持续时间。 此参数的可接受值为:Pause 和 None。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutomaticCriticalErrorActionTimeout

指定在关闭虚拟机之前在关键暂停中等待的时间量(以分钟为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BootOrder

指定 Hyper-V 主机上虚拟机用于启动的设备的顺序(作为数组)。 有效值为:

  • CD
  • IDEHardDrive
  • PXEBoot
  • 软盘

示例格式: -BootOrder PXEBoot,IDEHardDrive,CD,Floppy

Type:BootDevice[]
Accepted values:Floppy, CD, IdeHardDrive, PxeBoot, Unknown
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CapabilityProfile

指定功能配置文件对象。

Type:CapabilityProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CheckpointType

指定检查点类型。 此参数的可接受值为:

  • 已禁用
  • 生产
  • ProductionOnly
  • 标准
Type:CheckpointType
Accepted values:Disabled, Production, ProductionOnly, Standard
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUCount

指定虚拟机、硬件配置文件或模板上的 CPU 数目。

主机类型支持以下数量的 CPU:

  • Hyper-V。 每个虚拟机最多四个 CPU,具体取决于来宾操作系统。
  • VMware ESX。 每个虚拟机最多四个 CPU,但在运行 Windows NT 4.0 的虚拟机上只有一个 CPU。
  • Citrix XenServer。 每个虚拟机最多 8 个 CPU,具体取决于来宾操作系统。
Type:Byte
Aliases:ProcessorCount
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUExpectedUtilizationPercent

指定预期此虚拟机使用的主机上的 CPU 百分比。 只在 VMM 确定适于部署虚拟机的主机时才使用此值。

Type:Int32
Aliases:ExpectedCPUUtilization
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPULimitForMigration

指示是否限制指定虚拟机的处理器功能,以便迁移到具有与源计算机不同版本的物理计算机。 VMM 不支持在拥有不同制造商提供的处理器的物理计算机之间迁移虚拟机。

Type:Boolean
Aliases:LimitCPUForMigration
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPULimitFunctionality

指示是否通过为虚拟机提供有限的 CPU 功能,在部署在 Hyper-V 主机或 VMware ESX 主机上的虚拟机上启用Windows NT 4.0 等旧操作系统。

Type:Boolean
Aliases:LimitCPUFunctionality
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUMaximumPercent

指定特定虚拟机在任意给定时间最多可以利用主机上的单个 CPU 的总资源的百分比。

示例: -CPUMaximumPercent 80 (指定 80%)

Type:Int32
Aliases:CPUMax
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUPerVirtualNumaNodeMaximum

指定每个虚拟 NUMA 节点允许的最大 CPU 数。

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPURelativeWeight

指定主机上此虚拟机可以使用的 CPU 资源量(相对于同一主机上的其他虚拟机)。 具有较高权重值的虚拟机分配的 CPU 资源比权重值较低的虚拟机分配的 CPU 资源更多。 这些值的 VMware 术语是共享。

主机类型支持以下相对值:

  • Hyper-V。 1 到 10000。

  • VMware ESX。 高。

  • VMware ESX。 高于普通。
  • VMware ESX。 普通 (默认) 。 1000。

  • VMware ESX。 正常情况下。

  • VMware ESX。 低。
  • VMware ESX。 自定义 1 到 1000000。

  • Citrix XenServer。 1 到 65536,正常为 256。

Type:Int32
Aliases:RelativeWeight
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUReserve

指定主机上最低可以分配给虚拟机使用的单个 CPU 资源的百分比。 虚拟机的可用 CPU 容量的百分比决不能小于此百分比。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUType

指定虚拟机的 CPU 类型。 若要检索可用于 VMM 环境中的虚拟机的所有 CPU 类型的列表,请键入 Get-SCCPUType

Type:ProcessorType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

说明指定对象。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskIops

指定特定虚拟机每秒可在主机上使用的磁盘输入/输出操作数量 (IOPS)。

示例: -DiskIO 1500 (指定 1500 IOPS)

Type:Int32
Aliases:DiskIO
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DRProtectionRequired

此参数留待将来使用。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryBufferPercentage

指定虚拟机当前内存分配上方的内存百分比,主机应尝试保留为缓冲区。 默认值为 20。

示例格式: -DynamicMemoryTargetBufferPercentage 20

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryEnabled

指示是否为虚拟机启用动态内存。 您可以直接对虚拟机或将用于创建虚拟机的模板或硬件配置文件启用动态内存。 默认值为$False。

必需:仅当虚拟机部署在运行 Windows Server 2008 SP1 或更高版本的主机上,或者如果虚拟机以停止状态存储在库中,则只能对存储的虚拟机进行硬件更改 (,前提是虚拟机没有快照) 才能启用该虚拟机的动态内存。 在库中存储的虚拟机上启用动态内存会将该计算机的放置限制为运行 Windows Server 2008 SP1 或更高版本的主机。

示例格式: -DynamicMemoryEnabled $True

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryMaximumMB

指定在启用动态内存时可分配给虚拟机的最大内存量。 默认值为 65536。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 或更高版本的主机上,或者如果虚拟机存储在库中, (存储的虚拟机的硬件更改 (存储的虚拟机时,才能对存储的虚拟机) 启用动态内存。 如果对存储在库中的虚拟机启用动态内存,则会将该虚拟机的放置局限于运行 Windows Server 2008 R2 SP1 或更高版本的主机。

示例格式: -DynamicMemoryMaximumMB 1024

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryMinimumMB

指定启用动态内存时可分配给虚拟机的最小内存量。 默认值为 65536。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 或更高版本的主机上,或者如果虚拟机存储在库中, (存储的虚拟机的硬件更改 (存储的虚拟机时,才能对存储的虚拟机) 启用动态内存。 如果对存储在库中的虚拟机启用动态内存,则会将该虚拟机的放置局限于运行 Windows Server 2008 R2 SP1 或更高版本的主机。

示例格式: -DynamicMemoryMinimumMB 1024

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FirstBootDevice

指定首次尝试启动的设备。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HardwareProfile

指定硬件配置文件对象。

Type:HardwareProfile
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HAVMPriority

指定虚拟机优先级。 虚拟机的优先级顺序从主机群集节点的限制开始。 此参数的有效输入是优先级的数字表示形式:

  • 高。 3000
  • 中等。 2000
  • 低。 1000

如果指定值为 0 (0) ,则虚拟机不会自动重启。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HighlyAvailable

指示是否将虚拟机放置在属于主机群集的 Hyper-V 主机上。 在虚拟机、用于创建虚拟机的模板或硬件配置文件上配置此设置。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

在运行最后一个包含相同作业组标识符的命令之前,为作为集合运行的一系列命令指定标识符。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryMB

指定此 cmdlet 分配给转换后的虚拟机的主机上的 RAM (RAM) 随机访问内存量(以 MB () MB 为单位)。 默认值为 512 MB。 对于在运行 Windows Server 2008 R2 SP1 或更高版本的主机上启用动态内存的虚拟机,请指定启动内存值。

主机类型具有以下可分配给虚拟机的最大内存:

  • Hyper-V。 每个虚拟机最多 65536 MB RAM。
  • VMware ESX Server 3.0.x。 每个虚拟机最多 16384 MB RAM。
  • VMware ESX Server 3.5.x。 每个虚拟机最多 65532 MB RAM。
  • Citrix XenServer。 每个虚拟机最多 32265 MB RAM。
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryPerVirtualNumaNodeMaximumMB

指定允许每个虚拟 NUMA 节点的最大内存量(以 MB 为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryWeight

指明向虚拟机分配内存的优先级(相对于同一主机上的其他虚拟机)。 设置较高的虚拟机所分配到的内存资源比设置较低的虚拟机多。

对于运行 Windows Server 2008 R2 SP1 或更高版本的主机:

  • 5000 - 正常
  • 10000 - 高
  • 0 - 低
  • 1 到 10000 - 自定义
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MonitorMaximumCount

指定虚拟视频适配器支持的最大监视器数。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MonitorMaximumResolution

将值指定为字符串,表示虚拟视频适配器的最大可能监视器分辨率。 此参数的可接受值为:

  • 1024 x 768
  • 1280x1024
  • 1600 x 1200
  • 1920x1200

默认值为 1280x1024。

示例格式: -MonitorResolutionMaximum "1600x1200"

Type:String
Aliases:MonitorResolutionMaximum
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定 VMM 对象的名称。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NetworkUtilizationMbps

指定,以兆比特/秒为单位 (Mbps) ,主机网络上可由特定虚拟机使用的带宽量。

示例格式: -NetworkUtilization 10

Type:Int32
Aliases:NetworkUtilization
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NumaIsolationRequired

指示是否需要 NUMA 隔离。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NumLock

指示是否在用于在 Hyper-V 主机上创建虚拟机的硬件配置文件上为 NumLock 启用 BIOS 值。 此参数不适用于 VMware ESX 主机上或 Citrix XenServer 主机上的虚拟机。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Owner

以一个有效的域用户帐户形式指定 VMM 对象的所有者。

  • 示例格式: -Owner "Contoso\PattiFuller"
  • 示例格式: -Owner "PattiFuller@Contoso"
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProtectionProvider

指定保护提供程序。

Type:ProtectionProvider
Accepted values:None, HVR8, HVRBlue, HVRAzure, DiskReplication, SANReplication
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RecoveryPointObjective

指定因重大事件而无法容忍从 IT 服务丢失数据的最大时间段。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveCapabilityProfile

删除一个或多个指定的功能配置文件对象。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReplicationGroup

指定 ReplicationGroup 对象。

Type:ReplicationGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业异步运行,以便控件立即返回到命令 shell。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureBootEnabled

指示是否启用了安全启动。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureBootTemplate

指定安全启动模板。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserRole

指定一个用户角色对象。

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualNumaNodesPerSocketMaximum

指定每个套接字允许的最大 NUMA 节点数。

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualVideoAdapterEnabled

指示是否为虚拟机启用 Microsoft 合成 3D 虚拟视频适配器。 可以直接在虚拟机上或用于创建虚拟机的模板或硬件配置文件上启用虚拟视频适配器。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 (的主机上部署该虚拟机时,才能为虚拟机启用 Microsoft 合成 3D 虚拟视频适配器,且远程桌面虚拟图形角色服务安装在) 或更高版本,或者如果虚拟机存储在已停止状态的库中, (存储虚拟机的硬件更改只能进行如果虚拟机没有快照) 。 在库中存储的虚拟机上启用 Microsoft 合成 3D 虚拟视频适配器会将该计算机的位置限制为托管运行 Windows Server 2008 R2 SP1 的主机, (安装了远程桌面服务角色和已安装) 或更高版本的远程桌面虚拟图形角色服务。

示例格式: -VirtualVideoAdapterEnabled $True

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

HardwareProfile

此 cmdlet 返回 HardwareProfile 对象。