Azure PowerShell cmdlet'inin çıkışını biçimlendirmeFormat Azure PowerShell cmdlet output

Varsayılan olarak tüm Azure PowerShell cmdlet'leri çıkışı kolay okunacak şekilde biçimlendirir.By default each Azure PowerShell cmdlet formats output to be easy to read. PowerShell, sizi aşağıdaki cmdlet'lerden birine yönlendirerek cmdlet çıkışını dönüştürmenize veya biçimlendirmenize olanak tanır:PowerShell allows you to convert or format cmdlet output by piping to one of the following cmdlets:

BiçimlendirmeFormatting DönüştürmeConversion
Format-CustomFormat-Custom ConvertTo-CsvConvertTo-Csv
Format-ListFormat-List ConvertTo-HtmlConvertTo-Html
Format-TableFormat-Table ConvertTo-JsonConvertTo-Json
Format-WideFormat-Wide ConvertTo-XmlConvertTo-Xml

Biçimlendirme PowerShell terminalinde görüntülemek için ve dönüştürme de diğer betikler veya programlar tarafından kullanılacak verileri oluşturmak için kullanılır.Formatting is used for display in a PowerShell terminal, and conversion is used for generating data to be consumed by other scripts or programs.

Tablo çıkış biçimiTable output format

Varsayılan olarak, Azure PowerShell cmdlet'lerinin çıkışı tablo biçiminde olur.By default, Azure PowerShell cmdlets output in the table format. Bu biçim, istenen kaynağın tüm bilgilerini görüntülemez:This format doesn't display all information of the requested resource:

Get-AzVM
ResourceGroupName           Name Location          VmSize  OsType               NIC ProvisioningState Zone
-----------------           ---- --------          ------  ------               --- ----------------- ----
QueryExample      ExampleLinuxVM  westus2        Basic_A0   Linux examplelinuxvm916         Succeeded
QueryExample         RHELExample  westus2  Standard_D2_v3   Linux    rhelexample469         Succeeded
QueryExample        WinExampleVM  westus2 Standard_DS1_v2 Windows   winexamplevm268         Succeeded

Format-Table tarafından görüntülenen veri miktarı, PowerShell oturum pencerenizin genişliğinden etkilenebilir.The amount of data displayed by Format-Table can be affected by the width of your PowerShell session window. Çıkışı belirli özelliklerle sınırlamak ve bunları sıralamak için, özellik adları Format-Table cmdlet'ine bağımsız değişken olarak sağlanabilir:To restrict the output to specific properties and order them, property names can be provided as arguments to Format-Table:

Get-AzVM -ResourceGroupName QueryExample | Format-Table Name,ResourceGroupName,Location
Name           ResourceGroupName Location
----           ----------------- --------
ExampleLinuxVM QueryExample      westus2
RHELExample    QueryExample      westus2
WinExampleVM   QueryExample      westus2

Liste çıkış biçimiList output format

Liste çıkış biçimi, özellik adlarını ve ardından değeri içeren iki sütun oluşturur.List output format produces two columns, property names followed by the value. Karmaşık nesnelerde, bunun yerine nesnenin türü görüntülenir.For complex objects, the type of the object is displayed instead.

Get-AzVM | Format-List

Aşağıdaki çıkışta bazı alanlar kaldırılmıştır.The following output has some fields removed.

ResourceGroupName        : QueryExample
Id                       : /subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/virtualMachines/ExampleLinuxVM
VmId                     : ...
Name                     : ExampleLinuxVM
Type                     : Microsoft.Compute/virtualMachines
Location                 : westus2
...
HardwareProfile          : Microsoft.Azure.Management.Compute.Models.HardwareProfile
InstanceView             :
NetworkProfile           : Microsoft.Azure.Management.Compute.Models.NetworkProfile
OSProfile                : Microsoft.Azure.Management.Compute.Models.OSProfile
...
StatusCode               : OK

ResourceGroupName        : QueryExample
Id                       : /subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/virtualMachines/RHELExample
VmId                     : ...
Name                     : RHELExample
Type                     : Microsoft.Compute/virtualMachines
Location                 : westus2
...

Aynı Format-Table gibi, çıkışı sıralamak ve kısıtlamak için özellik adları sağlanabilir:Like Format-Table, property names can be provided to order and restrict the output:

Get-AzVM | Format-List ResourceGroupName,Name,Location
ResourceGroupName : QueryExample
Name              : ExampleLinuxVM
Location          : westus2

ResourceGroupName : QueryExample
Name              : RHELExample
Location          : westus2

ResourceGroupName : QueryExample
Name              : WinExampleVM
Location          : westus2

Geniş çıkış biçimiWide output format

Geniş çıkış biçimi sorgu başına tek bir özellik adı oluşturur.Wide output format produces only one property name per query. Hangi özelliğin görüntüleneceği, bir özelliği bağımsız değişken olarak sağlayarak denetlenebilir.Which property is displayed can be controlled by giving a property as an argument.

Get-AzVM | Format-Wide
ExampleLinuxVM                                  RHELExample
WinExampleVM
Get-AzVM | Format-Wide ResourceGroupName
QueryExample                                    QueryExample
QueryExample

Özel çıkış biçimiCustom output format

Özel nesneleri biçimlendirmek için Custom-Format çıkış türü tasarlanmıştır.The Custom-Format output type is meant for formatting custom objects. Hiçbir bağımsız değişken sağlanmadığında, Format-List cmdlet'i gibi davranır ama özel sınıfların özellik adlarını görüntüler.Without any arguments, it behaves like Format-List but displays the property names of custom classes.

Get-AzVM | Format-Custom

Aşağıdaki çıkışta bazı alanlar kaldırılmıştır.The following output has some fields removed.

ResourceGroupName : QueryExample
Id                : /subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/virtualMachines/ExampleLinuxVM
VmId              : ...
Name              : ExampleLinuxVM
Type              : Microsoft.Compute/virtualMachines
Location          : westus2
Tags              : {}
HardwareProfile   : {VmSize}
NetworkProfile    : {NetworkInterfaces}
OSProfile         : {ComputerName, AdminUsername, LinuxConfiguration, Secrets,
AllowExtensionOperations}
ProvisioningState : Succeeded
StorageProfile    : {ImageReference, OsDisk, DataDisks}
...

Custom-Format cmdlet'ine özellik adları bağımsız değişken olarak verildiğinde, özel nesneler için değer olarak ayarlanan özellik/değer çiftleri görüntülenir:Giving property names as arguments to Custom-Format displays the property/value pairs for custom objects set as values:

Get-AzVM | Format-Custom Name,ResourceGroupName,Location,OSProfile

Aşağıdaki çıkışta bazı alanlar kaldırılmıştır.The following output has some fields removed.

class PSVirtualMachineList
{
  Name = ExampleLinuxVM
  ResourceGroupName = QueryExample
  Location = westus2
  OSProfile =
    class OSProfile
    {
      ComputerName = ExampleLinuxVM
      AdminUsername = ...
      AdminPassword =
      CustomData =
      WindowsConfiguration =
      LinuxConfiguration =
        class LinuxConfiguration
        {
          DisablePasswordAuthentication = False
          Ssh =
          ProvisionVMAgent = True
        }
      Secrets =
        [
        ]

      AllowExtensionOperations = True
    }
}

...

class PSVirtualMachineList
{
  Name = WinExampleVM
  ResourceGroupName = QueryExample
  Location = westus2
  OSProfile =
    class OSProfile
    {
      ComputerName = WinExampleVM
      AdminUsername = ...
      AdminPassword =
      CustomData =
      WindowsConfiguration =
        class WindowsConfiguration
        {
          ProvisionVMAgent = True
          EnableAutomaticUpdates = True
          TimeZone =
          AdditionalUnattendContent =
          WinRM =
        }
      LinuxConfiguration =
      Secrets =
        [
        ]

      AllowExtensionOperations = True
    }
}

Diğer veri biçimlerine dönüştürmeConversion to other data formats

ConvertTo-* cmdlet ailesi, Azure PowerShell cmdlet'lerinin sonuçlarını makine tarafından okunabilir biçimlere dönüştürmeye olanak tanır.The ConvertTo-* family of cmdlets allows for converting the results of Azure PowerShell cmdlets to machine-readable formats. Azure PowerShell sonuçlarından yalnızca bazı özellikleri almak için, dönüştürmeyi yapmadan önce bir kanalda Select-Object komutunu kullanın.To get only some properties from the Azure PowerShell results, use the Select-Object command in a pipe before performing the conversion. Aşağıdaki örneklerde, her dönüştürmenin oluşturduğu farklı çıkış türleri gösterilir.The following examples demonstrate the different kinds of output that each conversion produces.

CSV'ye dönüştürmeConversion to CSV

Get-AzVM | ConvertTo-CSV
#TYPE Microsoft.Azure.Commands.Compute.Models.PSVirtualMachineList
"ResourceGroupName","Id","VmId","Name","Type","Location","LicenseType","Tags","AvailabilitySetReference","DiagnosticsProfile","Extensions","HardwareProfile","InstanceView","NetworkProfile","OSProfile","Plan","ProvisioningState","StorageProfile","DisplayHint","Identity","Zones","FullyQualifiedDomainName","AdditionalCapabilities","RequestId","StatusCode"
"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/ExampleLinuxVM","...","ExampleLinuxVM","Microsoft.Compute/virtualMachines","westus2",,"System.Collections.Generic.Dictionary`2[System.String,System.String]",,,"System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.Azure.Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Management.Compute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.OSProfile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StorageProfile","Compact",,"System.Collections.Generic.List`1[System.String]",,,"...","OK"
"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/RHELExample","...","RHELExample","Microsoft.Compute/virtualMachines","westus2",,"System.Collections.Generic.Dictionary`2[System.String,System.String]",,,"System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.Azure.Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Management.Compute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.OSProfile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StorageProfile","Compact",,"System.Collections.Generic.List`1[System.String]",,,"...","OK"
"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/WinExampleVM","...","WinExampleVM","Microsoft.Compute/virtualMachines","westus2",,"System.Collections.Generic.Dictionary`2[System.String,System.String]",,,"System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.Azure.Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Management.Compute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.OSProfile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StorageProfile","Compact",,"System.Collections.Generic.List`1[System.String]",,,"...","OK"

JSON'ye dönüştürmeConversion to JSON

JSON çıkışı varsayılan olarak tüm özellikleri genişletmez.JSON output doesn't expand all properties by default. Genişletilen özelliklerin derinliğini değiştirmek için -Depth bağımsız değişkenini kullanın.To change the depth of properties expanded, use the -Depth argument. Varsayılan olarak, genişletme derinliği 2 olur.By default, the expansion depth is 2.

Get-AzVM|ConvertTo-JSON

Aşağıdaki çıkışta bazı alanlar kaldırılmıştır.The following output has some fields removed.

[
    {
        "ResourceGroupName":  "QUERYEXAMPLE",
        "Id":  "/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/ExampleLinuxVM",
        "VmId":  "...",
        "Name":  "ExampleLinuxVM",
        "Type":  "Microsoft.Compute/virtualMachines",
        "Location":  "westus2",
        ...
        "OSProfile":  {
                          "ComputerName":  "ExampleLinuxVM",
                          "AdminUsername":  "...",
                          "AdminPassword":  null,
                          "CustomData":  null,
                          "WindowsConfiguration":  null,
                          "LinuxConfiguration":  "Microsoft.Azure.Management.Compute.Models.LinuxConfiguration",
                          "Secrets":  "",
                          "AllowExtensionOperations":  true
                      },
        "Plan":  null,
        "ProvisioningState":  "Succeeded",
        "StorageProfile":  {
                               "ImageReference":  "Microsoft.Azure.Management.Compute.Models.ImageReference",
                               "OsDisk":  "Microsoft.Azure.Management.Compute.Models.OSDisk",
                               "DataDisks":  ""
                           },
        "DisplayHint":  0,
        "Identity":  null,
        "Zones":  [

                  ],
        "FullyQualifiedDomainName":  null,
        "AdditionalCapabilities":  null,
        "RequestId":  "...",
        "StatusCode":  200
    },
    ...
]

XML'ye dönüştürmeConversion to XML

ConvertTo-XML cmdlet'i Azure PowerShell yanıt nesnesini saf XML nesnesine dönüştürür ve bu nesne PowerShell içinde diğer herhangi bir XML nesnesi gibi işlenebilir.The ConvertTo-XML cmdlet converts the Azure PowerShell response object into a pure XML object, which can be handled like any other XML object within PowerShell.

Get-AzVM | ConvertTo-XML
xml                            Objects
---                            -------
version="1.0" encoding="utf-8" Objects

HTML'ye dönüştürmeConversion to HTML

Bir nesnenin HTML'ye dönüştürülmesi, HTML tablosu olarak işlenebilecek bir çıkış oluşturur.Converting an object to HTML produces output that will be rendered as an HTML table. HTML'nin işlenmesi, tarayıcınızın genişlik bilgisi içermeyen tabloları işleme davranışına bağlı olacaktır.Rendering of the HTML will depend on your browser behavior for rendering tables which contain no width information. Hiçbir özel sınıf nesnesi genişletilmez.No custom class objects are expanded.

Get-AzVM | ConvertTo-HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/></colgroup>
<tr><th>ResourceGroupName</th><th>Id</th><th>VmId</th><th>Name</th><th>Type</th><th>Location</th><th>LicenseType</th><th>Tags</th><th>AvailabilitySetReference</th><th>DiagnosticsProfile</th><th>Extensions</th><th>HardwareProfile</th><th>InstanceView</th><th>NetworkProfile</th><th>OSProfile</th><th>Plan</th><th>ProvisioningState</th><th>StorageProfile</th><th>DisplayHint</th><th>Identity</th><th>Zones</th><th>FullyQualifiedDomainName</th><th>AdditionalCapabilities</th><th>RequestId</th><th>StatusCode</th></tr>
<tr><td>QUERYEXAMPLE</td><td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/ExampleLinuxVM</td><td>...</td><td>ExampleLinuxVM</td><td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td><td>System.Collections.Generic.Dictionary`2[System.String,System.String]</td><td></td><td></td><td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]</td><td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td><td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td><td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td><td>Succeeded</td><td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td><td>Compact</td><td></td><td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td><td>...</td><td>OK</td></tr>
<tr><td>QUERYEXAMPLE</td><td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/RHELExample</td><td>...</td><td>RHELExample</td><td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td><td>System.Collections.Generic.Dictionary`2[System.String,System.String]</td><td></td><td></td><td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]</td><td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td><td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td><td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td><td>Succeeded</td><td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td><td>Compact</td><td></td><td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td><td>...</td><td>OK</td></tr>
<tr><td>QUERYEXAMPLE</td><td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/virtualMachines/WinExampleVM</td><td>...</td><td>WinExampleVM</td><td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td><td>System.Collections.Generic.Dictionary`2[System.String,System.String]</td><td></td><td></td><td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Models.VirtualMachineExtension]</td><td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td><td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td><td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td><td>Succeeded</td><td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td><td>Compact</td><td></td><td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td><td>...</td><td>OK</td></tr>
</table>
</body></html>