Cloud Computing

Azure Az Module for Windows PowerShell, Core, and Cloud Shell Replaces AzureRM

I’ve written quite a bit on using PowerShell to deploy and manage Windows Server virtual machines and other resources in the Azure cloud for Petri. But since those articles were published a lot has changed. Not only do we now have PowerShell Core, but Microsoft will no longer be adding features to Windows PowerShell, although it will still be supported. PowerShell Core is based on the .NET Core Framework, which means it also runs on Linux and MacOS. And if you want to start using PowerShell Core it can run side-by-side with Windows PowerShell on the same device.

For more information on PowerShell Core, see PowerShell Core 6.0 and Why Windows PowerShell Is No Longer Being Developed and 5 Things to Know About PowerShell Core on Windows on Petri.

Open Source Az PowerShell Module for Azure

The new open source Az module for PowerShell is cross-platform and replaces AzureRM, which Microsoft will continue to support. Az was released December 18th and Microsoft says that it will be updated twice a month, starting in the middle of January. New features for this release include:

Sponsored Content

Passwords Haven’t Disappeared Yet

123456. Qwerty. Iloveyou. No, these are not exercises for people who are brand new to typing. Shockingly, they are among the most common passwords that end users choose in 2021. Research has found that the average business user must manually type out, or copy/paste, the credentials to 154 websites per month. We repeatedly got one question that surprised us: “Why would I ever trust a third party with control of my network?

  • Az runs on Windows PowerShell 5.1 and PowerShell Core (cross-platform)
  • Az is always up to date with the latest tooling for Azure services
  • Az ships in Cloud Shell
  • Az shortens and normalizes cmdlet names – all cmdlets use ‘Az’ as their noun prefix
  • Az simplifies and normalizes module names – data plane and management plane cmdlets for each service use the same Az module
  • Az ships with new cmdlets to enable script compatibility with AzureRM (Enable/Disable-AzureRmAlias)
  • Az enables device code authentication support, allowing login when remoting via a terminal to another computer, VM, or container

Install or Update Az PowerShell Module

The Az module can be installed from the PowerShell Gallery and it works in Windows PowerShell 5.1, PowerShell Core 6.0, and PowerShell Core 6.1. It’s possible to have the AzureRM and Az modules installed at the same time providing that you don’t enable aliases. If you are using Azure Cloud Shell, the Az module is now installed by default.

Install the new Az PowerShell module for Microsoft Azure (Image Credit: Russell Smith)
Install the new Az PowerShell module for Microsoft Azure (Image Credit: Russell Smith)

To install the Az module with global scope, run the Install-Module cmdlet as shown below in an elevated PowerShell window.

Install-Module -Name Az -AllowClobber

If you don’t have administrator rights or want to install for user scope only, add the -Scope parameter as shown here:
Install-Module -Name Az -AllowClobber -Scope CurrentUser

Once the Az module is installed, you can connect to your Azure subscription using the Connect-AzAccount cmdlet. This release doesn’t support user login with PSCredential, but the next version will support it for Windows PowerShell 5.1 only. Microsoft recommends signing in with a Service Principal when authenticating from a script. You can find more information about signing in with Service Principals on Microsoft’s website here.

To update the module, run Update-Module. Older versions of the module are not uninstalled but if you have more than one version of Az, by default module autoload and Import-Module load the latest version.

Update-Module -Name Az

To check which versions of the module you have installed, use Get-Module:
Get-Module -Name *Az.* -ListAvailable

Enable AzureRM Aliases

For the purposes of backwards compatibility, you can enable aliases to use the new Az module to run scripts that were designed for use with AzureRM. The only condition is that if you enable aliases, you must remove the AzureRM module. The command below enables aliases for all modules for the current user.

Enable-AzureRmAlias -Scope CurrentUser

The -Scope parameter has three possible values: Process, CurrentUser, and LocalMachine. You can disable aliases using Disable-AzureRmAlias.

Related Topics:


Don't have a login but want to join the conversation? Sign up for a Petri Account

Comments (0)

Leave a Reply

IT consultant, Contributing Editor @PetriFeed, and trainer @Pluralsight. All about Microsoft, Office 365, Azure, and Windows Server.
13 Email Threat Types to Know About Right Now

As email threats evolve and multiply, keeping track of them all—and staying protected against the many different types—becomes a complex challenge. Today, that requires more than just the traditional email gateway solution that used to be good enough.

In this eBook you will learn:

  • What are the most common and challenging email attacks for organizations?
  • How to defend against sophisticated email threats, such as spoofing, social engineering, and fraud
  • How to protect employees at the inbox level with the right technologies and security-awareness training
  • How to use a multilayered protection strategy to reduce susceptibility to email attacks and better defend your business and employees

Sponsored by: