Uitvoer van Azure PowerShell-cmdlet opmakenFormat AzurePowerShell cmdlet output

De uitvoer van een PowerShell-cmdlet heeft een vooraf gedefinieerde opmaak, zodat deze gemakkelijk leesbaar is.By default each Azure PowerShell cmdlet has predefined formatting of output making it easy to read. PowerShell biedt ook de flexibiliteit om de uitvoer aan te passen of de uitvoer van de cmdlet te converteren naar een andere opmaak met de volgende cmdlets:PowerShell also provides the flexibility to adjust the output or convert the cmdlet output to a different format with the following cmdlets:

OpmaakFormatting ConversieConversion
Format-CustomFormat-Custom ConvertTo-CsvConvertTo-Csv
Format-ListFormat-List ConvertTo-HtmlConvertTo-Html
Format-TableFormat-Table ConvertTo-JsonConvertTo-Json
Format-WideFormat-Wide ConvertTo-XmlConvertTo-Xml

OpmaakvoorbeeldenFormat examples

In dit voorbeeld halen we een lijst met virtuele Azure-machines in ons standaardabonnement op.In this example we get a list of Azure VMs in our default subscription. Met de opdracht Get-AzureRmVM wordt uitvoer standaard als een tabel opgemaakt.The Get-AzureRmVM command defaults output into a table format.

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

Als u het aantal kolommen wilt beperken dat wordt geretourneerd, kunt u de cmdlet Format-Table gebruiken.If you would like to limit the columns returned you can use the Format-Table cmdlet. In het volgende voorbeeld krijgen we dezelfde lijst met virtuele machines te zien, maar wordt de uitvoer beperkt tot alleen de naam van de virtuele machine, de resourcegroep en de locatie van de virtuele machine.In the following example we get the same list of virtual machines but restrict the output to just the name of the VM, the resource group, and the location of the VM. Met de parameter -Autosize wordt de grootte van de kolommen aangepast op basis van de grootte van de gegevens.The -Autosize parameter sizes the columns according to the size of the data.

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

Uitvoer kan ook worden opgemaakt als een lijst.Output can also be formatted into a list. Het volgende voorbeeld laat dit zien met behulp van de cmdlet Format-List.The following example shows this using theFormat-List cmdlet.

Get-AzureRmVM | Format-List 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

Converteren naar andere gegevenstypenConvert to other data types

U kunt opdrachtuitvoer van PowerShell ook converteren naar verschillende gegevensindelingen.PowerShell also allows taking command output and converting it into multiple data formats. In het volgende voorbeeld gebruiken we de cmdlet Select-Object om kenmerken van de virtuele machines in ons abonnement op te halen en wordt de uitvoer geconverteerd naar een CSV-indeling, zodat deze eenvoudig in een database of spreadsheet kan worden geïmporteerd.In the following example the Select-Object cmdlet is used to get attributes of the virtual machines in our subscription and convert the output to CSV format for easy import into a database or spreadsheet.

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

Uitvoer kan ook worden omgezet in de JSON-indeling.Output can also be converted into the JSON format. In het volgende voorbeeld wordt dezelfde lijst met virtuele machines gemaakt, maar wordt voor de uitvoer de indeling in JSON gewijzigd.The following example creates the same list of VMs but changes the output format to JSON.

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