AzCLI – export VMs related data to CSV

What is Az CLI? The Azure Command-Line Interface (CLI) is a set of commands used to manage Azure resources from the command line. It is a cross-platform tool that you can use on Linux, macOS, and Windows to manage resources in Azure, such as virtual machines, storage accounts, and web applications. The Azure CLI is…


What is Az CLI?

The Azure Command-Line Interface (CLI) is a set of commands used to manage Azure resources from the command line. It is a cross-platform tool that you can use on Linux, macOS, and Windows to manage resources in Azure, such as virtual machines, storage accounts, and web applications.

The Azure CLI is designed to be easy to use and flexible, and it allows you to automate many common Azure tasks using scripts and command-line tools. It is a powerful tool for managing Azure resources, and it is particularly useful for tasks that involve multiple resources or require frequent updates.

You can use the Azure CLI to:

  • Create and manage Azure resources, such as virtual machines, storage accounts, and web apps.
  • Deploy and manage applications in Azure.
  • Monitor and diagnose issues with Azure resources.
  • Create and manage Azure resource groups and deployment templates.
  • Create and manage Azure Active Directory objects, such as users and groups.

The Azure CLI is available as a standalone tool, or it can be used through the Azure Cloud Shell, which is a web-based shell that you can access from the Azure portal.

You can use the Azure CLI to export data about your virtual machines (VMs) to an Excel spreadsheet in Linux by following these steps:

  • Install the Azure CLI on your Linux machine, if you haven’t already done so. You can do this by running the following command:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
  • Authenticate to your Azure account by running the following command
az login
  • Use the az vm list command to retrieve a list of your VMs. You can add the --output table flag to format the output as a table:
az vm list --output table

 

 

  • Pipe the output of the az vm list command to the jq utility to filter the data and format it as a CSV file. For example, the following command will output the names, resource groups, and locations of your VMs as a CSV file:
az vm list --output json | jq -r '.[] | [.name, .resourceGroup, .location] | @csv'

 

 

  • Redirect the output of the jq command to a CSV file using the > operator. For example:
az vm list --output json | jq -r '.[] | [.name, .resourceGroup, .location] | @csv' > vm-data.csv
  • Open the CSV file in Excel or another spreadsheet program to view the data.

Keep in mind that you can customize the data that is exported by modifying the jq command to filter and format the data as needed. For example, you can use the select() function to select specific properties, or you can use the map() function to transform the data in some way. You can also use the --query flag with the az vm list command to filter the data before it is passed to jq.

For more information about the Azure CLI and working with virtual machines, you can refer to the Azure documentation.