Introducing the Azure Az PowerShell module
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:
- Install the Az PowerShell module via PowerShellGet (recommended option).
- Install the Az PowerShell module with MSI.
- Use Azure Cloud Shell.
- Use the Az PowerShell Docker container.
The Az PowerShell module features the following benefits:
- Security and stability
- Token cache encryption
- Support for ADFS 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
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
PowerShellenvironment with Azure Cloud Shell. Azure Cloud Shell is a browser-based shell environment that comes with the Az module installed and
Enable-AzureRMcompatibility 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:
- Uninstall the Azure PowerShell AzureRM module
- Install the Azure PowerShell Az module
- 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:
- Get started with migration from AzureRM to Az
- Full list of breaking changes from AzureRM to Az 1.0.0
- The Enable-AzureRmAlias cmdlet
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.
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.