Fråga utdata från Azure PowerShell-cmdletar

Viktigt

Eftersom Az PowerShell-moduler nu har alla funktioner i AzureRM PowerShell-moduler och mycket mer drar vi tillbaka AzureRM PowerShell-moduler den 29 februari 2024.

För att undvika avbrott i tjänsten uppdaterar du skripten som använder AzureRM PowerShell-moduler för att använda Az PowerShell-moduler senast den 29 februari 2024. Följ snabbstartsguiden om du vill uppdatera skripten automatiskt.

Frågor i PowerShell kan utföras med hjälp av inbyggda cmdletar. I PowerShell har cmdlet formen Verb-substantiv. Cmdletar med verbet Get är fråge-cmdletar. Cmdletarnas substantiv är de typer av Azure-resurser som cmdletens verb agerar på.

Välja enkla egenskaper

Azure PowerShell har standardformat som definierats för varje cmdlet. De vanligaste egenskaperna för varje resurstyp visas automatiskt i tabell- eller listformat. Mer information om att formatera utdata finns i Formatera frågeresultat.

Använd cmdleten Get-AzureRmVM för att fråga efter en lista över virtuella datorer i kontot.

Get-AzureRmVM

Standardutdata formateras automatiskt som en tabell.

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

Cmdleten Select-Object kan användas för att välja specifika egenskaper som är intressanta för dig.

Get-AzureRmVM |
  Select -Property Name, ResourceGroupName, Location
Name          ResourceGroupName Location
----          ----------------- --------
MyUnbuntu1610 MYWESTEURG        westeurope
MyWin2016VM   MYWESTEURG        westeurope

Välja komplexa kapslade egenskaper

Om den egenskap du vill använda ligger kapslad i JSON-utdata måste du ange den fullständiga sökvägen till egenskapen. Följande exempel visar hur du väljer den virtuella datorns namn och operativsystemtyp i cmdleten Get-AzureRmVM.

Get-AzureRmVM |
  Select -Property Name, @{Name='OSType'; Expression={$_.StorageProfile.OSDisk.OSType}}
Name           OSType
----           ------
MyUnbuntu1610   Linux
MyWin2016VM   Windows

Filtrera resultat med hjälp av cmdleten Where-Object

Med cmdleten Where-Object kan du filtrera resultatet baserat på valfritt egenskapsvärde. I följande exempel väljer filtret endast virtuella datorer som har texten "RGD" i sina namn.

Get-AzureRmVM |
  Where-Object ResourceGroupName -like RGD* |
    Select-Object -Property ResourceGroupName, Name
ResourceGroupName  Name
-----------------  ----
RGDEMO001          KBDemo001VM
RGDEMO001          KBDemo020

Med nästa exempel visar resultaten de virtuella datorer som har vmSize ”Standard_DS1_V2”.

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