web-dev-qa-db-fra.com

Obtenir une liste de toutes les ressources de mon abonnement Azure (Powershell de préférence)

J'ai un abonnement Azure et j'essaie d'écrire un script PowerShell pour obtenir automatiquement une liste de toutes les ressources (ordinateurs virtuels, comptes de stockage, bases de données, etc.) actuellement inscrites dans mon abonnement. Existe-t-il un moyen de le faire à l'aide de l'API de gestion Azure REST ou des applets de commande Azure?

10
Oladunni Abiodun

Si vous utilisez le nouveau modèle Resource Manager (introduit en 2014), vous pouvez utiliser le script PowerShell suivant.

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

Pour utiliser les commandes Resource Manager PowerShell, vous avez besoin du module AzureRM PowerShell ( https://docs.Microsoft.com/en-us/powershell/Azure/install-azurerm-ps ). 

Install-Module AzureRM

Pour plus d'informations sur la différence entre les modèles Resource Manager et Classic, voir https://docs.Microsoft.com/en-us/Azure/azure-resource-manager/resource-manager-deployment-model .

Pour les utilisateurs ayant plusieurs abonnements: Si vous souhaitez générer le contenu de plusieurs abonnements, vous devez appeler Select-AzureRmSubscription pour passer à un autre abonnement avant d'appeler Get-AzureRmResource.

8
Andrew C

Je ne pense pas qu'il existe une seule fonction (ou une applet de commande PS) pour extraire toutes ces informations. Cependant, chacun de ceux-ci peut être récupéré via Windows Azure Service Management REST API ainsi que Window Azure PowerShell Cmdlets.

Gestion de services Windows Azure REST API : http://msdn.Microsoft.com/en-us/library/windowsazure/ee460799.aspx . Par exemple, si vous souhaitez répertorier les comptes de stockage dans votre abonnement, vous devez utiliser ceci: http://msdn.Microsoft.com/en-us/library/windowsazure/ee460787.aspx

Cmdlets Windows Azure PowerShell : http://msdn.Microsoft.com/en-us/library/jj554330.aspx . Encore une fois, si vous souhaitez répertorier les comptes de stockage dans votre abonnement, vous devez utiliser ceci: http://msdn.Microsoft.com/en-us/library/dn205168.aspx .

4
Gaurav Mantri

eh bien, Vous pouvez mettre à jour la version de votre AzurePowershell et exécuter cette commande.

Get-AzureResource

Dans la sortie, vous pouvez rechercher "ResourceType". Il contient des informations sur le type de ressource creatd sur Azure.

3
Rahul Mohan

Cet exemple montre comment obtenir automatiquement une liste de toutes les ressources (ordinateurs virtuels, comptes de stockage, bases de données, services d'application) et de leur statut via Powershell par authentification par certificat. 

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

 enter image description here

2
frank tan

Ajout à la réponse de @ Gaurav (et liée à votre commentaire sur l'énumération de bases de données SQL): Vous pouvez énumérer toutes vos bases de données, serveur par serveur, en quelques étapes simples.

Commencez par énumérer tous les serveurs de base de données SQL de votre abonnement:

enter image description here Ensuite, pour chaque serveur, créez un contexte de connexion et énumérez les bases de données. Notez qu'avec l'applet de commande Get-Credentials, il m'a été demandé de saisir un nom d'utilisateur et un mot de passe via une fenêtre contextuelle, ce que je ne montre pas ici. À des fins de démonstration, j'ai créé un nouveau serveur, avec uniquement une base de données master, pour montrer à quoi ressemble le résultat:

enter image description here

2
David Makogon

Puisque vous avez dit PowerShell "de préférence" , je suppose que d’autres options sont toujours utiles. Vous pouvez aller à http://manage.windowsazure.com , et cliquer sur Tous les éléments. Ensuite, vous pouvez copier/coller le tableau dans Excel. Vous devrez le faire une fois par page, mais cela reste plus rapide et plus complet que de devoir exécuter diverses applets de commande. Cela suppose que vous avez au moins quelques types de ressources et pas plus de quelques pages de ressources.

Vous devez prendre 30 secondes pour effectuer un petit nettoyage dans Excel, mais ce que j'essaie de faire maintenant est sans aucun doute la solution la plus rapide et la meilleure. J'espère que cela vous sera utile (ou à quelqu'un d'autre) également.

0
pbarranis