Last year, after talking with many of our customers it became clear that the biggest issue with Azure PowerShell was the lack of native support for several Azure services. Since the last major release, the team has been very busy working to address this issue. With this release, we are adding several new modules to the Azure PowerShell family and we have significantly updated several existing modules.
This is a major version change. We are also introducing a limited number of breaking changes. Review them carefully and understand their impact as you plan to upgrade to this new version.
In the fall of 2019, we introduced a preview of a new generation of Azure PowerShell modules that we identified as 4.0.0-preview. We are now building new modules using the same approach taken for the preview, however, we prioritized our efforts in delivering new modules over refactoring existing ones. You will experience some of the new capabilities in the new modules like being able to pass a `SubscriptionId` per cmdlet.
Support for additional services
Since the beginning of the year, we have added 13 new modules to let you manage resources in PowerShell for the following services
- Azure CosmosDB [Az.CosmosDB]
- Azure Databricks [Az.Databricks]
- Azure Functions [Az.Functions]
- Azure HPC Cache [Az.HPCCache]
- Azure Maintenance [Az.Maintenance]
- Azure Database for MariaDB [Az.MariaDB]
- Azure Database for MySQL [Az.MySQL]
- Azure Database for PostgreSQL [Az.PostgreSQL]
- Portal dashboard [Az.Portal]
- Azure Stack Edge [Az.StackEdge]
- Azure Support [Az.Support]
- Azure Synapse Analytics [Az.Synapse]
- Azure Time Series Insights [Az.TimeSeriesInsights]
Over the next few weeks, we want to collect feedback on the modules that are in preview. Try them out and file issues on the GitHub repository of the team.
After a few months in preview, the Azure Functions module is now generally available and is being installed as part of the Az module. Az.Functions version 1.0.0 supports all the management operations related to Azure Functions, Azure Functions app plans, and Azure Functions app settings.
We heard your feedback during the preview phase, and we plan to add the ability to publish your function app code from a PowerShell cmdlet in a few weeks for better integration in your CI/CD pipelines and scripts.
Major updates for modules
This release is also introducing major changes for the following modules:
- Azure Kubernetes Service [Az.AKS]
- Azure Batch [Az.Batch]
- Azure KeyVault [Az.KeyVault]
- API Management [Az.ApiManagement]
- Compute [Az.Compute]
- Network [Az.Network]
- Storage [Az.Storage]
The Az.AKS module now has the support for Windows containers in AKS, a cmdlet to install ‘kubectl’, and the management of AKS Node Pools.
Az.KeyVault now creates a vault with “soft delete” by default. This leveled up the experience with the portal and added support for BYOK (Bring Your Own Key) scenarios. This version of the module allows you to use Azure KeyVault with the PowerShell Secrets Management module.
Refer to the migration guide for an extensive list of the breaking changes to help you migrate your existing scripts.
Next Steps
In the coming months, we will add more modules supporting Azure Services and extend the capabilities for existing modules.
We are making changes to be able to reduce the amount of time between the availability of a service and the availability of the corresponding PowerShell module.
Engage with us on twitter @azureposh, on this blog, or via the GitHub repo.
Stay safe!
Damien Caro
on behalf of Azure PowerShell team