【发布时间】:2021-02-14 09:21:02
【问题描述】:
我想列出在特定时间范围或计费周期内产生成本的所有虚拟机。
我设法创建了这个脚本来得到我想要的输出:
$file="C:\temp\GeneratedCost-short.csv"
(az consumption usage list `
--start-date "2020-07-01" --end-date "2020-07-31" | ConvertFrom-Json)`
| Where-Object {$_.product -Match "Virtual Machines"}`
| Sort-Object -Property instanceName -Descending | Select-Object instanceName, subscriptionName`
| Get-Unique -AsString | ConvertTo-Csv -NoTypeInformation | Set-Content $file
但这只会给我当前订阅的输出。
如何在 azure 租户上的所有订阅上运行?
我尝试使用以下版本,但它似乎不起作用:
$file="C:\temp\GeneratedCost-short.csv"
$VMs = @()
$Subscriptions = Get-AzSubscription
foreach ($sub in $Subscriptions) {
Get-AzSubscription -SubscriptionName $sub.Name | az account set -s $sub.Name
$VMs += (az consumption usage list --start-date "2020-07-01" --end-date "2020-07-03" | ConvertFrom-Json)
}
#
$VMs | Where-Object {$_.product -Match "Virtual Machines"}`
| Sort-Object -Property instanceName -Descending | Select-Object instanceName, subscriptionName`
| Get-Unique -AsString | ConvertTo-Csv -NoTypeInformation | Set-Content $file
有什么建议吗?
【问题讨论】:
标签: azure powershell azure-cli