Introducing the Azure Az PowerShell module

Overview

The Az PowerShell module is a set of cmdlets for managing Azure resources directly from PowerShell. PowerShell provides powerful features for automation that can be leveraged for managing your Azure resources for examples in the context of a CI/CD pipeline.

The Az PowerShell module is the replacement of AzureRM and is the recommended version to use for interacting with Azure.

You can use the Az PowerShell module with one of the following methods:

Features

The Az PowerShell module features the following benefits:

  • Security and stability
    • Token cache encryption
    • Support for ADKS 2019
    • Security mechanism preventing man-in-the-middle attack types
    • Support for features like continuous access evaluation (coming in 2021)
  • Support for all Azure services
    • A module is available for each Azure service
    • Multiple bug fixes and API version upgrades since AzureRM
  • Several additional new capabilities
    • Support in Cloud Shell and cross-platform
    • Can get and use access token to access Azure resources
    • Generic Az cmdlet for escape hatch type operations

Note

PowerShell 7 and later is the recommended version of PowerShell for use with Az PowerShell on all platforms.

The Az PowerShell module is based on the .NET Standard library and works with PowerShell 7 and later on all platforms including Windows, macOS, and Linux. It's also compatible with Windows PowerShell 5.1.

We're committed to bringing Azure support to all platforms and all Az PowerShell modules are cross-platforms.

Upgrade your environment to Az

To keep up with the latest Azure features in PowerShell, you should migrate to the Az module. If you're not ready to install the Az module as a replacement for AzureRM, you have a couple of options available to experiment with Az:

  • Use a PowerShell environment with Azure Cloud Shell. Azure Cloud Shell is a browser-based shell environment that comes with the Az module installed and Enable-AzureRM compatibility aliases enabled.
  • Keep the AzureRM module installed in Windows PowerShell 5.1 and install the Az module in PowerShell 7 or later. Windows PowerShell 5.1 and PowerShell 7 and later use separate collections of modules. Follow the instructions to install the latest version of PowerShell and then install the Az module from PowerShell 7 or later.

To upgrade from an existing AzureRM install:

  1. Uninstall the Azure PowerShell AzureRM module
  2. Install the Azure PowerShell Az module
  3. OPTIONAL: Enable compatibility mode to add aliases for AzureRM cmdlets with Enable-AzureRMAlias while you become familiar with the new command set. For more information, see the next section or Start migration from AzureRM to Az.

Migrate existing scripts from AzureRM to Az

If your scripts are still based on the AzureRM module, we have several resources to help you with the migration:

Supportability

Az is the most current PowerShell module for Azure. Issues or feature requests can be logged directly on the GitHub repository, or via Microsoft support if you have a support contract. Feature requests will be implemented in the latest version of Az. Critical issues will be implemented on the last two versions of Az.

AzureRM will no longer receive new cmdlets or features. However, the AzureRM module is still officially maintained and will receive critical fixes through February 2020.

Data collection

Azure PowerShell collects telemetry data by default. Microsoft aggregates collected data to identify patterns of usage to identify common issues and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell does not collect any private or personal data. For example, the usage data helps identify issues such as cmdlets with low success and helps prioritize our work.

While we appreciate the insights this data provides, we also understand that not everyone wants to send usage data. You can disable data collection with the Disable-AzDataCollection cmdlet. You can also read our privacy statement to learn more.