web-dev-qa-db-ja.com

Azureサブスクリプション内のすべてのリソースのリストを取得する(Powershell推奨)

Azureサブスクリプションがあり、サブスクリプションに現在あるすべてのリソース(VM、ストレージアカウント、データベースなど)のリストを自動的に取得するPowerShellスクリプトを記述しようとしています。 Azure管理REST APIまたはAzureコマンドレットを使用してこれを行う方法はありますか?

11

新しいリソースマネージャーモデル(2014年に導入)を使用している場合は、次のPowerShellスクリプトを使用できます。

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

Resource Manager PowerShellコマンドを使用するには、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

複数のサブスクリプションを持つユーザーの場合:複数のサブスクリプションのコンテンツを出力する場合は、Get-AzureRmResourceを呼び出す前に、Select-AzureRmSubscriptionを呼び出して別のサブスクリプションに切り替える必要があります。

10
Andrew C

このすべての情報を取得する関数(またはPSコマンドレット)が1つしかないとは思いません。ただし、これらはそれぞれWindows Azure Service Management REST API と同様 Window Azure PowerShell Cmdlets

Windows Azureサービス管理REST APIhttp://msdn.Microsoft.com/en- us/library/windowsazure/ee460799.aspx たとえば、サブスクリプションのストレージアカウントを一覧表示する場合は、次のようにします: http://msdn.Microsoft.com/en-us/ライブラリ/windowsazure/ee460787.aspx

Windows Azure PowerShellコマンドレットhttp://msdn.Microsoft.com/en-us/library/jj554330.aspx 。ここでも、サブスクリプションのストレージアカウントを一覧表示する場合は、これを使用します: http://msdn.Microsoft.com/en-us/library/dn205168.aspx

4
Gaurav Mantri

さて、あなたはあなたのAzurePowershellのバージョンを更新し、このコマンドを実行するかもしれません。

Get-AzureResource

出力では、「ResourceType」を確認できます。 Azureで作成されたリソースの種類に関する情報が含まれています。

3
Rahul Mohan

このサンプルは、Powershellを介してすべてのリソース(VM、ストレージアカウント、データベース、App Services)とステータスのリストを証明書認証によって自動的に取得する方法を示しています。

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

enter image description here

2
frank tan

@Gauravの回答(およびSQLデータベース列挙に関するコメントに関連)に追加:サーバーごとに、いくつかの簡単な手順ですべてのデータベースを列挙できます。

まず、サブスクリプション内のすべてのSQLデータベースサーバーを列挙します。

enter image description here 次に、サーバーごとに接続コンテキストを作成し、データベースを列挙します。 Get-Credentialsコマンドレットを使用すると、ここには表示されないポップアップでユーザー名とパスワードを入力するように求められたことに注意してください。デモの目的で、マスターデータベースのみを備えたまったく新しいサーバーを作成して、出力がどのようになるかを示しました。

enter image description here

2
David Makogon

既に回答済みであることはわかっていますが、Get-AzResourceコマンドは使いやすく、特定のサブスクリプションからすべてのリソースをフェッチします。きれいなテキストには「ft」を付けて使用してみてください

Get-AzResource |フィート

スクリーンショット

enter image description here

1
EZR

PowerShell「できれば」とおっしゃっていたので、他のオプションがまだ役立つと思いますか? http://manage.windowsazure.com にアクセスして、[すべてのアイテム]をクリックします。次に、テーブルをコピーしてExcelに貼り付けます。ページごとに1回実行する必要がありますが、それでも、さまざまなコマンドレットを実行する必要がある場合よりも高速で包括的です。これは、少なくとも数種類のリソースがあり、数ページ以下のリソースがあることを前提としています。

Excelで少しクリーンアップを行うには30秒かかる必要がありますが、私が今やろうとしていることでは、これが間違いなく最良かつ最速のソリューションでした。それがあなた(または他の誰か)にも役立つことを願っています。

0
pbarranis