Losing your “ARM” “AZ” you move forward with Azure PowerShell

January 16, 2019 Jeff Truman

For any of us that have interacted with Microsoft Azure for any length of time, we know that at times there are actions or resources that are not fully configurable from the Azure Portal.  When times like this occur one way to handle this is to jump to the Azure PowerShell modules to make these changes.

In the past this meant firing up PowerShell and pulling down the latest Azure and AzureRM cmdlets.  You may ask why would you need both Azure and AzureRM?  The Azure cmdlets targeted the classic resources that still lingered about in the Azure cloud, while the AzureRM cmdlets targeted the new Azure Resource Manager resources.  There were transition periods of Microsoft Azure that necessitated having both sets of PowerShell cmdlets.  While this Azure transition was taking place, there was another transition that was also taking place.  PowerShell went from a Windows only powerful scripting language to an open source cross platform implementation.  This means that PowerShell was now available to be run on Windows, Linux and MacOS.

During this transition period for PowerShell it was also an opportunity for the team that managed the Azure cmdlets to update them as well and thankfully around December of 2018 they released the new Azure AZ module. The beauty of these new cmdlets is that they offer shorter commands, improved stability and cross-platform support.

This means that a command that used to be New-AzureRMVM is now simply New-AzVM.


It is now the recommendation of Microsoft that all users upgrade to the new Azure Az module.

The steps involved in doing so are as follows:

I have worked with many clients that in addition to Azure ARM Templates, have extensive Azure PowerShell scripts that provision things like virtual networks and include embedded network security groups.  When I first started to read about the new Az modules, I wondered how these “legacy” scripts would be affected by the new modules.

Thankfully the team that wrote the modules thought of this and implemented a very cool feature.  The new Azure AZ module has a switch called Enable-AzureRMAlias.  This allows the new Az cmdlets to respond to commands that still use the older AzureRM naming conventions.  In this way, organizations will have time to go through their current Azure PowerShell scripts and update them to the new naming standard.  Once all scripts are updated you simply call the Disable-AzureRMAlias switch.

As you transition to the new Azure AZ Module, if you run into any questions, feel free to reach out to us here at Nebbia and we will be more than happy to assist.

Previous Article
PowerDETAILS Case Study by Microsoft
PowerDETAILS Case Study by Microsoft

Recently, Microsoft wrote a case study that details how one of our customers, PowerDETAILS was able to leve...

Next Article
Gauging your Azure Expertise: How Does Your Business Measure Up?
Gauging your Azure Expertise: How Does Your Business Measure Up?

Running your business within Microsoft Azure puts you at a competitive advantage to other companies that ar...