Enable-VMResourceMetering

Enable-VMResourceMetering

Collects resource utilization data for a virtual machine or resource pool.

Syntax

Parameter Set: ResourcePool
Enable-VMResourceMetering [-ResourcePoolName] <String> [[-ResourcePoolType] <VMResourcePoolType> ] [-ComputerName <String[]> ] [ <CommonParameters>]

Parameter Set: VMName
Enable-VMResourceMetering [-VMName] <String[]> [-ComputerName <String[]> ] [ <CommonParameters>]

Parameter Set: VMObject
Enable-VMResourceMetering [-VM] <VirtualMachine[]> [ <CommonParameters>]

Detailed Description

The Enable-VMResourceMetering cmdlet starts collecting resource utilization data for a virtual machine or resource pool.

You can use the Measure-VM or Measure-VMResourcePool cmdlet to obtain this data.

If resource metering is enabled but no NetworkAdapterAcls are configured, Hyper-V configures them to measure total network traffic. To measure network traffic through an IP range, configure the NetworkAdapterAcls for the IP range before calling this cmdlet. (See Add-VMNetworkAdapterAcl for more information.)

Parameters

-ComputerName<String[]>

Specifies the virtual machine host or hosts on which resource utilization data collection is to be enabled. 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.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ResourcePoolName<String>

Specifies the friendly name of the resource pool for which you want to collect resource utilization data.

Aliases

Name

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue, ByPropertyName)

Accept Wildcard Characters?

false

-ResourcePoolType<VMResourcePoolType>

Specifies the resource type of the resource pool for which you want to collect resource utilization data.

Aliases

none

Required?

false

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-VM<VirtualMachine[]>

Specifies the virtual machine for which you want to collect resource utilization data.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMName<String[]>

Specifies the friendly name of the virtual machine for which you want to collect resource utilization data.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.HyperV.PowerShell.VirtualMachine[]
  • Microsoft.HyperV.PowerShell.VMResourcePoolType

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None

Examples

Example 1

This example starts collecting resource utilization data on a virtual machine named TestVM.

PS C:\> Enable-VMResourceMetering –VMName TestVM

Example 2

This example starts collecting resource utilization data on a resource pool named TestResourcePool. (You can determine whether resource metering is enabled for a resource pool by querying its ResourceMeteringEnabled property.)

PS C:\> Get-VM TestVM | Enable-VMResourceMetering
PS C:\> Get-VM TestVM | Format-List Name,ResourceMeteringEnabled

Example 3

This example uses two commands that show resource metering being enabled and then obtain the data. The first command starts collecting resource utilization data for a memory resource pool named TestResourcePool. (You can determine whether resource metering is enabled for a resource pool by querying its ResourceMeteringEnabled property.) The second command retrieves the data in and formats it as a list.

PS C:\> Enable-VMResourceMetering –ResourcePoolName TestResourcePool –ResourcePoolType Memory
PS C:\> Get-VMResourcePool -Name TestResourcePool –ResourcePoolType Memory | Format-List Name,ResourceMeteringEnabled

Example 4

This example begins collecting resource utilization data on multiple resource pools with the name TestResourcePool.

PS C:\> Enable-VMResourceMetering –Name TestResourcePool –ResourcePoolType @(“Processor”,”VHD”,”Ethernet”,”Memory”)

Measure-VM

Measure-VMResourcePool

Disable-VMResourceMetering