I am trying to get my azure subscription current cost using PowerShell.
Desired Output:
e.g:
currency = GBP
current cost = 370.74
Get-AzConsumptionUsageDetail -BillingPeriodName 202105
But this does not give me the desired output.
The below query will give you the cost of the mentioned month. e.g: cost of May month
Get-AzConsumptionUsageDetail -BillingPeriodName 202105
But if your subscription does not start with the 1st of May then in this case the above query will give you the wrong cost. e.g: your billing cycle is from 10 May to 09 June
To know the cost of your exact billing cycle you need to get the current billing period first and then get the cost based on billing cycle start/end date.
$currentBillingPeriod = Get-AzBillingPeriod -MaxCount 1
$startDate = $currentBillingPeriod.BillingPeriodStartDate.ToString("dd-MM-yyyy")
Write-Host "currentBillingPeriod startDate : " $startDate
$endDate = $currentBillingPeriod.BillingPeriodEndDate.ToString("dd-MM-yyyy")
Write-Host "currentBillingPeriod endDate : " $endDate
$currentCost = Get-AzConsumptionUsageDetail -StartDate $startDate -EndDate $endDate | Measure-Object -Property PretaxCost -Sum
Write-Host "Current Cost of Subscription : " $currentCost.Sum