Formatera cmdlet-utdata för Azure PowerShell

Viktigt

Eftersom Az PowerShell-moduler nu har alla funktioner i AzureRM PowerShell-moduler med mera kommer vi att dra tillbaka AzureRM PowerShell-moduler den 29 februari 2024.

För att undvika tjänstavbrott uppdaterar du skripten som använder AzureRM PowerShell-moduler för att använda Az PowerShell-moduler senast den 29 februari 2024. Om du vill uppdatera skripten automatiskt följer du snabbstartsguiden.

Som standard har varje Azure PowerShell-cmdlet fördefinierad formatering av utdata, vilket gör det enklare att läsa. PowerShell ger också flexibiliteten att justera utdata eller konvertera cmdlet-utdata till ett annat format med följande cmdletar:

Formatering Konvertering
Format-Custom ConvertTo-Csv
Format-List ConvertTo-Html
Format-Table ConvertTo-Json
Format-Wide ConvertTo-Xml

Formatexempel

I det här exemplet får vi en lista över virtuella Azure-datorer i standardprenumerationen. Kommandot Get-AzureRmVM formaterar som standard utdata i tabellformat.

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

Om du vill begränsa de kolumner som returneras kan du använda cmdleten Format-Table. I följande exempel har vi samma lista över virtuella datorer men begränsar utdata till endast den virtuella datorns namn, resursgrupp och den virtuella datorns plats. Parametern -Autosize ändrar storleken på kolumner enligt storleken på data.

Get-AzureRmVM |
  Format-Table -Property Name, ResourceGroupName, Location -AutoSize
Name          ResourceGroupName Location
----          ----------------- --------
MyUnbuntu1610 MYWESTEURG        westeurope
MyWin2016VM   MYWESTEURG        westeurope

Utdata kan även formateras i en lista. I följande exempel ser du detta med cmdleten Format-List.

Get-AzureRmVM |
  Format-List -Property Name, VmId, Location, ResourceGroupName
Name              : MyUnbuntu1610
VmId              : 33422f9b-e339-4704-bad8-dbe094585496
Location          : westeurope
ResourceGroupName : MYWESTEURG

Name              : MyWin2016VM
VmId              : 4650c755-fc2b-4fc7-a5bc-298d5c00808f
Location          : westeurope
ResourceGroupName : MYWESTEURG

Konvertera till andra datatyper

PowerShell kan också ta kommandoutdata och konvertera dem till flera dataformat. I följande exempel använder vi cmdleten Select-Object för att hämta attributen för de virtuella datorerna i vår prenumeration och konvertera utdata till CSV-format för enkel import till en databas eller ett kalkylblad.

Get-AzureRmVM |
  Select-Object -Property ResourceGroupName, Id, VmId, Name, Location, ProvisioningState |
  ConvertTo-Csv -NoTypeInformation
"ResourceGroupName","Id","VmId","Name","Location","ProvisioningState"
"MYWESTUERG","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYWESTUERG/providers/Microsoft.Compute/virtualMachines/MyUnbuntu1610","33422f9b-e339-4704-bad8-dbe094585496","MyUnbuntu1610","westeurope","Succeeded"
"MYWESTUERG","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYWESTUERG/providers/Microsoft.Compute/virtualMachines/MyWin2016VM","4650c755-fc2b-4fc7-a5bc-298d5c00808f","MyWin2016VM","westeurope","Succeeded"

Utdata kan även konverteras till JSON-format. Följande exempel skapar samma lista över virtuella datorer, men ändrar formatet för utdata till JSON.

Get-AzureRmVM |
  Select-Object -Property ResourceGroupName, Id, VmId, Name, Location, ProvisioningState |
  ConvertTo-Json
[
    {
        "ResourceGroupName":  "MYWESTEURG",
        "Id":  "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYWESTEURG/providers/Microsoft.Compute/virtualMachines/MyUnbuntu1610",
        "VmId":  "33422f9b-e339-4704-bad8-dbe094585496",
        "Name":  "MyUnbuntu1610",
        "Location":  "westeurope",
        "ProvisioningState":  "Succeeded"
    },
    {
        "ResourceGroupName":  "MYWESTEURG",
        "Id":  "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYWESTEURG/providers/Microsoft.Compute/virtualMachines/MyWin2016VM",
        "VmId":  "4650c755-fc2b-4fc7-a5bc-298d5c00808f",
        "Name":  "MyWin2016VM",
        "Location":  "westeurope",
        "ProvisioningState":  "Succeeded"
    }
]