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.2 or higher on all platforms including Windows, Linux, and macOS. It's also compatible with Windows PowerShell 5.1.

Note

PowerShell 7.2 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, Linux, and macOS. 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 aren't 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

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

The AzureRM PowerShell module is deprecated, 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 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