Azure PowerShell cmdlet 출력 형식 지정Format AzurePowerShell cmdlet output

기본적으로 각 Azure PowerShell cmdlet은 미리 정의된 출력의 형식을 지정하여 쉽게 읽을 수 있도록 합니다.By default each Azure PowerShell cmdlet has predefined formatting of output making it easy to read. 또한 PowerShell은 출력을 조정하거나 cmdlet 출력을 다음 cmdlet을 가진 다른 형식으로 변환할 수 있는 유연성을 제공합니다.PowerShell also provides the flexibility to adjust the output or convert the cmdlet output to a different format with the following cmdlets:

서식 지정Formatting 변환Conversion
Format-CustomFormat-Custom ConvertTo-CsvConvertTo-Csv
Format-ListFormat-List ConvertTo-HtmlConvertTo-Html
Format-TableFormat-Table ConvertTo-JsonConvertTo-Json
Format-WideFormat-Wide ConvertTo-XmlConvertTo-Xml

형식 지정 예제Format examples

이 예제에서는 기본 구독에 있는 Azure VM의 목록을 가져옵니다.In this example, we get a list of Azure VMs in our default subscription. Get-AzureRmVM 명령은 출력을 기본적으로 테이블 형식으로 지정합니다.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

반환되는 열을 제한하려는 경우 Format-Table cmdlet을 사용할 수 있습니다.If you would like to limit the columns returned you can use the Format-Table cmdlet. 다음 예제에서는 가상 머신의 동일한 목록을 가져오지만 VM의 이름, 리소스 그룹 및 VM의 위치에 대한 출력을 제한합니다.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. -Autosize 매개 변수는 데이터의 크기에 따라 열 크기를 지정합니다.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

또한 출력을 목록으로 나타낼 수 있습니다.Output can also be formatted into a list. 다음 예제에서는 Format-List cmdlet을 사용하여 이를 보여 줍니다.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

다른 데이터 형식으로 변환Convert to other data types

PowerShell은 또한 명령 출력을 여러 데이터 형식으로 변환할 수도 있습니다.PowerShell also allows taking command output and converting it into multiple data formats. 다음 예제에서는 Select-Object cmdlet을 사용하여 구독에서 가상 머신의 특성을 가져오고, 출력을 CSV 형식으로 변환하여 데이터베이스 또는 스프레드시트로 쉽게 가져옵니다.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"

출력을 JSON 형식으로 변환할 수도 있습니다.Output can also be converted into the JSON format. 다음 예제에서는 VM의 동일한 목록을 만들지만 출력 형식을 JSON으로 변경합니다.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"
    }
]