What is Azure PowerShell?

Azure PowerShell is a set of cmdlets for managing Azure resources directly from PowerShell. Azure PowerShell is designed to make it easy to learn and get started with, but provides powerful features for automation.

The Az PowerShell module

Important

The Az PowerShell module is the recommended PowerShell module for managing Azure resources on all platforms.

The Az PowerShell module is based on the .NET Standard, and works with PowerShell 7.0.6 LTS and PowerShell 7.1.3 or higher on all platforms including Windows, macOS, and Linux. It's also compatible with Windows PowerShell 5.1.

Note

PowerShell 7.0.6 LTS and PowerShell 7.1.3 or higher is the recommended version of PowerShell for use with the Az PowerShell module on all platforms.

You can install the Az PowerShell module locally on Windows, macOS, and Linux. It can also be used from a browser through Azure Cloud Shell or inside a Docker container. For more information, see the Azure PowerShell documentation.

Authentication

Azure PowerShell supports several authentication methods. For detailed information about authenticating to Azure from the Az PowerShell module, see Sign in with Azure PowerShell.

Module Design

The Az PowerShell module is a wrapper module for Azure service related PowerShell modules, usually one module per Azure service such as Az.Network for Azure networking services and Az.AKS for Azure Kubernetes Service.

The cmdlets in the Az PowerShell module make REST calls to the Azure API. Breaking changes in the Az PowerShell module are limited to twice a year. Many breaking changes at the API level are handled within the cmdlets to prevent the perception of a breaking change.

The Az PowerShell module contains cmdlets for performing both control plane and data plane operations in Azure. You use the control plane to manage resources in your subscription. You use the data plane to use capabilities exposed by your instance of a resource type. For more information, see Azure control plane and data plane.

Output Objects

The cmdlets in the Az PowerShell module produce .NET objects. As with any PowerShell command that produces output, the cmdlets in the Az PowerShell module can be piped to the Get-Member cmdlet to determine what type of object is produced along with a list of the available properties and methods. For more information, see Query output of Azure PowerShell and Format Azure PowerShell cmdlet output.

Other modules

The AzureAD and MSOnline PowerShell modules are not part of the Az PowerShell module. For more information about those modules, see the documentation for Azure Active Directory PowerShell for Graph.

Legacy Azure PowerShell modules

The AzureRM PowerShell module

Caution

Because Az PowerShell modules now have all the capabilities of AzureRM PowerShell modules and more, we'll retire AzureRM PowerShell modules on 29 February 2024.

To avoid service interruptions, update your scripts that use AzureRM PowerShell modules to use Az PowerShell modules by 29 February 2024. To automatically update your scripts, follow the quickstart guide.

The AzureRM PowerShell module is no longer recommended as deprecation has been announced, new features are no longer being added, and it's not cross platform. For more information, see Overview of the AzureRM PowerShell module.

The Azure PowerShell module

Important

The cmdlets in the Azure PowerShell module are for managing legacy Azure resources that use Service Management APIs.

Some of the cmdlets in the Azure PowerShell module have been deprecated and others have been deprecated for new customers with retirement announced for existing customers as noted on their corresponding reference documentation pages. For more information, see Overview of the Azure PowerShell Service Management module