Powershell. Получите бесплатный Azure тарифный план, без приложений / слотов - PullRequest
0 голосов
/ 24 февраля 2020

Возможно, кто-то пытался получить неиспользованные ресурсы в Azure от Powershell. Меня интересует конкретный c ресурс Azure Сервисный план для сервисов приложений.

Я узнал, как получить ресурсы без приложений, но застрял в слотах. Поскольку у ресурса само по себе есть 2 типа сервисов, работающих под управлением app / slots . В конце концов, я получаю список сервисов приложений без приложений, но некоторые со слотами. Вопрос в том, как получить ресурсы 0/0.

Для этой цели есть параметр numberOfSites , а как насчет слотов?

Всем, пожалуйста.

$RT = "Microsoft.Web/serverfarms"
$farms = Get-AzureRmResource -ODataQuery "`$filter=resourcetype eq 'Microsoft.Web/serverfarms'"
foreach ($farm in $farms){
    $full_farm = Get-AzureRmResource -ResourceGroupName $farm.ResourceGroupName -ResourceType $RT -ResourceName $farm.Name
    if ($full_farm.Properties.numberOfSites -eq '0'){
Get-AzureRmResource -ResourceGroupName $farm.ResourceGroupName -ResourceType $RT -ResourceName $farm.Name | Select-Object Name,ResourceGroupName,Location,Sku

1 Ответ

0 голосов
/ 25 февраля 2020

Вы можете попробовать мой сценарий ниже, он работает на моей стороне.

Примечание : План потребления функции azure не включен в мой образец.

$RT = "Microsoft.Web/serverfarms"
$farms = Get-AzureRmResource -ODataQuery "`$filter=resourcetype eq 'Microsoft.Web/serverfarms'"
foreach ($farm in $farms){
$usage = Get-AzureRmResource -ResourceGroupName $farm.ResourceGroupName -ResourceType Microsoft.Web/serverfarms/usages -ResourceName $farm.Name -ApiVersion 2018-02-01
    if($farm.Kind -ne 'functionapp'){
       if($farm.Sku.Name -eq 'F1' -or $farm.Sku.Name -eq 'D1'){
           if (($usage | Where-Object {$_.unit -eq 'Sites'}).currentValue -eq '0'){
           Get-AzureRmResource -ResourceGroupName $farm.ResourceGroupName -ResourceType $RT -ResourceName $farm.Name | Select-Object Name,ResourceGroupName,Location,Sku
           }
}else{
      if(($usage | Where-Object {$_.unit -eq 'Sites'}).currentValue -eq '1'){
           Get-AzureRmResource -ResourceGroupName $farm.ResourceGroupName -ResourceType $RT -ResourceName $farm.Name | Select-Object Name,ResourceGroupName,Location,Sku
           }
       }
    }
}

enter image description here

Регистрация на портале :

enter image description here

enter image description here

enter image description here

enter image description here

...