Azure PowerShell コマンドレットの出力に対してクエリを実行する
重要
Az PowerShell モジュール で AzureRM PowerShell モジュールのすべての機能およびその他を利用できるようになったため、2024 年 2 月 29 日に AzureRM PowerShell モジュールは廃止になります。
サービスの中断を回避するために、2024 年 2 月 29 日までに、AzureRM PowerShell モジュールを使用するスクリプトを更新して、Az PowerShell モジュールを使用するようにしてください。 スクリプトを自動的に更新するには、 クイックスタート ガイドに従ってください。
PowerShell におけるクエリは、組み込みのコマンドレットを使って実行できます。 PowerShell のコマンドレット名は、 <動詞>-<名詞>名詞>動詞> の形式になっています。 Get という動詞が使われているコマンドレットがクエリのコマンドレットです。 コマンドレットの名詞の部分には、動詞の作用が及ぶ Azure リソースの種類が入ります。
単純なプロパティを選択する
Azure PowerShell では、コマンドレットごとに既定の書式が定義されています。 各リソース タイプのきわめて一般的なプロパティについては、自動的に表形式または一覧形式で表示されます。 出力の書式設定について詳しくは、「クエリの結果の書式設定」をご覧ください。
ご利用のアカウントに存在する一連の VM を照会するには、Get-AzureRmVM コマンドレットを使います。
Get-AzureRmVM
既定の出力は、自動的に表形式となります。
ResourceGroupName Name Location VmSize OsType NIC ProvisioningState
----------------- ---- -------- ------ ------ --- -----------------
MYWESTEURG MyUnbuntu1610 westeurope Standard_DS1_v2 Linux myunbuntu1610980 Succeeded
MYWESTEURG MyWin2016VM westeurope Standard_DS1_v2 Windows mywin2016vm880 Succeeded
特定のプロパティが必要であれば、Select-Object コマンドレットを使ってそれらを選択することができます。
Get-AzureRmVM |
Select -Property Name, ResourceGroupName, Location
Name ResourceGroupName Location
---- ----------------- --------
MyUnbuntu1610 MYWESTEURG westeurope
MyWin2016VM MYWESTEURG westeurope
入れ子になった複雑なプロパティを選択する
必要なプロパティが、JSON 出力で入れ子になっている場合は、そのプロパティへの完全パスを指定する必要があります。 Get-AzureRmVM コマンドレットの出力から VM 名と OS の種類を選択する例を次に示します。
Get-AzureRmVM |
Select -Property Name, @{Name='OSType'; Expression={$_.StorageProfile.OSDisk.OSType}}
Name OSType
---- ------
MyUnbuntu1610 Linux
MyWin2016VM Windows
Where-Object コマンドレットを使って結果をフィルター処理する
Where-Object コマンドレットを使うと、プロパティの値に基づいて結果をフィルター選択することができます。 次の例では、名前に "RGD" という文字列が含まれる VM だけをフィルターで選択しています。
Get-AzureRmVM |
Where-Object ResourceGroupName -like RGD* |
Select-Object -Property ResourceGroupName, Name
ResourceGroupName Name
----------------- ----
RGDEMO001 KBDemo001VM
RGDEMO001 KBDemo020
次の例では、vmSize が 'Standard_DS1_V2' と等しい VM が結果として返されます。
Get-AzureRmVM |
Where-Object vmSize -eq Standard_DS1_V2
ResourceGroupName Name Location VmSize OsType NIC ProvisioningState
----------------- ---- -------- ------ ------ --- -----------------
MYWESTEURG MyUnbuntu1610 westeurope Standard_DS1_v2 Linux myunbuntu1610980 Succeeded
MYWESTEURG MyWin2016VM westeurope Standard_DS1_v2 Windows mywin2016vm880 Succeeded