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