Можно ли получить предложение подписки Azure или offerId с помощью PowerShell?

Можно ли получить предложение подписки Azure или offerId с помощью Powershell? Через портал это будет «Подписка» -> «Свойства» -> «Предложение» или «ID предложения»?

Я долго искал, но не вижу.

Спасибо,

Не могли бы вы включить такие подробности, как «Я искал модули X Y и Z» или «Мне не удалось идентифицировать веб-запрос в X / Y»?

Jacob Colvin 01.10.2018 17:08

Я безуспешно выполнял поиск в Интернете. Я попытался изучить подписки, контекст подписки, в модуле AzureRM.Billing были некоторые обещания, но ничего не вышло. Я изучил эквивалентный API для отдыха (биллинг), и здесь указан OfferID, но он больше привязан к ресурсу, чем к подписке. Это помогает?

Gene Laisne 01.10.2018 17:47
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
2
2 415
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Зависит от того, для чего он вам нужен. Нет смысла получать OfferTypes через скрипт PS, поскольку вы не будете создавать новую подписку таким образом. Процесс намного сложнее. Хотя, если вам просто нужен список, он доступен на сайте MS: https://azure.microsoft.com/en-us/support/legal/offer-details/

Итак, у меня более 60 подписок, и мы время от времени делаем M&A там, где подписка должна быть под MSDN или Enterprise. Я хочу иметь сценарий, который может вытащить предложение из существующих подписок, чтобы я знал, нужно ли мне переместить их в подходящую подписку.

Gene Laisne 01.10.2018 21:57

К сожалению, я не думаю, что это возможно. Я думаю, что было бы разумно найти решение вашей проблемы.

И, возможно, вы могли бы добавить запрос на добавление этой функции в будущем: https://github.com/Azure/azure-docs-powershell/blob/master/azuresmps-4.0.0/AzureRM.Profile/Get-AzureRmSubscription.md

Существует неофициальная возможность получить идентификатор предложения, который используется самим порталом Azure. Я протестировал его со своей подпиской, и он сработал. Это может привести к проблемам с определенными идентификаторами предложений. Пожалуйста, поделитесь своим мнением по этому поводу.

Это обязательные шаги:

  1. Получите токен аутентификации на предъявителя

  2. Соберите вызов POST REST

    • URL: https://s2.billing.ext.azure.com/api/Billing/Subscription/Subscription
    • Заголовки: добавьте заголовок авторизации с вашим токеном на предъявителя (авторизация: на предъявителя ej ...)
    • Тип тела запроса: application / json
    • Содержание тела запроса:
      {
      "subscriptionId": "########-####-####-####-############"
      }

Результат выглядит так:

{
    "accountInfo": {
        "userRole": 6,
        "billingSystemType": 2,
        "isAccountAdmin": true,
        "isTokenMatch": false,
        "locale": "en-US",
        "currency": "EUR",
        "countryCode": "DE",
        "accountAdminEmail": "****@****.com",
        "commerceAccountId": "########-####-####-####-############",
        "currencyMigrationInfo": null,
        "displaySpecifiedRole": false
    },
    "essentials": {
        "offerId": "MS-AZR-0063P",
        "roles": {
            "2": null,
            "4": {
                "isDirectCancel": true
            },
            "5": null
        },
        "freeMetersEndDate": null,
        "provisioningStatus": 1,
        "hasPendingTransfer": false
    }
}

Мне удалось вернуться к этому. К сожалению, мне не удалось заставить это работать. в любом случае спасибо за ваше время.

Gene Laisne 08.03.2019 20:50

Если вы используете токен, назначенный вам при входе на портал Azure, он будет работать. Если у вас есть реальное приложение, использующее область management.core.windows.net/user_impersonation, вы получите несанкционированный доступ на конечной точке s2.billing.ext.azure.com, поскольку авторизован только идентификатор приложения портала Azure.

Alexandre 13.08.2020 19:13
Ответ принят как подходящий

Теперь это можно сделать из портала с помощью проводника графика ресурсов с запросом, аналогичным следующему:

resourcecontainers
| where type == "microsoft.resources/subscriptions"
| project name, properties.subscriptionPolicies.quotaId

Человек, ты сделал мой день :)

Donets 21.07.2020 13:15

Это QuotaId, который отличается от OfferId. Он уже был доступен через ARM Rest Api.

Alexandre 13.08.2020 18:45

Нет, но уже есть запрос функции пожалуйста проголосуйте за это.

Есть официальный способ получить идентификатор предложения с помощью Azure REST API. Обязательно используйте версию API как api-version=2019-10-01

Конечная точка: ПОЛУЧИТЬ https://management.azure.com/{scope}/providers/Microsoft.Consump/usageDetails?api-version=2019-10-01.

Вы можете запустить \ попробовать попробовать, нажав ниже URL: https://docs.microsoft.com/en-us/rest/api/consuming/usagedetails/list#code-try-0

Конечно, вам нужно войти в систему с вашим идентификатором пользователя и паролем Azure, чтобы попробовать \ протестировать его.

Вы получите ответ, как показано ниже, с идентификатором предложения:

Дополнительные сведения см. В разделе «Сведения об использовании» - API списка: https://docs.microsoft.com/en-us/rest/api/consuming/usagedetails/list.

Примечание. Это не способ PowerShell, но вы можете вызвать REST Api с помощью PowerShell / curl. Ref. https://mauridb.medium.com/calling-azure-rest-api-via-curl-eb10a06127

Другие вопросы по теме