Set-VMProcessor
Configures settings for the virtual processors of a virtual machine. Settings are applied uniformly to all virtual processors belonging to the virtual machine.
Set-VMProcessor
[-CimSession <CimSession[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential[]>]
[-VMName] <String[]>
[-Count <Int64>]
[-CompatibilityForMigrationEnabled <Boolean>]
[-CompatibilityForOlderOperatingSystemsEnabled <Boolean>]
[-HwThreadCountPerCore <Int64>]
[-Maximum <Int64>]
[-Reserve <Int64>]
[-RelativeWeight <Int32>]
[-MaximumCountPerNumaNode <Int32>]
[-MaximumCountPerNumaSocket <Int32>]
[-ResourcePoolName <String>]
[-Perfmon <String>]
[-EnableHostResourceProtection <Boolean>]
[-ExposeVirtualizationExtensions <Boolean>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-VMProcessor
[-VM] <VirtualMachine[]>
[-Count <Int64>]
[-CompatibilityForMigrationEnabled <Boolean>]
[-CompatibilityForOlderOperatingSystemsEnabled <Boolean>]
[-HwThreadCountPerCore <Int64>]
[-Maximum <Int64>]
[-Reserve <Int64>]
[-RelativeWeight <Int32>]
[-MaximumCountPerNumaNode <Int32>]
[-MaximumCountPerNumaSocket <Int32>]
[-ResourcePoolName <String>]
[-EnableHostResourceProtection <Boolean>]
[-ExposeVirtualizationExtensions <Boolean>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-VMProcessor
[-VMProcessor] <VMProcessor[]>
[-Count <Int64>]
[-CompatibilityForMigrationEnabled <Boolean>]
[-CompatibilityForOlderOperatingSystemsEnabled <Boolean>]
[-HwThreadCountPerCore <Int64>]
[-Maximum <Int64>]
[-Reserve <Int64>]
[-RelativeWeight <Int32>]
[-MaximumCountPerNumaNode <Int32>]
[-MaximumCountPerNumaSocket <Int32>]
[-ResourcePoolName <String>]
[-EnableHostResourceProtection <Boolean>]
[-ExposeVirtualizationExtensions <Boolean>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
The Set-VMProcessor cmdlet configures the virtual processors of a virtual machine.
PS C:\> Set-VMProcessor TestVM -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
Configures virtual machine TestVM with two virtual processors, a reserve of 10%, a limit of 75%, and a relative weight of 200.
PS C:\> Set-VMProcessor TestVM -CompatibilityForMigrationEnabled $true
Configures virtual machine TestVM, enabling processor compatibility for live migration.
PS C:\> Set-VMProcessor TestVM -CompatibilityForOlderOperatingSystemsEnabled $true
Configures virtual machine TestVM, enabling compatibility for running older operating systems.
PS C:\> Set-VMProcessor TestVM -ExposeVirtualizationExtensions $true
Configures virtual machine TestVM, enabling embedded Hyper-V.Uu
PS C:\> Set-VMProcessor TestVM -Perfmon pmu,pebs,lbr
Configure your VM to expose PMU, PEBS, LBR for Performance Monitoring.
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies whether the virtual processor's features are to be limited for compatibility when migrating the virtual machine to another host.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies whether the virtual processor's features are to be limited for compatibility with older operating systems.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies one or more Hyper-V hosts on which processors are to be configured. NetBIOS names, IP addresses, and fully qualified domain names are allowable. The default is the local computer. Use localhost or a dot (.) to specify the local computer explicitly.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the number of virtual processors for the virtual machine.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies one or more user accounts that have permission to perform this action. The default is the current user.
Type: | PSCredential[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies whether to enable host resource protection on the virtual machine. When enabled, the host will enforce limits on some aspects of the virtual machine's activity, preventing excessive consumption of host compute resources. VM activities controlled by this setting include the VMbus pipe messages associated with a subset of the VM's virtual devices, and intercepts generated by the VM. The virtual devices affected include the video, keyboard, mouse, and dynamic memory VDEVs.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies whether the hypervisor should expose the presence of virtualization extensions to the virtual machine, which enables support for nested virtualization.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the number of virtual SMT threads exposed to the virtual machine. Setting this value to 0 indicates the virtual machine will inherit the host's number of threads per core. This setting may not exceed the host's number of threads per core.
Note: Windows Server 2016 does not support setting HwThreadCountPerCore to 0. For more details, see Configuring VM SMT settings using PowerShell.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum percentage of resources available to the virtual machine processor to be configured. Allowed values range from 0 to 100.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum number of processors per NUMA node to be configured for the virtual machine.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum number of sockets per NUMA node to be configured for the virtual machine.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies that a Microsoft.HyperV.PowerShell.Processor is to be passed through to the pipeline representing the processor to be configured.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the hardware to be Exposed for Performance Monitoring. For more information about requirements, visit Enable Intel Performance Monitoring Hardware in a Hyper-V virtual machine.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the priority for allocating the physical computer's processing power to this virtual machine relative to others. Allowed values range from 1 to 10000.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the percentage of processor resources to be reserved for this virtual machine. Allowed values range from 0 to 100.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the name of the processor resource pool to be used.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the virtual machine on which the processor is to be configured.
Type: | VirtualMachine[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the name of the virtual machine on which the processor is to be configured.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies that the virtual machine's settings for virtual processors are to be configured.
Type: | VMProcessor[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
None
Default
Microsoft.HyperV.PowerShell.VMProcessor
If -PassThru is specified.