Получите список всех ресурсов в моей подписке Azure (желательно Powershell)

У меня есть подписка на Azure, и я пытаюсь написать сценарий PowerShell для автоматического получения списка всех ресурсов (виртуальных машин, учетных записей хранения, баз данных и т. Д.), Которые в настоящее время есть в моей подписке. Есть ли способ сделать это с помощью REST API управления Azure или командлетов Azure?


person Oladunni Abiodun    schedule 11.07.2013    source источник


Ответы (7)


Если вы используете новую модель Resource Manager (представленную в 2014 г.), вы можете использовать следующий сценарий PowerShell.

Login-AzureRmAccount
Get-AzureRmResource | Export-Csv "c:\Azure Resources.csv"

Для использования команд PowerShell Resource Manager вам понадобится модуль AzureRM PowerShell (https://docs.microsoft.com/en-us/powershell/azure/install-azurerm-ps).

Install-Module AzureRM

Дополнительные сведения о различиях между моделями Resource Manager и Classic см. В документе https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-model.

Для пользователей с несколькими подписками: если вы хотите вывести содержимое нескольких подписок, вам нужно будет вызвать Select-AzureRmSubscription, чтобы переключиться на другую подписку, прежде чем вызывать Get-AzureRmResource.

person Andrew C    schedule 17.04.2017

Я не думаю, что есть только одна функция (или командлет PS) для получения всей этой информации. Однако каждый из них может быть получен как через Windows Azure Service Management REST API, так и через Window Azure PowerShell Cmdlets.

REST API управления службами Windows Azure: http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx. Например, если вы хотите перечислить учетные записи хранения в своей подписке, вы должны использовать это: http://msdn.microsoft.com/en-us/library/windowsazure/ee460787.aspx

Командлеты Windows Azure PowerShell: http://msdn.microsoft.com/en-us/library/jj554330.aspx. Опять же, если вы хотите перечислить учетные записи хранения в своей подписке, вы должны использовать это: http://msdn.microsoft.com/en-us/library/dn205168.aspx.

person Gaurav Mantri    schedule 11.07.2013
comment
Спасибо. Да, вот как я сейчас это делаю. Проблема в том, что, похоже, нет способа получить все мои базы данных SQL для моей подписки - person Oladunni Abiodun; 11.07.2013
comment
Есть ли какой-нибудь API, который предоставляет всю информацию об активах? - person Jerry; 24.08.2016
comment
Я только что дал ответ на ваш вопрос: stackoverflow.com/questions/39102044/. HTH. - person Gaurav Mantri; 24.08.2016

Что ж, вы можете обновить версию своей AzurePowershell и выполнить эту команду.

Get-AzureResource

В выводе вы можете проверить "ResourceType". В нем есть информация о типе ресурса, созданного на лазурном сервере.

person Rahul Mohan    schedule 07.08.2015

Добавление к ответу @Gaurav (и связанному с вашим комментарием о перечислении базы данных SQL): вы можете перечислить все свои базы данных для каждого сервера за несколько простых шагов.

Сначала перечислите все серверы базы данных SQL в вашей подписке:

введите здесь описание изображенияЗатем для каждого сервера создайте контекст подключения и перечислите базы данных. Обратите внимание, что с помощью командлета Get-Credentials мне было предложено ввести имя пользователя + пароль во всплывающем окне, которое я здесь не показываю. В демонстрационных целях я создал совершенно новый сервер только с основной базой данных, чтобы показать, как выглядит результат:

введите описание изображения здесь

person David Makogon    schedule 11.07.2013
comment
Спасибо. Да, проблема, с которой я столкнулся с таким подходом, заключалась в том, что эта проблема с отображением запроса учетных данных помешала мне автоматизировать процесс. Интересно, есть ли способ обойти это. - person Oladunni Abiodun; 11.07.2013
comment
Вы видели эту запись в блоге или this post с техникой, позволяющей избежать неожиданно возникнуть? - person David Makogon; 11.07.2013
comment
Ой ну спасибо. Это могло сработать. Сохраняет ли Azure учетные данные для всех серверов? Потому что, когда я перехожу на вкладку баз данных на лазурном портале, он показывает мне список всех баз данных на всех серверах, не запрашивая у меня учетные данные для каждого сервера. - person Oladunni Abiodun; 11.07.2013
comment
Я бы хотел, чтобы вы скопировали вывод консоли и поместили его в теги кода вместо загрузки изображений. Тогда мы могли бы использовать копирование и вставку. - person Aran Mulholland; 12.10.2018
comment
@AranMulholland - Я опубликовал это более пяти лет назад (настолько старый, что Azure была Windows Azure, а база данных SQL была SQL Azure). И я сделал скриншоты, чтобы показать не только команды, но и то, как выводится результат. А 5 лет назад действительно не было большого (если вообще было) руководства по размещению скриншотов и встроенного кода. Так что да, было бы полезно разместить встроенный код. Но странно слышать об этом спустя полвека. - person David Makogon; 13.10.2018
comment
@DavidMakogon с некоторыми командами PowerShell, мало что изменилось. Иногда я задаюсь вопросом, должны ли мы удалять действительно старые ответы, когда технология продвигается, но опять же кто-то все еще где-то использует старую технологию ... - person Aran Mulholland; 13.10.2018

В этом примере показано, как автоматически получить список всех ресурсов (виртуальных машин, учетных записей хранения, баз данных, служб приложений) и состояния через Powershell с помощью проверки подлинности сертификата.

https://gallery.technet.microsoft.com/Access-Azure-resource-data-ca9cc9f7

введите здесь описание изображения

person frank tan    schedule 18.08.2016

Я знаю, что на него уже ответили, но я нашел команду Get-AzResource простой в использовании и извлекает все ресурсы из определенной подписки. Попробуйте использовать его с ft для чистого текста.

Get-AzResource | футов

Снимок экрана

введите здесь описание изображения

person EZR    schedule 03.03.2020
comment
Спасибо @EZR за обновление темы новой информацией! :) Пожалуйста, прикрепите изображение к сообщению, на случай, если URL-адрес в будущем сломается. - person Carlos Garcia; 03.03.2020

Поскольку вы сказали, что PowerShell предпочтительно, я предполагаю, что другие варианты все еще могут быть полезны? Вы можете перейти на http://portal.azure.com и щелкнуть значок меню (три горизонтальные линии ), затем Все ресурсы. Затем вверху страницы вы можете нажать «Экспорт в CSV» и открыть его в Excel.

На небольшую очистку в Excel нужно потратить 30 секунд, но для того, что я пытаюсь сделать прямо сейчас, это определенно было лучшее и самое быстрое решение. Надеюсь, это пригодится и вам (или кому-то еще).

person pbarranis    schedule 10.04.2015
comment
Эта ссылка больше не работает, всего 6 лет спустя;) У кого-нибудь есть обновленная ссылка? - person Alexander Skwar; 01.03.2021
comment
@AlexanderSkwar Я обновил ответ, чтобы он соответствовал текущему сайту. Ваше здоровье. - person pbarranis; 03.03.2021