我需要一个 powershell script/CLI/API,它可以计算我的 Azure 订阅上所有虚拟机(Windows 和 Linux)运行 的 运行(维护)时间

I need a powershell script/CLI/API that can calculate the running (upkeep) time of all the VMs (Windows & Linux) running on my Azure subscription

因此,我在 Azure 订阅中有大约六个 VM(4 Linux 和 2 Windows)运行。我需要知道这些 VM 运行 已经存在了多长时间。如何使用 PowerShell/CLI/API?

实现此目的

使用Get-UsageAggregates in Az.billing Powershell module获取一段时间内您的VM的运行时间:

Connect-AzAccount

$vmsUsage = (Get-UsageAggregates -ReportedStartTime "<start time>" -ReportedEndTime "<endtime>" -ShowDetails $true).UsageAggregations | Where-Object {$_.Properties.MeterCategory -eq  'Virtual Machines'}  

foreach($usage in $vmsUsage){
  echo $usage.Properties
} 

结果: