Enable-VMResourceMetering

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

Syntax

Enable-VMResourceMetering
      [-CimSession <CimSession[]>]
      [-ComputerName <String[]>]
      [-Credential <PSCredential[]>]
      [-VMName] <String[]>
      [<CommonParameters>]
Enable-VMResourceMetering
      [-CimSession <CimSession[]>]
      [-ComputerName <String[]>]
      [-Credential <PSCredential[]>]
      [-ResourcePoolName] <String>
      [[-ResourcePoolType] <VMResourcePoolType>]
      [<CommonParameters>]
Enable-VMResourceMetering
      [-VM] <VirtualMachine[]>
      [<CommonParameters>]

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.)

Examples

Example 1

PS C:\> Enable-VMResourceMetering -VMName TestVM

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

Example 2

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

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.)

Example 3

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

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.

Example 4

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

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

Parameters

-CimSession

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:True
Accept wildcard characters:False

-ComputerName

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.

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

-Credential

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

-ResourcePoolName

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

Type:String
Aliases:Name
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourcePoolType

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

Type:VMResourcePoolType
Accepted values:Ethernet, Memory, Processor, VHD
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VM

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

Type:VirtualMachine[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMName

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.HyperV.PowerShell.VirtualMachine[]

Microsoft.HyperV.PowerShell.VMResourcePoolType

Outputs

None