0% found this document useful (0 votes)
1K views

Powershell Azure Azps 10.1.0

The document discusses the Azure PowerShell Az module, which is the recommended module for managing Azure resources from PowerShell. It provides an overview of the Az module's features and benefits compared to the legacy AzureRM module. Instructions are given on installing and upgrading to the Az module from AzureRM, including enabling compatibility aliases and migrating existing scripts.

Uploaded by

Pt Buddhakird
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Powershell Azure Azps 10.1.0

The document discusses the Azure PowerShell Az module, which is the recommended module for managing Azure resources from PowerShell. It provides an overview of the Az module's features and benefits compared to the legacy AzureRM module. Instructions are given on installing and upgrading to the Az module from AzureRM, including enabling compatibility aliases and migrating existing scripts.

Uploaded by

Pt Buddhakird
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 682

Tell us about your PDF experience.

Azure PowerShell Documentation


Official product documentation for Azure PowerShell. Azure PowerShell is a collection of
modules for managing Azure resources from PowerShell.

About Azure PowerShell

e OVERVIEW

Get started

What is Azure PowerShell?

Introducing the Az PowerShell module

Support Lifecycle

d TRAINING

Automate Azure tasks from PowerShell

Choose the best Azure command line tools for managing and provisioning your cloud
infrastructure

Installation

a DOWNLOAD

Install

Install - Windows

Install - Linux

Install - macOS

Run in Azure Cloud Shell

Azure PowerShell in Docker

What's new

h WHAT'S NEW

R l t
Release notes

Az 10.0.0 migration guide

Upcoming breaking changes

Azure PowerShell Reference

i REFERENCE

Cmdlet reference

Identity and Authentication

h WHAT'S NEW

Azure AD to Microsoft Graph Migration changes

c HOW-TO GUIDE

Authentication methods

Create a service principal

Credential Contexts

Concepts

c HOW-TO GUIDE

Manage subscriptions

Manage Azure resources with Invoke-AzRestMethod

Filter cmdlet results

Format output

PowerShell jobs

g TUTORIAL

Create virtual machines


Configuration

c HOW-TO GUIDE

Configure global settings

Intelligent command completion

Use the Az PowerShell module behind a proxy

Deploy

` DEPLOY

Deploy resource manager templates

Export resource manager templates

Deploy private resource manager templates

Samples

s SAMPLE

Azure App Service

SQL databases

Cosmos DB

Samples repo

Migrate from AzureRM

e OVERVIEW

Changes between AzureRM and Az

c HOW-TO GUIDE

Migration steps
f QUICKSTART

Automatically migrate PowerShell scripts

Help & Support

e OVERVIEW

Report product issues

Troubleshoot

Follow Azure PowerShell on Twitter

Azure Tools Blog


What is Azure PowerShell?
Article • 07/04/2023

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

7 Note

PowerShell 7.0.6 LTS and PowerShell 7.1.3 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

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.
The AzureRM PowerShell module is no longer recommended as deprecation has been
announced, 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
Introducing the Azure Az PowerShell
module
Article • 07/04/2023

Overview
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 example 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.

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

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.

Features
The Az PowerShell module features the following benefits:

Security and stability


Token cache encryption
Prevention of man-in-the-middle attack type
Support authentication with ADFS 2019
Username and password authentication in PowerShell 7
Support for features like continuous access evaluation
Support for all Azure services
All generally available Azure services have a corresponding supported
PowerShell module
Multiple bug fixes and API version upgrades since AzureRM
New capabilities
Support in Cloud Shell and cross-platform
Can get and use access token to access Azure resources
Cmdlet available for advanced REST operations with Azure resources

7 Note

PowerShell 7.0.6 LTS, PowerShell 7.1.3, or higher is the recommended version of


PowerShell for
use with the Azure Az PowerShell module 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, Linux, and macOS. 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 PowerShell environment with Azure Cloud Shell. Azure Cloud


Shell is a
browser-based shell environment that comes with the Az module installed and
Enable-AzureRM compatibility 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:

1. Uninstall the Azure PowerShell AzureRM module


2. Install the Azure PowerShell Az module
3. 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

Supportability
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 are implemented in the latest version of
Az. Critical
issues are implemented on the last two versions of Az.

Because Az PowerShell modules now have all the capabilities of AzureRM PowerShell
modules and more,
we'll retire AzureRM PowerShell modules on February 29, 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by February 29, 2024. To automatically update
your
scripts, follow the
quickstart guide.

Data collection
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 doesn't 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.
Get started with Azure PowerShell
Article • 07/04/2023

Azure PowerShell is designed for managing and administering Azure resources from the
command line.
Use Azure PowerShell when you want to build automated tools that use
the Azure Resource Manager
model. Try it out in your browser with Azure Cloud Shell, or
install
on your local machine.

This article helps you get started with Azure PowerShell and teaches the core concepts
behind it.

Install or run in Azure Cloud Shell


The easiest way to get started with Azure PowerShell is by trying it out in an Azure
Cloud Shell
environment. To get up and running with Cloud Shell, see
Quickstart for
PowerShell in Azure Cloud Shell. Cloud
Shell runs PowerShell on a Linux container, so
Windows-specific functionality isn't available.

When you're ready to install Azure PowerShell on your local machine, follow the
instructions in
Install the Azure PowerShell module.

Sign in to Azure
Sign in interactively with the
Connect-AzAccount cmdlet. Skip this step if you
use Cloud
Shell. Your Azure Cloud Shell session is already authenticated for the environment,
subscription, and tenant that launched the Cloud Shell session.

Azure PowerShell

Connect-AzAccount

Azure cloud services offer environments compliant with regional data-handling laws. For
accounts in
a regional cloud, use the Environment parameter to sign in. Get the name of
the environment for
your region using the Get-AzEnvironment cmdlet.
For example, to
sign in to Azure China 21Vianet:

Azure PowerShell

Connect-AzAccount -Environment AzureChinaCloud

Beginning with Az PowerShell module version 5.0.0, Connect-AzAccount presents an


interactive
browser based login prompt by default. You can specify the
UseDeviceAuthentication parameter to
receive a token string which was previously the

default for PowerShell version 6 and higher.

After signing in, you'll see information indicating which of your Azure subscriptions is
active. If
you have multiple Azure subscriptions in your account and want to select a
different one, get your
available subscriptions with
Get-AzSubscription and use the
Set-
AzContext cmdlet with your subscription ID. For
more information about managing your
Azure subscriptions in Azure PowerShell, see
Use multiple Azure subscriptions.

Once signed in, use the Azure PowerShell cmdlets to access and manage resources in
your
subscription. To learn more about the sign-in process and authentication methods,
see
Sign in with Azure PowerShell.

Find commands
Azure PowerShell cmdlets follow a standard naming convention for PowerShell, Verb-
Noun . The verb
describes the action (examples include New , Get , Set , Remove ) and the

noun describes the


resource type (examples include AzVM , AzKeyVaultCertificate ,
AzFirewall ,
AzVirtualNetworkGateway ). Nouns in Azure PowerShell always start with the

prefix Az . For the


full list of standard verbs, see
Approved verbs for PowerShell
Commands.

Knowing the nouns, verbs, and the Azure PowerShell modules available helps you find
commands with
the Get-Command cmdlet. For example, to
find all VM-related
commands that use the Get verb:

PowerShell

Get-Command -Verb Get -Noun AzVM* -Module Az.Compute

To help you find common commands, this table lists the resource type, corresponding
Azure PowerShell
module, and noun prefix to use with Get-Command :

Resource type Azure PowerShell module Noun prefix

Resource group Az.Resources AzResourceGroup

Virtual machines Az.Compute AzVM

Storage accounts Az.Storage AzStorageAccount


Resource type Azure PowerShell module Noun prefix

Key Vault Az.KeyVault AzKeyVault

Web applications Az.Websites AzWebApp

SQL databases Az.Sql AzSqlDatabase

For a full list of the modules in Azure PowerShell, see the


Azure PowerShell modules
list
hosted on GitHub.

Data Collection
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.

Learn Azure PowerShell basics with quickstarts


and tutorials
To get started with Azure PowerShell, try an in-depth tutorial for setting up virtual
machines and
learning how to query them.

Create virtual machines with Azure PowerShell

There are also Azure PowerShell quickstarts for other popular Azure services:

Create a storage account


Transfer objects to/from Azure Blob storage
Create and retrieve secrets from Azure Key Vault
Create an Azure SQL database and firewall
Run a container in Azure Container Instances
Create a Virtual Machine Scale Set
Create a standard load balancer
Next steps
Sign in with Azure PowerShell
Manage Azure subscriptions with Azure PowerShell
Create service principals with Azure PowerShell
Get help from the community:
Azure forum on MSDN
Stack Overflow
Azure PowerShell versioning, release
cadence, and breaking changes
Article • 07/04/2023

The Az PowerShell module is a rollup module containing more than 70 generally


available (GA) or
stable service modules for managing Azure resources directly from
PowerShell.

Versioning
The Az PowerShell modules follow Semantic Versioning for version numbering.
Versions of Azure service modules fall into one of three categories:

Generally available. Modules version 1.0.0 and higher without preview in the
version. Adheres to
breaking change policy.
Preview. Modules less than version 1.0.0. Don't adhere to breaking change policy.
Feature preview. Modules version 1.0.0 and higher with preview in the version.
Don't adhere to
breaking change policy.

There are two Az PowerShell rollup modules:

Az . Installs all GA service modules for managing


Azure resources.
AzPreview . Installs all GA and preview
modules for managing Azure resources.
Doesn't include feature preview modules.

The AzPreview module is always the same version and is released at the same time as
the Az module.

Release cadence
Planned updates to the Az PowerShell module are released on the first Tuesday of each
month. These
12 planned updates per calendar year are in two categories:

Major versions. At most, two per calendar year introduce breaking changes. The
first number in the
version number is updated. For example, version 6.6.0 to
version 7.0.0.
Minor versions. 10 per calendar year that don't introduce breaking changes. The
second number in
the version number is updated. For example, version 7.0.0 to
version 7.1.0.
2 Warning

Before upgrading to a major breaking change version of the Az PowerShell module,


you should
review the migration guide .

Unplanned patch versions may be released at any time to fix bugs. Patch versions don't
introduce
breaking changes. The third number in the version number is updated. For
example, version 6.2.0 to
version 6.2.1.

Breaking changes

) Important

Breaking changes may occur at any point for non-GA preview and feature preview
modules. Non-GA
modules aren't required to adhere to breaking change policies.

When do breaking changes occur


We release two breaking change versions per year:

One in late spring


One in the fall

For information about upcoming breaking change releases, see Azure PowerShell
milestones .

Types of breaking changes


Various types of breaking changes can occur in cmdlets. For more information, see
Breaking Change Definition .

List of breaking changes


For detailed information about breaking changes in major releases of the Az PowerShell
module, see
the following articles.

AZ 10.0.0 breaking changes


AZ 9.0.1 breaking changes
Az 8.0.0 breaking changes
Az 7.0.0 breaking changes
Az 6.0.0 breaking changes
Az 5.0.0 breaking changes
Az 4.1.0 breaking changes
Az 3.0.0 breaking changes
Az 2.0.0 breaking changes

Breaking change warning messages


Breaking change warning messages allow Azure PowerShell cmdlet author's to
communicate upcoming
breaking changes with end users.

Suppress breaking change warning messages


To suppress breaking change warning messages, see
How do I disable breaking change
warning messages in Azure PowerShell?.

For more information, see


Breaking Changes Attribute Help .

Provide feedback
For general feedback, use the Send-Feedback cmdlet.
For product issues, log an issue in the azure-powershell GitHub repository .

Other resources
Azure PowerShell modules .
Azure PowerShell Support Lifecycle
Azure PowerShell releases demystified
Azure PowerShell Support Lifecycle
Article • 07/04/2023

Az PowerShell modules
The "Az PowerShell modules" consist of the module named "Az" and the dependent
modules signed by
"Microsoft Corporation". The Az PowerShell modules are identifiable
by their names, that start
with "Az.". For the current list of Az PowerShell modules, see
Azure PowerShell Modules .

The Az PowerShell modules support lifecycle falls under the


Azure SDK lifecycle policy .
We support the last two
minor versions of the current major version and last minor
version of the previous major version of
the Az PowerShell module.

Supported environments
The following table identifies the supported platforms for the Az, AzureRM, and Azure
PowerShell
modules.

The icon indicates supported version combinations of Azure PowerShell and


PowerShell.
The icon indicates version combinations of Azure PowerShell and PowerShell
that are no longer supported.
The icon indicates unsupported version combinations of Azure PowerShell and
PowerShell.

Azure PowerShell PowerShell


PowerShell
Windows PowerShell

<= 7.1 >= 7.2 5.1

Az 10.x

Az 9.x

<= Az 8.x

AzureRM 6.13.2

Azure 5.3.1

7 Note
PowerShell 6.2 reached its end of life as of September 4, 2020. The Az PowerShell
modules are not
supported on any version of PowerShell 6.

Information about CVE-2021-26701


The Az PowerShell modules use components affected by security advisory
CVE-2021-
26701 which has
been fixed in PowerShell 7.0.6 and 7.1.3. For more information, see
Microsoft Security Advisory CVE-2021-26701: .NET Core Remote Code Execution
Vulnerability .

Starting with Az 6.0.0, PowerShell 7.0.6 or 7.1.3 or later is required. When the
Az.Accounts module
is imported, the following non-blocking message is displayed if an
unsupported version of PowerShell
is being used: "This version of Az.Accounts is only
supported on Windows PowerShell 5.1 and
PowerShell 7.0.6 or greater, open
https://aka.ms/install-powershell to learn how to upgrade. For
further information, go to
https://aka.ms/azpslifecyle ."

AzureRM PowerShell modules

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by February 29, 2024. To automatically update
your
scripts, follow the
quickstart guide.
How to install Azure PowerShell
Article • 07/05/2023

The Azure PowerShell Az module is a rollup module. Installing the Az PowerShell module
downloads the
generally available modules and makes their cmdlets available for use.

Install
The current version of Azure PowerShell is 10.1.0. For information about the latest
release, see the release notes.

Install on Windows
Install on Linux
Install on macOS
Run in Azure Cloud Shell
Run in Docker container

A supported version of
PowerShell version 7 or higher is
the recommended version of
PowerShell for use with the Az PowerShell module on all platforms
including Windows,
Linux, and macOS.

The Az PowerShell module is preinstalled in Azure Cloud Shell and in


Docker images.

See also
What is Azure PowerShell
Get started with Azure PowerShell
Versioning, release cadence, and breaking changes
Support Lifecycle
Install Azure PowerShell on Windows
Article • 07/04/2023

The Azure PowerShell Az module is a rollup module. Installing the Az PowerShell module
downloads the
generally available modules and makes their cmdlets available for use.

The recommended installation method and PowerShell version for the Az PowerShell
module:

Install from the PowerShell Gallery


Use with PowerShell version 7 or higher

This article explains how to install the Az PowerShell module on Windows from the
PowerShell Gallery.

Prerequisites
Run the following command from PowerShell to determine your PowerShell
version:

PowerShell

$PSVersionTable.PSVersion

Determine if you have the AzureRM PowerShell module installed:

PowerShell

Get-Module -Name AzureRM -ListAvailable

) Important

If you have the AzureRM PowerShell module installed, see


Az and AzureRM
coexistence before proceeding.

PowerShell 7

Install a supported version of


PowerShell version 7 or higher
Set the PowerShell execution policy to remote signed or less restrictive

Check the PowerShell execution policy:

PowerShell

Get-ExecutionPolicy -List

Set the PowerShell execution policy to remote signed:

PowerShell

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

For more information about execution policies, see


about_Execution_Policies.

Installation
Use the Install-Module cmdlet to install the Az
PowerShell module:

PowerShell

Install-Module -Name Az -Repository PSGallery -Force

Update the Az PowerShell module


Use Update-Module to update to the latest version
of the Az PowerShell module:

PowerShell

Update-Module -Name Az -Force

Updating the Az PowerShell module using Update-Module doesn't remove old versions
of the Az
PowerShell module from your system.

Uninstallation
To remove the Az PowerShell module, see
Uninstall the Azure PowerShell module.

Sign in
To start managing your Azure resources with the Az PowerShell module, launch a
PowerShell session
and run Connect-AzAccount to sign in to Azure:

Azure PowerShell

Connect-AzAccount

Use your Azure account login credentials to log into the browser window that opens.

You'll need to repeat this step for every new PowerShell session you start. To learn how
to persist
your Azure sign-in across PowerShell sessions, see
Azure PowerShell context
objects.

Troubleshooting
For solutions to common installation issues with the Az PowerShell module, see
Troubleshoot installation problems with the Azure Az PowerShell module.

Provide feedback
To file an issue about the Az PowerShell module, see:
file an issue on GitHub

To provide feedback from within a PowerShell session, use the


Send-Feedback cmdlet.

Next Steps
To learn more about managing your Azure resources with the Az PowerShell module,
see
Get Started with Azure PowerShell.
Install Azure PowerShell on Linux
Article • 07/04/2023

The Azure PowerShell Az module is a rollup module. Installing it downloads the


generally available
Az PowerShell modules and makes their cmdlets available for use.

This article explains how to install the Az PowerShell module on Linux.

Prerequisites
Install a supported version of PowerShell version 7 or higher

Installation
Open the Terminal or other shell host application and run pwsh to start PowerShell.

Use the Install-Module cmdlet to install the Az


PowerShell module:

PowerShell

Install-Module -Name Az -Repository PSGallery -Force

Update the Az PowerShell module


Use Update-Module to update to the latest version
of the Az PowerShell module:

PowerShell

Update-Module -Name Az -Force

Updating the Az PowerShell module using Update-Module doesn't remove old versions
of the Az
PowerShell module from your system.

Uninstallation
To remove the Az PowerShell module from your system, see
Uninstall the Azure
PowerShell module.
Sign in
To start managing your Azure resources with the Az PowerShell module, launch a
PowerShell session
and run Connect-AzAccount to sign in to Azure:

Azure PowerShell

Connect-AzAccount

Use your Azure account login credentials to log into the browser window that opens.

You'll need to repeat this step for every new PowerShell session you start. To learn how
to persist
your Azure sign-in across PowerShell sessions, see
Azure PowerShell context
objects.

Troubleshooting
For solutions to common installation issues with the Az PowerShell module, see
Troubleshoot installation problems with the Azure Az PowerShell module.

Provide feedback
To file an issue about the Az PowerShell module, see:
file an issue on GitHub .

To provide feedback from within a PowerShell session, use the


Send-Feedback cmdlet.

Next Steps
To learn more about managing your Azure resources with the Az PowerShell module,
see
Get Started with Azure PowerShell.
Install Azure PowerShell on macOS
Article • 07/04/2023

This article explains how to install the Azure PowerShell Az module from
the PowerShell
Gallery on macOS.

The Az PowerShell module is a rollup module. Installing it downloads the generally


available Az
PowerShell modules and makes their cmdlets available for use.

Prerequisites
Install a supported version of
PowerShell version 7 or higher

Installation
Open the Terminal or other shell host application and run pwsh to start PowerShell.

Use the Install-Module cmdlet to install the Az


PowerShell module:

PowerShell

Install-Module -Name Az -Repository PSGallery -Force

Update the Azure PowerShell module


Use the Update-Module cmdlet to update to the
latest version of the Az PowerShell
module.

PowerShell

Update-Module -Name Az -Force

Updating the Az PowerShell module using Update-Module doesn't remove old versions
of the Az
PowerShell module from your system.

Uninstallation
To remove the Az PowerShell module from your system, see
Uninstall the Azure
PowerShell module.
Sign in
To start managing your Azure resources with the Az PowerShell module, launch a
PowerShell session
and run Connect-AzAccount to sign in to Azure:

Azure PowerShell

Connect-AzAccount

Use your Azure account login credentials to log into the browser window that opens.

You'll need to repeat this step for every new PowerShell session you start. To learn how
to persist
your Azure sign-in across PowerShell sessions, see
Azure PowerShell context
objects.

Troubleshooting
For solutions to common installation issues with the Az PowerShell module, see
Troubleshoot installation problems with the Az PowerShell module.

Provide feedback
To file an issue about the Az PowerShell module, see:
file an issue on GitHub .

To provide feedback from within a PowerShell session, use the


Send-Feedback cmdlet.

Next steps
To learn more about managing your Azure resources with the Az PowerShell module,
see
Get Started with Azure PowerShell.
Using Azure PowerShell in a Docker
container
Article • 07/04/2023

We publish Docker images with Azure PowerShell preinstalled. You can use Docker to
run a standalone
Linux container with Azure PowerShell preinstalled. This article shows
you how to use Azure
PowerShell in the Docker container.

Finding available images


The released images require Docker 17.05 or newer. You must be able to run Docker
without sudo or
local administrative rights. Follow Docker's official instructions to
install Docker.

The release containers derive from the official distribution image, install dependencies,
and
install the Azure PowerShell module.

The latest container image contains the latest version of PowerShell and the latest Azure
PowerShell
modules supported with the Az PowerShell module.

You can find a complete list of Azure PowerShell Docker images on our Docker image
page.

Using Azure PowerShell in a container


The following steps show the Docker commands required to download the image and
start an interactive
PowerShell session.

amd64

1. Download the latest azure-powershell image.

Console

docker pull mcr.microsoft.com/azure-powershell

2. Run the azure-powershell container in interactive mode:

Console
docker run -it mcr.microsoft.com/azure-powershell pwsh

For Windows Docker hosts, you must enable Docker file sharing to allow local drives on
Windows to be
shared with Linux containers. For more information, see
Get started with
Docker for Windows .

Remove the image when no longer needed


The following command deletes the Docker container when you no longer need it.

amd64

Console

docker rmi mcr.microsoft.com/azure-powershell

Next steps
To learn more about the Azure PowerShell modules and their features, see
Get Started
with Azure PowerShell.
How to uninstall Azure PowerShell
modules
Article • 07/04/2023

This article explains how to uninstall Azure PowerShell, or completely remove it from
your system.
If you've decided to completely uninstall Azure PowerShell and don't plan
to reinstall it, give us
some feedback through the Send-Feedback cmdlet. If
you
encountered a bug, file a GitHub issue .

Uninstall the Az module


If you have the Az module installed on your system and would like to uninstall it, there
are
two options. Which method you follow depends on how you installed the Az
module. If you're not
sure of your original installation method, follow the MSI steps for
uninstalling first.

Option 1: Uninstall the Az PowerShell module from MSI


If you installed Az PowerShell module using the MSI package, you must uninstall
through the Windows
system rather than PowerShell.

Platform Instructions

Windows 10 Start > Settings > Apps

Windows 7
Start > Control Panel > Programs > Uninstall a program
Windows 8

Once on this screen, you should see Azure PowerShell in the program listing. This is the
app to
uninstall. If you don't see this program listed, then you installed through
PowerShellGet and
should follow the instructions outlined in option 2.

Option 2: Uninstall the Az PowerShell module from


PowerShellGet
When the Az PowerShell module is installed, it installs numerous PowerShell modules for
different
Azure services. All the modules begin with an Az prefix.

) Important
Run PowerShell elevated as an admin if any version of the Az PowerShell module is
installed in the
all users $env:PSModulePath .

To uninstall the Az PowerShell module, you can use the


Uninstall-Module cmdlet.
However,
Uninstall-Module only uninstalls the modules specified for the Name
parameter. To remove the Az
PowerShell module completely, you must uninstall each
module individually.

7 Note

Uninstallation can be complicated if you have more than one version of the Az
PowerShell module
installed. Because of this complexity, we only support
uninstalling all versions of the Az
PowerShell module that are installed.

First, you'll need a list of all the Az PowerShell module versions installed on your system.

PowerShell

Get-InstalledModule -Name Az -AllVersions -OutVariable AzVersions

You can use the following example to generate a list of all the Az PowerShell modules
that need to
be uninstalled in addition to the Az module.

PowerShell

($AzVersions |

ForEach-Object {

Import-Clixml -Path (Join-Path -Path $_.InstalledLocation -ChildPath


PSGetModuleInfo.xml)

}).Dependencies.Name | Sort-Object -Descending -Unique -OutVariable


AzModules

Remove the Az modules from memory and then uninstall them.

PowerShell

$AzModules |

ForEach-Object {

Remove-Module -Name $_ -ErrorAction SilentlyContinue


Write-Output "Attempting to uninstall module: $_"

Uninstall-Module -Name $_ -AllVersions

The final step is to remove the Az PowerShell module.


PowerShell

Remove-Module -Name Az -ErrorAction SilentlyContinue

Uninstall-Module -Name Az -AllVersions

Uninstall the AzureRM module


If you have the Az module installed on your system and would like to uninstall AzureRM,
there are
two options. Which method you follow depends on how you installed the
AzureRM module. If you're not
sure of your original installation method, follow the MSI
steps for uninstalling first.

Option 1: Uninstall the AzureRM PowerShell module from


MSI
If you installed the AzureRM PowerShell module using the MSI package, you must
uninstall through the
Windows system rather than PowerShell.

Platform Instructions

Windows 10 Start > Settings > Apps

Windows 7
Start > Control Panel > Programs > Uninstall a program
Windows 8

Once on this screen, you should see Azure PowerShell or Microsoft Azure PowerShell -
Month
Year in the program listing. This is the app to uninstall. If you don't see this
program listed,
then you installed through PowerShellGet, and should follow the next
set of instructions.

Option 2: Uninstall the AzureRM PowerShell module from


PowerShellGet
If you installed AzureRM with PowerShellGet, then you can remove the modules with the
Uninstall-AzureRM cmdlet, available as part of
the Az.Accounts module.

To use Uninstall-AzureRM from the Az.Accounts module, you need to have the Az
PowerShell module
installed. Having both the AzureRM and the Az modules installed at
the same time isn't supported,
however the Az module can be used to immediately
uninstall the AzureRM module. You can install the
Az module and bypass the AzureRM
module warning with the following command if you don't have the Az
module installed
already:

PowerShell

Install-Module -Name Az -AllowClobber -Scope CurrentUser

Once the Az module is installed, the following command removes all AzureRM modules
from your machine. It
requires administrator privileges.

PowerShell

Uninstall-AzureRm

Azure PowerShell release notes


Article • 07/05/2023

10.1.0 - July 2023

Az.Accounts 2.12.4

Changed 'gallery' property to be optional in ARM metadata of 'Set-AzEnvironment'


and 'Add-AzEnvironment'[#22037].

Az.Aks 5.5.1
Fixed the issue of handling 'nextLink' in 'Set-AzAksCluster'. [#21846]
Fixed the issue of parameter 'AcrNameToDetach' in 'Set-AzAksCluster' due to role
assignment name is a guid.
Added breaking change message for parameter 'DockerBridgeCidr' in 'New-
AzAksCluster'.
Supported the value 'AzureLinux' for parameter '-NodeOsSKU' in 'New-
AzAksCluster' and parameter '-OsSKU' in 'New-AzAksNodePool'.
Fixed the issue of '-DisableLocalAccount' for 'Set-AzAksCluster'. [#21835]

Az.Billing 2.0.3
Fixed page continuation for Consumption PriceSheet cmdlet

Az.Cdn 3.1.0

Upgraded API version to 2023-05-01


Fixed known issue for 'Update-AzCdnProfile', 'Update-AzFrontDoorCdnProfile',
'Remove-AzCdnProfile', 'Remove-AzCdnProfile'

Az.CognitiveServices 1.14.0

Updated CognitiveServices PowerShell to use 2023-05-01 version.

Az.Compute 6.1.0

Added useful examples to the 'New-AzVMConfig' help doc.


Added new 'ResourceId' parameter to the 'Get-AzVmss' cmdlet.
Added '-SecurityType', '-EnableSecureBoot' and '-EnableVtpm' parameters to 'New-
AzVm','New-AzVmConfig', 'New-AzVmss', 'New-AzVmssConfig', 'Update-AzVm' and
'Update-AzVmss' cmdlets.
Configured parameter flags '-EnableSecureBoot' and '-EnableVtpm' to default to
True for TrustedLaunch and ConfidentialVM values for the '-SecurityType' parameter
in 'New-AzVm','New-AzVmConfig', 'New-AzVmss', 'New-AzVmssConfig', 'Update-
AzVm' and 'Update-AzVmss' cmdlets.
Added a message to the user when they provide an outdated image alias to 'New-
AzVM' via the '-Image' parameter or to 'New-AzVmss' via the '-ImageName'
parameter.
The non-versioned image aliases were updated to versioned values in
October 2023, and this message is to help urge customers to use the newer
versioned image alias values.
Changed the installation behavior for the 'GuestAttestation' extension in 'New-
AzVM' and 'New-AzVmss' to set the property 'EnableAutomaticUpgrade' to true.
Changed to 'Set-AzVMOperatingSystem' to correct unnecessary mandatory
parameters.

Az.CosmosDB 1.11.1

Locations showed in response included status,


isSubscriptionRegionAccessAllowedForRegular and
isSubscriptionRegionAccessAllowedForAz properties

Az.Databricks 1.6.0

Added some parameters in the 'New-AzDatabricksWorkspace' and 'Update-


AzDatabricksWorkspace'.
'ManagedDiskKeyVaultPropertiesKeyName'
'ManagedDiskKeyVaultPropertiesKeyVaultUri'
'ManagedDiskKeyVaultPropertiesKeyVersion'
'ManagedDiskRotationToLatestKeyVersionEnabled'
'ManagedServicesKeyVaultPropertiesKeyName'
'ManagedServicesKeyVaultPropertiesKeyVaultUri'
'ManagedServicesKeyVaultPropertiesKeyVersion'
'Authorization'
'UiDefinitionUri'
Added some parameters in the 'Update-AzDatabricksVNetPeering'.
'DatabricksAddressSpacePrefix'
'DatabricksVirtualNetworkId'
'RemoteAddressSpacePrefix'
'RemoteVirtualNetworkId'

Az.Migrate 2.2.0
Fixed key vault SPN Id coming as null for some users
Added support for Windows Server OS upgrade while migrating the server to Azure
using Azure Migrate
Updated OsUpgradeVersion parameter for Azure Migrate

Az.MySql 1.1.1

Fixed iops and high availability parameters issue

Az.Network 6.1.0

Added new cmdlets to get Connection child resource of Network Virtual Appliance.
-'Get-AzNetworkVirtualApplianceConnection'
Updated cmdlets to return connections in Network Virtual Appliance
-'Network
Virtual Appliance'
Allowed not to provide 'Rules' in
'PSApplicationGatewayFirewallPolicyManagedRuleGroupOverride', which would
return an empty 'RuleID' to be passed to NRP.
Added optional parameter 'AdminState' to Express Route Virtual Network Gateway
Fixed bug that caused 'Remove-AzApplicationGatewayAutoscaleConfiguration' to
always fails
Added read-only property 'DefaultPredefinedSslPolicy' in PSApplicationGateway
Updated cmdlet to added optional parameter 'DomainNameLabelScope' to Public
Ip Address
'New-AzPublicIpAddress'
Fixed bug where HubRoutingPreference didn't show up when running 'Get-
AzRouteServer'
Updated 'New-AzVirtualNetworkGateway' to remove validation for
'ExtendedLocation' parameter

Az.RecoveryServices 6.5.0
Added CRR support for new regions malaysiasouth, chinanorth3, chinaeast3,
jioindiacentral, jioindiawest.
Regenerated CRR SDK. Fixed issues with SQL CRR.
Fixed bug with rp expiry time, making 30 days expiry time for adhoc backup as
default from client side.
Added example to fetch pruned recovery points after modify policy.
Fixed the documentation for suspend backups with immutability.

Az.RedisCache 1.8.0

Upgraded API version to 2023-04-01

Az.Resources 6.8.0

Fixed the incorrect behavior of pagination for 'Get-AzTag'


Updated API version to 2022-09-01
Added Deployment Stacks cmdlets
Added support for dynamic parameters when deploying symbolic name templates.
Fixed 'Set-AzPolicyExemption' parameter PolicyDefinitionReferenceId not accept
empty array.
Fixed 'Get-AzPolicyExemption' output not contain system data.

Az.Sql 4.8.0
Added 'TryPlannedBeforeForcedFailover' parameter to 'Switch-
AzSqlDatabaseFailoverGroup'
Added new cmdlets for managed database move and copy operations
'Copy-AzSqlInstanceDatabase'
'Move-AzSqlInstanceDatabase'
'Complete-AzSqlInstanceDatabaseCopy'
'Stop-AzSqlInstanceDatabaseCopy'
'Complete-AzSqlInstanceDatabaseMove'
'Stop-AzSqlInstanceDatabaseMove'
'Get-AzSqlInstanceDatabaseMoveOperation'
'Get-AzSqlInstanceDatabaseCopyOperation'

Az.Storage 5.8.0
Supported TierToCold and TierToHot in Storage account management policy
'Add-AzStorageAccountManagementPolicyAction'
Supported Blob Tier Cold
'Copy-AzStorageBlob'
'Set-AzStorageBlobContent'
'Start-AzStorageBlobCopy'
Migrated the following Azure Queue dataplane cmdlets from
'Microsoft.Azure.Storage.Queue' to 'Azure.Storage.Queue'
'New-AzStorageQueueSASToken'
Added warning messages for an upcoming breaking change when creating SAS
token
'New-AzStorageBlobSasToken'
'New-AzStorageContainerSasToken'
'New-AzStorageAccountSasToken'
'New-AzStorageContext'
'New-AzStorageFileSasToken'
'New-AzStorageShareSasToken'
'New-AzStorageQueueSasToken'
'New-AzStorageTableSasToken'
'New-AzDataLakeGen2SasToken'
Added a warning message for an upcoming breaking change when creating a
storage account
'New-AzStorageAccount'

Az.StorageMover 1.0.1
Fixed the issue of System.Management.Automation.Internal.Host.InternalHost
conflicting with system parameter
System.Management.Automation.Internal.Host.InternalHost

Az.Synapse 3.0.1

Fixed the issue for 'Start-AzSynapseTrigger/Stop-AzSynapseTrigger' to not throw


exception when Request Status is 202

Az.TrafficManager 1.2.1
Added a new API 'CheckTrafficManagerNameAvailabilityV2'.

Az.Websites 3.0.1
Increased timeout for Publish-AzWebApp command
Fixed Set-AzWebApp issue with 'Set-AzWebApp' when piping in Get-AzWebApp
object [#21820]
Added support for the PremiumMV3 tier to 'New-AzAppServicePlan' [#21933]

Thanks to our community contributors


Bas Wijdenes (@baswijdenes), Update Get-AzAutomationJob.md (#21984)
Sebastiaan Koning (@OneAndOnlySeabass), Fix a few typos in Get-
AzMarketplaceTerms.md (#21945)
Hiroshi Yoshioka (@hyoshioka0128)
Typo "CosmosDB Account"→"Cosmos DB Account" (#22005)
Typo "azure key vault"→"Azure Key Vault" (#22103)

10.0.0 - June 2023

Az.Accounts 2.12.3

Updated System.Security.Permissions to 4.7.0.

Az.Aks 5.5.0
Fixed the issue of 'Enable-AzAksAddon' when there are no addons. [#21665]
Added parameter '-EnableAHUB' for 'New-AzAksCluster' and 'Set-AzAksCluster'
Added parameter '-WindowsProfileAdminUserPassword' for 'Set-AzAksCluster'

Az.Billing 2.0.2
Fixed skip token for Consumption PriceSheet cmdlet

Az.Cdn 3.0.0
Upgraded API version to 2022-11-01-preview
Added support to migrate from Azure Front Door (classic) to Azure Front Door
Standard and Premium.
Added support for AFDX upgrade from Standard tier to Premium tier.

Az.Compute 6.0.0
Added new switch parameter 'OSImageScheduledEventEnabled' and string
parameter 'OSImageScheduledEventNotBeforeTimeoutInMinutes' to the cmdlets
'New-AzVmssConfig' and 'Update-AzVmss'.
Fixed an issue that 'Add-AzVhd' throws 'FileNotFoundException' on Windows
PowerShell. [#21321]
Removed the 'NextLink' parameter and parameter set from the 'Get-AzVM' cmdlet.

Az.ContainerRegistry 4.0.0
Updated module to autorest based

Az.CosmosDB 1.11.0
Added support for Continuous 7 Days backup mode.
Added new parameter 'EnablePartitionMerge' to 'Update-AzCosmosDBAccount' and
'New-AzCosmosDBAccount'.

Az.Databricks 1.5.1
Fixed an issue that 'Update-AzDatabricksWorkspace' doesn't work as expected while
enabling encryption. [#21324]

Az.DataProtection 2.0.0

Added support for Blob Hardened recovery points (VaultStore).


Added Cross Subscription Restore for 'AzureDisk', 'AzureDatabaseForPostgreSQL'
and 'AzureBlob'.
Added 'Get-AzDataProtectionOperationStatus' command for long running cmdlets
async.

Az.DesktopVirtualization 4.0.0
Upgraded API version to 2022-09-09
Added cmdlet:
'Get-AzWvdScalingPlanPooledSchedule'
'New-AzWvdScalingPlanPooledSchedule'
'Remove-AzWvdScalingPlanPooledSchedule'
'Update-AzWvdScalingPlanPooledSchedule'
Added parameters 'pageSize', 'isDescending' and 'initialSkip' to:
'Get-AzWvdApplication'
'Get-AzWvdApplicationGroup'
'Get-AzWvdDesktop'
'Get-AzWvdHostPool'
'Get-AzWvdMsixPackage'
'Get-AzWvdScalingPlan'
'Get-AzWvdSessionHost'
'Get-AzWvdStartMenuItem'
'Get-AzWvdUserSession'
'Get-AzWvdWorkspace'
Added parameters 'AgentUpdateMaintenanceWindow',
'AgentUpdateMaintenanceWindowTimeZone', 'AgentUpdateType',
'AgentUpdateUseSessionHostLocalTime' to:
'New-AzWvdHostPool'
'Update-AzWvdHostPool'
Added parameter 'FriendlyName' to:
'New-AzWvdHostPool'
'Update-AzWvdHostPool'
'Update-AzWvdSessionHost'

Az.EventHub 4.0.0

Aliased 'New-AzEventHubNamespace', 'Remove-AzEventHubNamespace', 'Set-


AzEventHubNamespace', 'Get-AzEventHubNamespace' with 'New-
AzEventHubNamespaceV2', 'Remove-AzEventHubNamespaceV2', 'Set-
AzEventHubNamespaceV2', 'Get-AzEventHubNamespaceV2' respectively
Replaced 'New-AzEventHubEncryptionConfig' by 'New-
AzEventHubKeyVaultPropertiesObject'

Az.Functions 4.0.7

Removed support to create v3 function apps (Functions v3 reached EOL on


December, 2022) [#20838]
Enabled using ARM API to get stacks information for function app creation [#14682]
[#20009]
Added support to create dotnet-isolated function apps [#16349]
Added support for custom handler function apps [#12542]

Az.HDInsight 6.0.0

Breaking Change:
Removed the parameter '-RdpAccessExpiry' which has been marked as
deprecated for a long time from cmdlet 'New-AzHDInsightCluster'
Removed the parameter '-RdpCredential' which has been marked as deprecated
for a long time from cmdlet 'New-AzHDInsightCluster'

Az.KeyVault 4.10.0
Added breaking change announcement for parameter 'SoftDeleteRetentionInDays'
in 'New-AzKeyVaultManagedHsm'. The parameter 'SoftDeleteRetentionInDays' is
becoming mandatory
This change will take effect on version 6.0.0
Changed the encoding way from a string into byte array in 'Invoke-
AzKeyVaultKeyOperation' from ASCII to UTF8. UTF8 is backward-compatible with
ASCII. [#21269]
Bug fix: Changed the decoding way from byte array into a string from system
default encoding to UTF8 to match encoding way. [#21269]
Added parameter 'PolicyPath' and 'PolicyObject' in 'Import-AzKeyVaultCertificate' to
support custom policy [#20780]

Az.MachineLearningServices 1.0.0
General availability for module Az.MachineLearningServices

Az.Migrate 2.2.0
Added support for Windows Server OS upgrade while migrating the server to Azure
using Azure Migrate
Added fix for keyvault SPN Id coming as null for some users

Az.Monitor 4.5.0
Added cmdlets for monitor workspace:
'Get-AzMonitorWorkspace'
'New-AzMonitorWorkspace'
'Update-AzMonitorWorkspace'
'Remove-AzMonitorWorkspace'

Az.Network 6.0.0

Added new cmdlets for RouteMap child resource of VirtualHub.


-'Get-AzRouteMap'
-'New-AzRouteMapRuleCriterion'
-'New-AzRouteMapRuleActionParameter'
-'New-
AzRouteMapRuleAction'
-'New-AzRouteMapRule'
-'New-AzRouteMap'
-'Set-
AzRouteMap'
-'Remove-AzRouteMap'
Updated cmdlets to add inbound/outbound route maps in routingConfiguration
-
'New-AzRoutingConfiguration'
Added the command 'New-AzFirewallPolicyApplicationRuleCustomHttpHeader'
Added the method 'AddCustomHttpHeaderToInsert' to
'PSAzureFirewallPolicyApplicationRule'
Added new cmdlets to support Rate Limiting Rule for Application Gateway WAF
'New-AzApplicationGatewayFirewallCustomRuleGroupByUserSession',
'New-AzApplicationGatewayFirewallCustomRuleGroupByVariable',
Also updated cmdlet to add the property of 'RateLimitDuration',
'RateLimitThreshold' and 'GroupByUserSession'
'New-AzureApplicationGatewayFirewallCustomRule'
Added support of 'AdditionalNic' Property in 'New-AzNetworkVirtualAppliance'
Added the new cmdlet for supporting 'AdditionalNic' Property
'New-AzVirtualApplianceAdditionalNicProperty'
Added new cmdlets to support Log Scrubbing Feature for Application Gateway WAF
Firewall Policy
'New-AzApplicationGatewayFirewallPolicyLogScrubbingConfiguration',
'New-AzApplicationGatewayFirewallPolicyLogScrubbingRule',
Also updated cmdlet to add the property of 'LogScrubbing'
'New-AzApplicationGatewayFirewallPolicySetting'
Onboarded 'Microsoft.HardwareSecurityModules/cloudHsmClusters' to private link
cmdlets
Updated cmdlet to add the property of 'DisableRequestBodyEnforcement',
'RequestBodyInspectLimitInKB' and 'DisableFileUploadEnforcement'
'New-AzApplicationGatewayFirewallPolicySetting'
Added optional property 'AuxiliarySku' to cmdlet 'New-AzNetworkInterface' to help
choose performance on an 'AuxiliaryMode' enabled Network Interface.
Added a new value 'AcceleratedConnections' for existing property 'AuxiliaryMode'
for 'New-AzNetworkInterface'
Added new cmdlets to get virtual hub effective routes and in/outbound routes
'Get-AzVHubEffectiveRoute'
'Get-AzVHubInboundRoute'
'Get-AzVHubOutboundRoute'

Az.RedisEnterpriseCache 1.2.0
Upgraded API version to 2023-03-01-preview

Az.Relay 2.0.0
Updated API version to 2021-11-01

Az.Resources 6.7.0
Added parameter '-CountVariable' for list operations, 'odataCount' can now be
assigned to this variable [#20982]
'Get-AzADApplication'
'Get-AzADServicePrincipal'
'Get-AzADUser'
'Get-AzADGroup'
Supported polymorphism for 'Get-AzADGroupMember', output of this cmdlet was
now 'Application' 'ServicePrincipal', 'User' and 'Group' based on the 'odataType'
[#19728]
Added '-Force' parameter on 'Publish-AzBicepModule' for supporting overwriting
existing modules.
Fixed 'New-AzADApplication' when multiple redirect url types were provided.
[#21108]
Fixed 'Update-AzADServicePrincipal' when empty array passed for 'IdentifierUri'
[#21345]
Fixed an issue where location header was missing in the response from the service
for 'New-AzManagedApplication'.
Fixed 'Get-AzResourceGroup' ignored the subscription ID in '-Id' [#21725]

Az.ServiceBus 3.0.0
Aliased 'New-AzServiceBusNamespace', 'Remove-AzServiceBusNamespace', 'Set-
AzServiceBusNamespace', 'Get-AzServiceBusNamespace' with 'New-
AzServiceBusNamespaceV2', 'Remove-AzServiceBusNamespaceV2', 'Set-
AzServiceBusNamespaceV2', 'Get-AzServiceBusNamespaceV2' respectively.
Replaced 'New-AzServiceBusEncryptionConfig' by 'New-
AzServiceBusKeyVaultPropertiesObject'

Az.ServiceFabric 3.2.0
Added new cmdlet 'Add-AzServiceFabricManagedClusterNetworkSecurityRule' to
update network security rules in managed cluster resource

Az.SignalR 2.0.0

Breaking change:
Removed 'HostNamePrefix' property of output type 'PSSignalRResource' of
following cmdlets:
'Get-AzSignalR'
'New-AzSignalR'
'Update-AzSignalR'

Az.Sql 4.7.0

Added new cmdlets 'Get-AzSqlInstanceDatabaseLedgerDigestUpload', 'Disable-


AzSqlInstanceDatabaseLedgerDigestUpload', and 'Enable-
AzSqlInstanceDatabaseLedgerDigestUpload'
Added 'EnableLedger' parameter to 'New-AzSqlInstanceDatabase'
Added 'PreferredEnclaveType' parameter to 'NewAzureSqlElasticPool' and
'SetAzureSqlElasticPool' cmdlet

Az.SqlVirtualMachine 2.0.0

Converted Az.SqlVirtualMachine to autorest-based module.

Az.StackHCI 2.0.0

Made Region parameter mandatory in 'Register-AzStackHCI' cmdlet.


Removed EnableAzureArcServer parameter from 'Register-AzStackHCI' cmdlet.
Removed 'Test-AzStackHCIConnection' cmdlet. Customers can use 'Invoke-
AzStackHciConnectivityValidation' from AzStackHCI.EnvironmentChecker module for
enhanced connectivity verification tests.
Added support for Managed Service identity (MSI) in Azure China Cloud.
Added support for Mandatory extensions, for OS versions starting 23H2.
Added parameter validations for 'Register-AzStackHCI' cmdlet.
Improved Error logging in Registration and Unregistration.

Az.Storage 5.7.0

Fixed issue of getting a single blob with leading slashes


'Get-AzStorageBlob'
Supported setting CORS rules in management plane cmdlets
'Update-AzStorageBlobServiceProperty'
'Update-AzStorageFileServiceProperty'
Fixed an issue of 'StorageAccountName' field in context object when the context is
invalid
'New-AzStorageContext'
Fixed an issue when a context does not have Credentials field
Added '' to be a valid container name

Az.StorageSync 2.0.0
Deprecated 'RegisteredServer' alias for InputObject parameter for Set-
AzStorageSyncServerEndpoint

Az.Synapse 3.0.0
Removed the unnecessary breaking change of parameter '-SparkConfigFilePath' for
'New-AzSynapseSparkPool' and 'Update-AzSynapseSparkPool' cmdlets

Az.Websites 3.0.0

Removed 'New-AzWebAppContainerPSSession' and 'Enter-


AzWebAppContainerPSSession' cmdlets

Thanks to our community contributors


Gitanjali Verma (@gitanjali1993), Update Set-
AzApplicationGatewayBackendAddressPool.md (#21458)
Jeremiah Mathers (@jeremiahmathers), Update Set-
AzApplicationGatewayConnectionDraining.md (#21601)
Morris Janatzek (@morrisjdev), Added PackageAction Set for Update-
AzSynapseSparkPool to support removing and adding packages in one action
(#21579)
Adam Myatt (@myatt83)
Update Set-AzNetworkManagerSubscriptionConnection.md (#21621)
Update Get-AzApiManagementAuthorizationServerClientSecret.md (#21619)
Noah Koontz (@prototypicalpro)
Regenerate help for Az.Network (#21533)
feat: add autoscale support for virtual hub and update network formatting
(#21518)
Simon Wåhlin (@SimonWahlin), Add -Force parameter on Publish-AzBicepModule
(#21713)
Steve Matney (@stevematney), Fix typo in Update-AzWebAppTrafficRouting.md
(#21667)

9.7.1 - May 2023

Az.Accounts 2.12.2
Fixed 'AzureSynapseAnalyticsEndpointResourceId' of 'USGovernment' environment.
Updated Azure.Core to 1.31.0.
Updated the reference of Azure PowerShell Common to 1.3.75-preview.

Az.Aks 5.4.0
Added cmdlet 'New-AzAksMaintenanceConfiguration', 'Get-
AzAksMaintenanceConfiguration', 'Remove-AzAksMaintenanceConfiguration', 'New-
AzAksSnapshot', 'Get-AzAksSnapshot', 'Remove-AzAksSnapshot', 'Get-
AzAksManagedClusterCommandResult', 'Get-AzAksManagedClusterOSOption',
'Get-AzAksManagedClusterOutboundNetworkDependencyEndpoint', 'Invoke-
AzAksAbortAgentPoolLatestOperation', 'Invoke-
AzAksAbortManagedClusterLatestOperation', 'Invoke-
AzAksRotateManagedClusterServiceAccountSigningKey', 'Start-
AzAksManagedClusterCommand', 'New-AzAksTimeInWeekObject', 'New-
AzAksTimeSpanObject'.
Added parameter '-OutboundType' for 'New-AzAksCluster'
Added parameter '-EnableOidcIssuer' for 'New-AzAksCluster' and 'Set-AzAksCluster'
Added parameter '-NodePodSubnetID' for 'New-AzAksCluster', '-PodSubnetID' for
'New-AzAksNodePool'

Az.Compute 5.7.1

Added a breaking change warning to the 'Get-AzVM' cmdlet to show that the
'NextLink' parameter and parameter set will be removed in June 2023. The
parameter has been non-functional for a long time.
Updated the breaking change warning in 'New-AzVM' and 'New-AzVmss' regarding
using the new versioned image aliases to indicate that certain aliases will be
removed next breaking change release.
Updated the 'Get-AzVMRunCommand' to include the 'ProvisioningState' value. Fix
[#21473]
Updated Azure.Core to 1.31.0.

Az.ContainerRegistry 3.0.4

Updated Azure.Core to 1.31.0.

Az.CosmosDB 1.10.1

Updated Azure.Core to 1.31.0.

Az.KeyVault 4.9.3

Added breaking changes for 'Invoke-AzKeyVaultKeyOperation'. The


encoded/decoded way between string and bytes in 'Invoke-
AzKeyVaultKeyOperation' will change to UTF8.
This change will take effect on 5/23/2023
The change is expected to take effect from the version 5.0.0
Updated Azure.Core to 1.31.0.

Az.LoadTesting 1.0.0

General availability of 'Az.LoadTesting' module

Az.Network 5.7.0

Onboarded 'Microsoft.HardwareSecurityModules/cloudHsmClusters' to private link


cmdlets
Fixed the issue for 'Update-AzCustomIpPrefix' that 'NoInternetAdvertise' will should
be set to false if not provided

Az.PolicyInsights 1.6.1

Updated Azure.Core to 1.31.0.

Az.PowerBIEmbedded 1.2.1

Added deprecate warning message for workspace collection cmdlets

Az.RecoveryServices 6.4.0

Added support for updating CrossSubscriptionRestoreState of the vault


Added Cross subscription restore support for workload type MSSQL

Az.Resources 6.6.1
Added support for Azure resources deployment with parameters file using Bicep
parameters syntax

Az.Sql 4.6.0

Added new cmdlets for managing server configuration options


'Set-AzSqlServerConfigurationOption'
'Get-AzSqlServerConfigurationOption'

Az.Storage 5.6.0
Supported rename file and directory
'Rename-AzStorageFile'
'Rename-AzStorageDirectory'
Added a warning message for an upcoming breaking change when getting a single
blob
'Get-AzStorageBlob'
Fixed the issue of listing blobs with leading slashes
'Get-AzStorageBlob'
Added support for sticky bit
'New-AzDataLakeGen2Item'
'New-AzDataLakeGen2ACLObject'
'Update-AzDataLakeGen2Item'
Added warning messages for an upcoming cmdlet breaking change
'New-AzStorageAccount'
'Set-AzStorageAccount'
Allowed to clear blob tags on a blob
'Set-AzStorageBlobTag'
Updated Azure.Core to 1.31.0

Az.Synapse 2.3.1
Updated Azure.Core to 1.31.0.

Az.Websites 2.15.0
Fixed Tag parameter issues with ASE for 'New-AzWebApp'

Thanks to our community contributors


@geologyrocks
Update IsCustom property on example role defintion (#21514)
Fix Assignment/Definition typo in Output (#21442)

9.6.0 - April 2023

Az.Aks 5.3.2
Fixed the issue that system variable 'True' is undefined in 'Windows PowerShell'.
Decoupled AutoMapper dependency, replaced with AdapterHelper.
Az.Batch 3.4.0
Added new property 'Encryption' of type 'EncryptionProperties' to
'AccountCreateParameters'.
Configures how customer data is encrypted inside the Batch account.

Az.Billing 2.0.1

Fixed pagination for 'Get-AzConsumptionPriceSheet' cmdlet

Az.CognitiveServices 1.13.1

Removed notice and attestation from 'New-AzCognitiveServicesAccount'.

Az.Compute 5.7.0

Addressed bug in 'Remove-AzVmss' to throw error when '-InstanceId' is null.


[#21162]
Added '-CustomData', '-AdminPassword', and '-ExactVersion' parameters to 'Invoke-
AzVMReimage'.
Removed the image alias 'CoreOS' as the publisher CoreOS no longer has any
images for Azure.
Updated the names of the 'openSUSE-Leap' and 'SLES' aliases to
'OpenSuseLeap154' and 'SuseSles15SP4' respectively. Updated these aliases to
point to an image that actually exists.
Added a breaking change warning to 'New-AzVM' and 'New-AzVmss' for future
planned image alias removals due to the images reaching their End of Support date.
Added new descriptive and versioned alias names for the Linux image aliases,
including a new alias for the 'Kinvolk' publisher.

Az.ContainerRegistry 3.0.3
Added breaking change attributes for cmdlets

Az.CosmosDB 1.10.0
Introduced restorable apis support for Gremlin and Table, which includes:
Added the apis for RestorableGremlinDatabases, RestorableGremlinGraphs,
RestorableGremlinResources,RestorableTables, RestorableResources.
Added RetrieveContinuousBackupInfo apis for Gremlin and Table which help in
determining the restore point of time and the resources to restore.
Added GremlinDatabasesToRestore and TablesToRestore field to provision and
restore database account api.
Added StartTime and EndTime support for listing restorable containers event
feed.

Az.DataProtection 1.2.0

Added support for AKS workload with Backup Vaults


Added support for 'Set-AzDataProtectionMSIPermission' during restore with AKS
workload

Az.EventGrid 1.6.0
Added fix for DeliveryAttributeMapping
Added validation for StorageQueueTtl

Az.EventHub 3.2.3

Added upcoming breaking change notifications for Az.EventHub module.

Az.Kusto 2.2.0

Added cmdlet 'Get-AzKustoSku'


Added parameter 'CallerRole' for cmdlet 'AzKustoDatabase' and 'Update-
AzKustoDatabase'
Added support for new data connection kind 'CosmosDb' for cmdlet 'New-
AzKustoDataConnection' and 'Update-AzKustoDataConnection'
Added parameters 'DatabaseNameOverride' 'DatabaseNamePrefix'
'TableLevelSharingPropertyFunctionsToInclude'
'TableLevelSharingPropertyFunctionsToExclude' for cmdlet 'New-
AzKustoAttachedDatabaseConfiguration'

Az.Network 5.6.0

Updated 'New-AzLoadBalancer' and 'Set-AzLoadBalancer' to validate surface level


parameters for global tier load balancers
Added property 'AuthorizationStatus' to ExpressRouteCircuit
Added property 'BillingType' to ExpressRoutePort
Added support for connection flushing in network security group which when
enabled, re-evaluates flows when rules are updated
'New-AzNetworkSecurityGroup'
Added support for state in WAF Custom Rule
Added 'New-AzGatewayCustomBgpIpConfigurationObject' command
Updated 'New-AzVirtualNetworkGatewayConnection', 'Set-
AzVirtualNetworkGatewayConnection' and 'New-AzVpnSiteLinkConnection' to
support GatewayCustomBgpIpConfiguration.
Updated 'Reset-AzVpnGateway' to support IpConfigurationId.
Blocked some regions when creating/updating Basic Sku firewall
Fixed bugs related to auto learn IP prefixes and Snat
Updated multi-auth to be supported when both OpenVPN and IkeV2 protocols are
used for VNG and VWAN VPN

Az.Resources 6.6.0
Fixed an issue when running the 'New-AzManagementGroup' command where it
tried to cast an async operation as a Management Group. [#21000]
Fixed an issue when running 'Get-AzResourceGroup -Name 'some_name'', it ignores
'-Location' if specified[#21225]

Az.ServiceBus 2.2.1
Added upcoming breaking change notifications for Az.ServiceBus module.

Az.Sql 4.5.0
Added a new cmdlet to refresh external governance status
'Invoke-AzSqlServerExternalGovernanceStatusRefresh'

Az.SqlVirtualMachine 1.1.1

Added breaking change notification for cmdlets to be removed and parameters to


be changed.
Cmdlet 'New-AzSqlVMConfig' will be removed.
Cmdlet 'Set-AzSqlVMConfigGroup' will be removed.
Cmdlet 'Update-AzAvailabilityGroupListener' will be removed.
Parameter 'SqlVM' will be removed from cmdlet 'New-AzSqlVM'.
Parameter 'SqlVMGroupObject' will be removed from cmdlet 'Get-
AzAvailabilityGroupListener' and 'Remove-AzAvailabilityGroupListener'.
Parameter alias 'SqlVM' will be removed from 'InputObject' of cmdlet 'Remove-
AzSqlVM'.
Parameter alias 'SqlVMGroup' will be removed from 'InputObject' of cmdlet
'Update-AzSqlVMGroup' and 'Remove-AzSqlVMGroup'.
Added breaking change notification for SqlManagementType

Az.Storage 5.5.0
Supported create storage account with DnsEndpointType
'New-AzStorageAccount'
Fixed file cmdlets potential context issue when the current context doesn't match
with the credential of input Azure File object
'Close-AzStorageFileHandle'
'Get-AzStorageFile'
'Get-AzStorageFileContent'
'Get-AzStorageFileHandle'
'New-AzStorageDirectory'
'New-AzStorageFileSASToken'
'Remove-AzStorageDirectory'
'Remove-AzStorageFile'
'Remove-AzStorageShare'
'Set-AzStorageFileContent'
'Set-AzStorageShareQuota'
'Start-AzStorageFileCopy'

Az.Websites 2.14.0
Fixed 'Edit-AzWebAppBackupConfiguration' to pass backup configuration enabled
or not
Added a new parameter '-SoftRestart' for 'Restart-AzWebApp' and 'Restart-
AzWebApp' to perform a soft restart
Updated 'Get-AzWebApp' and 'Get-AzWebAppSlot' to expose 'VirtualNetwork
Integration Info' [#10665]
Set default value for '-RepositoryUrl' of 'New-AzStaticWebApp' [#21202]

Thanks to our community contributors


Allen TechWorld (@hachi1030-Allen), Bug - Invoke-AzCostManagementQuery
cmdlet should handle null value in the response rows (#21180)
Simon Angling (@sangling), Minor Spelling (#21165)
Thomas Pike (@thwpike), Missing formatting for code block (#21130)

9.5.0 - March 2023


Az.Accounts 2.12.0
Fixed the issue that errors related to WAM are thrown when it is not enabled.
[#20871] [#20824]
Updated Azure.Core library to 1.28.0.
Fixed an issue that the helper message about missing modules shows up at the
wrong time. [#19228]
Added a hint message for some resource creation cmdlets when there is another
region which may reduce the costs.
Supported environment initialization and auto-discovery with ArmMetadata of API
version 2022-09-01.

Az.Aks 5.3.1
Fixed the issue that Invoke-AzAksRunCommand will fail when the directory for
parameter CommandContextAttachment contains sub-directories. [#20734]

Az.Automanage 1.0.0

General availability for module Az.Automanage

Az.Automation 1.9.1

Fixed bug: Runbooks Name Pattern failures.

Az.CloudService 1.2.0
Upgraded the api version to 2022-09-04.
Upgraded the api version of referenced network to 2022-07-01.

Az.CognitiveServices 1.13.0

Updated CognitiveServices PowerShell to use 2022-12-01 version.


Added new CognitiveServices CommitmentPlan and Association cmdlets.
Added MultiRegionSetting support for CognitiveServices Account cmdlets.

Az.Compute 5.5.0

Added breaking change message for 'New-AzVmss'.


Added '-PerformancePlus' parameter to 'New-AzDiskConfig'
Added 'MaxSurge' to Set-AzVmssRollingUpgradePolicyCommand
Added support for 'latest' in 'Get-AzvmImage' '-Version' parameter
Added 'CompletionPercent' property to PSDisk object.

Az.ContainerInstance 3.2.0

Added 'priority' property to Container Group properties


Added 'Confidential' sku type to Container Group Skus

Az.ContainerRegistry 3.0.2
Updated Azure.Core to 1.28.0.

Az.CosmosDB 1.9.1
Updated Azure.Core to 1.28.0.

Az.Databricks 1.5.0
Upgraded API version to 2023-02-01

Az.DataFactory 1.16.13
Updated ADF .Net SDK version to 9.2.0
Added AzureBlobFS sasUri and sasToken properties in ADF
Added AzureBlobStorage containerUri and authenticationType properties in ADF
Added support copyComputeScale And pipelineExternalComputeScale in
IntegrationRuntime

Az.EventHub 3.2.2

Added breaking change description for parameter 'MessageRetentionInDays', which


would be deprecated and would be replaced by 'RetentionTimeInHours'

Az.FrontDoor 1.10.0
Fixed New-AzFrontDoorWafPolicy cmdlet to support adding Tags for the Azure
Frontdoor waf policy

Az.IotHub 2.7.5
Updated IoT Hub Management SDK to version 4.2.0 (api-version 2021-07-02)
Fixed 'Get-AzIoTHub' to work with DigiCert hubs

Az.KeyVault 4.9.2

Updated Azure.Core to 1.28.0.

Az.ManagedServiceIdentity 1.1.1

Upgraded to API version 2023-01-31.


Federated identity credentials GA version is available now.

Az.Network 5.5.0
Updated cmdlets to add new property of 'Snat' in Azure Firewall Policy.
'New-AzFirewallPolicySnat'
'New-AzFirewallPolicy'
'Set-AzFirewallPolicy'
Fixed a bug that reverts classic fw private ranges to default when doing get & set
Onboarded 'Microsoft.Monitor/accounts' to private link cmdlets

Az.PolicyInsights 1.6.0
Added support for policy attestations.

Az.RecoveryServices 6.3.0
Supported using managed disks for replication for HyperV to Azure provider in
Azure Site Recovery

Az.Relay 1.0.4
Added breaking change message for cmdlets.
'Set-AzRelayNamespace'
'Get-AzRelayOperation'

Az.Resources 6.5.3
Updated behavior of Get-AzPolicyDefinition which previously returned all definitions
when -Id was provided with a nonexistent policy definition id. Fixed to correctly
throw a 404 exception in this case.

Az.Security 1.4.0
Updated Alerts cmdlets:
'Get-AzSecurityAlert'
'Set-AzSecurityAlert'
Moving Security Contacts to be based on the latest API version '2020-01-01-
preview' with backward compatibility support

Az.ServiceBus 2.2.0
Upgraded API version to 2022-10-01-preview
Fixed a bug for 'Set-AzServiceBusQueue'

Az.ServiceFabric 3.1.1

Added support for Windows 2022 server vm image.


This enables cluster operations with Windows 2022 server vm image

Az.Sql 4.4.0

Fixed identity assignment in 'Set-AzSqlDatabase' cmdlet


Added new parameters to 'New-AzSqlDatabase', 'Get-AzSqlDatabase', 'Set-
AzSqlDatabase', 'New-AzSqlDatabaseCopy', 'New-AzSqlDatabaseSecondary'
cmdlets
AssignIdentity
EncryptionProtector
UserAssignedIdentityId
KeyList
KeysToRemove
FederatedClientId
Added 'ExpandKeyList' and 'KeysFilter' parameters to 'Get-
AzSqlDatabaseGeoBackup' and 'Get-SqlDeletedDatabaseBackup'
Added new cmdlets for Per DB CMK
'Revalidate-AzSqlDatabaseTransparentDataEncryptionProtector'
'Revert-AzSqlDatabaseTransparentDataEncryptionProtector'
'Revalidate-AzSqlServerTransparentDataEncryptionProtector'
'Revalidate-AzSqlInstanceTransparentDataEncryptionProtector'
Added an optional parameter 'SecondaryType' to:
'Set-
AzSqlDatabaseInstanceFailoverGroup'
'New-AzSqlDatabaseInstanceFailoverGroup'
Az.StackHCI 1.4.3
Removed manual installation for Az.Accounts from Az.StackHCI.
Removed verbose while importing modules.

Az.Storage 5.4.1
Updated Azure.Core to 1.28.0.

Az.StorageMover 1.0.0
General availability for module Az.StorageMover
Updated StorageMover API version to 2023-03-01

Az.Synapse 2.3.0

Upgraded Azure.Analytics.Synapse.Artifacts to 1.0.0-preview.17


Updated 'New-AzSynapseSparkPool' and 'Update-AzSynapseSparkPool' to support
for setting spark pool isolated compute by '-EnableIsolatedCompute'
Updated 'New-AzSynapseSparkPool' and 'Update-AzSynapseSparkPool' to support
for setting spark pool node size to 'XLarge', 'XXLarge', 'XXXLarge'

Az.Websites 2.13.0
Added a new parameter '-CopyIdentity' for 'New-AzWebAppSlot' to copy the
identity from the parent app to the slot.
Updated 'New-AzWebAppSSLBinding' to support -WhatIf parameter

Thanks to our community contributors


Brett Miller (@brettmillerb), Corrected syntax for ConfirmAction (#20902)
Dave Neeley (@daveneeley), Clarify behavior of AcountEnabled and Password
(#21006)
Hiroshi Yoshioka (@hyoshioka0128), Typo "udpate"→"update" (#20810)
@meenalsri
Update New-AzSynapseRoleAssignment.md (#20905)
Update Remove-AzSynapseRoleAssignment.md (#20906)
Added note for scenario when an SPN role assignment is listed (#20907)
@sushil490023, Update Reference to latest swagger for Runbook Cmdlets (#20803)
9.4.0 - February 2023

Az.Accounts 2.11.2

Supported Web Account Manager on ARM64-based Windows systems. Fixed an


issue where 'Connect-AzAccount' failed with error 'Unable to load DLL
'msalruntime_arm64''. [#20700]
Enabled credential to be found only by applicationId while tenant was not matched
when accquire token. [#20484]
When Az.Accounts ran in parallel, the waiters were allowed to wait infinitely to avoid
throw exception in automation enviroment. [#20455]

Az.Aks 5.3.0

Added parameter '-AadProfile' for 'New-AzAksCluster' and 'Set-AzAksCluster'


Added parameter '-NodeHostGroupID' for 'New-AzAksCluster' and parameter '-
HostGroupID' for 'New-AzAksNodePool'

Az.ApplicationInsights 2.2.2

Added parameter validation for 'Get-AzApplicationInsights' [#20697]

Az.Compute 5.4.0

Added '-SkipIdentity', '-PathUserIdentity', '-IsTest' parameter to 'Set-


AzVMAEMExtension'
Added 'ConsistencyMode' parameter to 'New-AzRestorePoint'.
Updated the storage account type value in several locations from the outdated
'StandardLRS' to the current 'Standard_LRS'.
Filled in missing parameter descriptions across multiple parameters and improved
some existing parameter descriptions.
Updated Compute PS to use the new .Net SDK version 59.0.0. This includes an
approved breaking change for a non-functional feature.
The type of the property 'Source' of type
'Microsoft.Azure.Management.Compute.Models.GalleryDataDiskImage',
'Microsoft.Azure.Management.Compute.Models.GalleryOSDiskImage', and
'Microsoft.Azure.Management.Compute.Models.GalleryImageVersionStorageProfile'
has changed from
'Microsoft.Azure.Management.Compute.Models.GalleryArtifactVersionSource' to
'Microsoft.Azure.Management.Compute.Models.GalleryDiskImageSource'.
Updated the broken 'UbuntuLTS' image alias to use its original sku version of '16.04-
LTS' instead of the nonexistent image '20.04-LTS'. This fixes an issue introduced in
the version 5.3.0 release.
Updated Set-AzVMRunCommand and Set-AzVmssRunCommand ScriptLocalPath
parameter set to work with Linux and with files that have comments.
Added '-TargetExtendedLocation' parameter to 'New-AzGalleryImageVersion' and
'Update-AzGalleryImageVersion'
Added '-AllowDeletionOfReplicatedLocation' to 'Update-AzGalleryImageVersion'

Az.DataFactory 1.16.12
Updated ADF .Net SDK version to 9.0.0

Az.DataProtection 1.1.0
Added support for Immutable backup vaults
Added Cross subscription restore flag for backup vaults
Added Soft delete setting for backup vaults
Fixed issue with Set-AzDataProtectionMSIPermission command
Replaced Get-InstalledModule with Get-Module -ListAvailable
Added New-AzDataProtectionSoftDeleteSettingObject command

Az.EventHub 3.2.1
Fixed 'New-AzEventHubAuthorizationRuleSASToken' cmdlet which was returning
wrong skn value

Az.Monitor 4.4.1

Removed default value for time window for autoscale profile [#20660]
'Get-AzAutoscaleSetting'
'New-AzAutoscaleSetting'

Az.Network 5.4.0
Fixed a bug that does not enable to set Perform SNAT to Always
Fixed the incorrect type of '-TotalBytesPerSession' in 'New-
AzNetworkWatcherPacketCapture'

Az.RecoveryServices 6.2.0
Added support for enable/disable Public Network Access and PrivateEndpoints
Added support for Immutable Vaults
Added support for RetainRecoveryPointsAsPerPolicy in Disable-
AzRecoveryServicesBackupProtection cmdlet. Now user can suspend backups and
retain RPs as per policy
Added List Recovery Point expiry time
Added RecoveryServices, RecoveryServices.Backup,
RecoveryServices.Backup.CrossRegionRestore management SDK
Added support for non-UTC time zones with standard policy for workloadType
IaasVM, MSSql, AzureFiles

Az.RedisCache 1.7.1
Updated 'Get-AzRedisCacheLink' and 'New-AzRedisCacheLink' to print
'PrimaryHostName', 'GeoReplicatedPrimaryHostName', 'ServerRole', and
'LinkedRedisCacheLocation'.

Az.Resources 6.5.2

Fixed query issue when objectId in assignment is empty for 'Get-DenyAssignment'


Fixed an issue where running deployment cmdlets with '-WhatIf' throws exception
when formatting results with nested array changes

Az.Sql 4.3.0

Added an optional parameter 'HAReplicaCount' to 'Restore-AzSqlDatabase'


Added new cmdlets for managed instance DTC
'Get-AzSqlInstanceDtc'
'Set-
AzSqlInstanceDtc'
Added 'TargetSubscriptionId' to 'Restore-AzSqlInstanceDatabase' in order to enable
cross subscription restore
Enabled support for UserAssignedManagedIdentity in Auditing
Fixed WorkspaceResourceId parameter value in 'Set-AzSqlServerAudit'

Az.StackHCI 1.4.2
Added Remote Support terms and conditions for HCI device types.
Unified Resource Group support for both Azure Stack HCI and Arc for server
resources.
Enhanced error feedback and logging in the Register-AzStackHCI cmdlet.
Bug fixes and improvements in Azure Arc for servers enablement in Register-
AzStackHCI cmdlet.
Improved parameter validations in the Register-AzStackHCI cmdlet.
Enabled Managed System Identity (MSI) for Registration in Fairfax Cloud.
Minor bug fixes and improvements.

Az.Storage 5.4.0
Added a warning message for the upcoming breaking change when creating a
Storage account
'New-AzStorageAccount'
Removed the ValidateSet of StandardBlobTier parameter
'Copy-AzStorageBlob'
'Set-AzStorageBlobContent'
'Start-AzStorageBlobCopy'

Az.TrafficManager 1.2.0

Added a new optional parameter 'AlwaysServe' for endpoints.

Thanks to our community contributors


Arun Sabale (@Ar-Sa), Fix example 1 in Set-AzVirtualNetworkPeering.md (#20588)
Hiroshi Yoshioka (@hyoshioka0128)
Fixed typo "resouce group"→"resource group" (#20664)
Typo "resouce group"→"resource group" (#20713)

9.3.0 - January 2023

Az.Accounts

Supported Web Account Manager (WAM) as an opt-in interactive login experience.


Enable it by 'Update-AzConfig -EnableLoginByWam True'.
Optimized the mechanism for assembly loading.
Enabled AzKeyStore with keyring in Linux.
Fixed a typo in GetAzureRmContextAutosaveSetting.cs changing the cmdlet class
name to GetAzureRmContextAutosaveSetting
Removed survey on error message in 'Resolve-AzError'. [#20398]

Az.Aks
Added parameter '-EnableEncryptionAtHost' for 'New-AzAksCluster' and 'New-
AzAksNodePool'
Added parameter '-EnableUltraSSD' for 'New-AzAksCluster' and 'New-
AzAksNodePool'
Added parameter '-NodeKubeletConfig' for 'New-AzAksCluster', '-KubeletConfig'
for 'New-AzAksNodePool'
Added parameter '-NodeLinuxOSConfig' for 'New-AzAksCluster', '-LinuxOSConfig'
and 'New-AzAksNodePool'
Added parameter '-NodeMaxSurge' for 'New-AzAksCluster', '-MaxSurge' for 'New-
AzAksNodePool' and 'Update-AzAksNodePool'
Added parameter '-PPG' for 'New-AzAksCluster' and 'New-AzAksNodePool'
Added parameter '-SpotMaxPrice' for 'New-AzAksNodePool'
Added parameter '-EnableFIPS' for 'New-AzAksCluster' and 'New-AzAksNodePool'
Added parameter '-AutoScalerProfile' for 'New-AzAksCluster' and 'Set-AzAksCluster'
Added parameter '-GpuInstanceProfile' for 'New-AzAksCluster' and 'New-
AzAksNodePool'
Added parameter '-EnableUptimeSLA' for 'New-AzAksCluster' and 'Set-
AzAksCluster'
Added parameter '-EdgeZone' for 'New-AzAksCluster'

Az.ApiManagement

Updated description of ResourceId param 'New-AzApiManagementBackend' and


'Set-AzApiManagementBackend' cmdlet [#16868]

Az.ApplicationInsights
Enabled output object enumerating for 'Get-AzApplicationInsights' [#20225]

Az.Automation
Updated Example: Start-AzAutomationRunbook should pass ordered dictionary for
parameters [#20408]

Az.Batch
Added new properties 'CurrentNodeCommunicationMode' (read only) and
'TargetCommunicationMode' of type 'NodeCommunicationMode' to 'PSCloudPool'.
Valid values for 'NodeCommunicationMode': Default, Classic, Simplified
When the 'PSCloudPool' is updated with a new 'TargetCommunicationMode'
value, the Batch service will attempt to update the pool to the new value the next
time the pool is resized down to zero compute nodes and back up.
'PSPrivateLinkServiceConnectionState''s 'ActionRequired' property required has
been renamed to 'ActionsRequired'. The old property has been marked as obsolete,
and now just returns the new property. This should not impact existing consumers.

Az.Compute

Removed the image 'Win2008R2SP1' from the list of available images and
documentation. This image is no longer available on the backend so the client tools
need to sync to that change.
Fixed a bug for creating Linux VM's from SIG/Community Gallery Images
Added 'ImageReferenceId' string parameter to the 'New-AzVmssConfig' cmdlet. This
allows gallery image references to be added for the Confidential VM feature.
Added 'SecurityEncryptionType' and 'SecureVMDiskEncryptionSet' string parameters
to the 'Set-AzVmssStorageProfile' cmdlet for the Confidential VM feature.

Az.ContainerRegistry
Fixed bug in 'Get-AzContainerRegistryTag' to show correct tags [#20528]

Az.Monitor
Fixed bug for 'Remove-AzDataCollectionRuleAssociation' [#20207]
Added support for test notifications cmdlets
'Test-AzActionGroup'
Fixed start time parameter description of 'Get-AzActivityLog' [#20409]

Az.Network

Added samples for retrieving Private Link IP Configuration using 'New-


AzApplicationGatewayPrivateLinkIpConfiguration' with fix [#20440]
Added 'DdosProtectionPlan' property in 'AzPublicIpAddress'
Updated mapping in 'AzPublicIpAddress' to always show/create DdosSettings
Fixed a bug that added Ddos related properties when viewing PublicIpAddress and
DdosProtectionPlan objects
Fixed a Bug for Set-AzIpGroup cmdlet to support the '-WhatIf' parameter
Fixed a Bug for 'Add-AzLoadBalancerFrontendIpConfig', 'Add-
AzLoadBalancerProbeConfig', 'Add-AzLoadBalancerBackendAddressPoolConfig',
'Set-AzLoadBalancer', 'New-AzLoadBalancerRuleConfig', 'Remove-
AzLoadBalancerInboundNatRuleConfig' cmdlets to support the '-WhatIf' parameter.
[#20416]
Fixed a bug for DestinationPortBehavior in 'Get-
AzNetworkWatcherConnectionMonitor', 'New-
AzNetworkWatcherConnectionMonitor' powershell command by adding this
properties to get and set the DestinationPortBehavior information. [#15996]

Az.RedisCache

Added optional parameter 'PreferredDataArchiveAuthMethod' in 'Export-


AzRedisCache'
Added optional parameter 'PreferredDataArchiveAuthMethod' in 'Import-
AzRedisCache'
Added 4 additional properties for a geo replication link: 'PrimaryHostName',
'GeoReplicatedPrimaryHostName', 'ServerRole', and 'LinkedRedisCacheLocation'in
'Get-AzRedisCacheLink' and 'New-AzRedisCacheLink'

Az.Resources
Fixed issue introduced in previous fix for 'Set-AzPolicySetDefinition'
InternalServerError when the initiative is too large [#20238], which will remove space
in value.
Fixed 'Get-AzRoleAssignment' BadRequest when scope is '/' [#20323]

Az.SecurityInsights
Fixed for 'Update-AzSentinelAlertRule' fails when using '-TriggerThreshold 0'
[#20417]

Az.Sql

Added a parameter named 'UseIdentity' for 'Set-AzSqlServerAudit', 'Set-


AzSqlDatabaseAudit', 'Set-AzSqlServerMSSupportAudit'
Added 'IsManagedIdentityInUse' property to the output of 'Get-
AzSqlServerMSSupportAudit'
Added 'PreferredEnclaveType' parameter to 'New-AzSqlDatabase', 'Get-
AzSqlDatabase' and 'Set-AzSqlDatabase' cmdlet

Az.StackHCI

Added support for arc extensions which depend on HCI cluster's IMDS endpoints.
Az.Storage
Return ListBlobProperties in blob list result
'Get-AzStorageBlob'
Output AllowedCopyScope in get account result
'Get-AzStorageAccount'

Az.Websites
Fixed 'Import-AzWebAppKeyVaultCertificate' to use certificate naming convention
same as portal [#19592]

Thanks to our community contributors


Pavel Lyalyakin (@bahrep), New-AzDiskConfig.md: fixed a copy-pasto (#20514)
Eugene Ogongo (@eugeneogongo), Update Images.json (#18654)
Hiroshi Yoshioka (@hyoshioka0128), Typo "resouce"→"resource" (#20441)
Paul Gledhill (@pmgledhill102), Spelling mistake 'Accpeted' (#20380)
Cameron Sowder (@sowderca), Fixed typo in Get-AzContextAutosaveSetting class
name: GetzureRmContextAutosaveSetting -> GetAzureRmContextAutosaveSetting
(#20420)

9.2.0 - December 2022

Az.Accounts
Enabled caching tokens when logging in with a client assertion. This fixed the
incorrectly short lifespan of tokens.
Upgraded target framework of Microsoft.Identity.Client to net461 [#20189]
Stored 'ServicePrincipalSecret' and 'CertificatePassword' into 'AzKeyStore'.
Updated the reference of Azure PowerShell Common to 1.3.67-preview.

Az.Aks

Bumped API version to 2022-09-01


Added parameter '-NodeOsSKU' for 'New-AzAksCluster' and parameter '-OsSKU' for
'New-AzAksNodePool'
Added parameter '-Mode' for 'New-AzAksNodePool' and 'Update-AzAksNodePool'
Added property '-NodeImageVersion' for the output of 'Get-
AzAksNodePool'[#19893]
Added parameter '-NodePoolLabel' for 'Set-AzAksCluster', '-NodeLabel' for 'New-
AzAksNodePool' and 'Update-AzAksNodePool'
Added parameter '-NodePoolTag' for 'New-AzAksCluster' and 'Set-AzAksCluster', '-
Tag' for 'New-AzAksNodePool' and 'Update-AzAksNodePool'

Az.ApplicationInsights

Supported Workbook function. Below is the new cmdlet


'Get-AzApplicationInsightsMyWorkbook'
'Get-AzApplicationInsightsWorkbook'
'Get-AzApplicationInsightsWorkbookRevision'
'Get-AzApplicationInsightsWorkbookTemplate'
'New-AzApplicationInsightsMyWorkbook'
'New-AzApplicationInsightsWorkbook'
'New-AzApplicationInsightsWorkbookTemplate'
'New-AzApplicationInsightsWorkbookTemplateGalleryObject'
'Remove-AzApplicationInsightsMyWorkbook'
'Remove-AzApplicationInsightsWorkbook'
'Remove-AzApplicationInsightsWorkbookTemplate'
'Update-AzApplicationInsightsMyWorkbook'
'Update-AzApplicationInsightsWorkbook'
'Update-AzApplicationInsightsWorkbookTemplate'

Az.Compute
Fixed issue found for 'Set-AzVmssVMRunCommand' [#19985]
Fixed 'Get-AzVm' cmdlet when parameter '-Status' is provided, return property
'OsName', 'OsVersion' and 'HyperVGeneration'
Fixed 'New-AzVM' cmdlet when creating VM with bootdiagnostic storage causes
exception 'Kind' cannot be null.

Az.CosmosDB

Added support for Cosmos DB Service related cmdlets.

Az.DataFactory

Updated ADF .Net SDK version to 8.0.0

Az.DataProtection
Fixed spacing issues in Set-AzDataProtectionMSIPermission.ps1

Az.EventHub
Added NamespaceV2 cmdlets for EventHub

Az.KeyVault
Fixed certificate export parameter issue in 'Add-AzKeyVaultKey' [#19623]
Fixed CertificateString decoding issue in 'Import-AzKeyVaultCertificate'
Shifted the location of key CVM release policy to GitHub [#19984]
Added fallback logic (reading default CVM policy from a local copy) if fetching
default CVM Policy from GitHub failed.

Az.Monitor

Fixed bug for 'New-AzActivityLogAlert' and 'Update-AzActivityLogAlert' [#19927]

Az.Network

Added optional parameters 'CustomBlockResponseStatusCode' and


'CustomBlockResponseBody' parameter to
'AzApplicationGatewayFirewallPolicySettings'
Added a new cmdlet to get the application gateway waf manifest and rules
'Get-AzApplicationGatewayWafDynamicManifest'

Az.RecoveryServices
Added support for passing DiskEncryptionSetId for Cross region restore
Fixed the pagination bug in 'Get-AzRecoveryServicesAsrProtectableItem' for the
V2ARCM scenario.
Fixed 'IncludeDiskId' property for 'New-ASRReplicationProtectedItem' cmdlet of
H2A

Az.Resources
Added cmdlet 'Get-AzADOrganization'
Fixed 'Set-AzPolicySetDefinition' InternalServerError when the initiative is too large
[#20238]
Az.ServiceBus
Added NamespaceV2 cmdlets for ServiceBus.

Az.SignalR

Updated to API version 2022-08-01-preview


Added support for custom domain. Added new cmdlets New-
AzWebPubSubCustomCertificate, Get-AzWebPubSubCustomCertificate, Remove-
AzWebPubSubCustomCertificate, New-AzWebPubSubCustomDomain, Get-
AzWebPubSubCustomDomain, Remove-AzWebPubSubCustomDomain.
Added support for event listeners in hub settings. Added new cmdlets New-
AzWebPubSubEventHubEndpointObject, New-
AzWebPubSubEventNameFilterObject.

Az.StackHCI

Enabled system-assigned identity on HCI cluster resource registration and repair


registration flow.
Added error message in the command Register-AzStackHCI if Arc is not enabled.
Added default region confirmation prompt if the region is not mentioned in the
command Register-AzStackHCI.
Added general logging improvements.
Added logic that skipping the Arc SPN permission check in Register-AzStackHCI if a
customer doesn't have the required permissions to read Arc SPN credential.
Added deprecation message for the command Test-AzStackHCIConnection.
Customers can use Invoke-AzStackHciConnectivityValidation from the module
AzStackHCI.EnvironmentChecker for connectivity verification tests.

Az.Storage

Supported MaxPageSize, Include, and Filter parameters for listing encryption scopes
'Get-AzStorageEncryptionScope'
Supported excludePrefix, includeDeleted, and many new schema fields in Blob
Inventory
'New-AzStorageBlobInventoryPolicyRule'

Az.Synapse
Added breaking change message for '-SparkConfigFilePath'. It will be deprecated
around the middle of December.
Updated 'New-AzSynapseSparkPool' and 'Update-AzSynapseSparkPool' to support
for setting spark pool configuration artifact by '-SparkCongifuration'. '-
SparkCongifuration' is an alternative of parameter '-SparkConfigFilePath'.

Az.Websites
Added Tag parameter for 'New-AzWebApp' and 'New-AzWebAppSlot'
Fixed 'Set-AzWebApp' and 'Set-AZWebAppSlot' to rethrow exception when Service
Principal/User doesn't have permission to list web app configuration. [#19942]

Thanks to our community contributors


@Ajay1250, The example was using the wrong command (#20237)
Hiroshi Yoshioka (@hyoshioka0128), Typo "resouce"→"resource" (#20321)
Mats Estensen (@matsest), [Az.Tools.Installer]: Updates for a new minor/patch
version (#20022)
Matthew Burleigh (@mburleigh), fix typos (#20020)
Mo Zaatar (@mzaatar), Change letter case in example of New-
AzStorageBlobSASToken (#20018)
@patchin404, Updates Enable-AzCdnCustomDomainCustomHttps Doc (#20165)
Robin Malik (@robinmalik), Update New-AzADAppCredential.md (#20317)
@SherrySahni, container name not supported with upper case (#20012)
@sushil490023, Adding PS Cmdlets for Azure Automation Python3 operation
(#19598)
Thomas Pike (@thwpike), Typo Fix (#20087)

9.1.0 - November 2022

Az.Accounts

Updated 'Get-AzSubscription' to retrieve subscription by Id rather than listed all the


subscriptions from server if subscription Id is provided. [#19115]

Az.CognitiveServices
Updated CognitiveServices PowerShell to use 2022-10-01 version.

Az.Compute
Fixed EdgeZone does not pass to VM for 'New-AzVM' 'SimpleParameterSet'
[#18978]
Added 'ScriptFilePath' parameter set for 'Set-AzVMRunCommand' and 'Set-
AzVmssVMRunCommand' to allow users to pass in the path of the file that has the
run command script
Added '-AsJob' optional parameter to 'Remove-AzVMExtension' cmdlet.
Added '-EdgeZone' optional parameter for 'Get-AzComputeResourceSku' and 'New-
AzSnapshotUpdateConfig' cmdlets.
Added Disk Delete Optional parameters 'OsDisk Deletion Option' and 'Delete
Option' to the 'Set-AzVmssStorageProfile' (OS Disk) and 'Add-AzVmssDataDisk'
(Data Disk)
Improved printed output for 'Get-AzComputeResourceSku'
Updated 'Get-AzHost' cmdlet logic to return Host for '-ResourceId' parameterset.
Added '-OSDiskSizeGB' optional parameter for 'Set-AzVmssStorageProfile'.
Improved cmdlet description for 'Set-AzVM' and added examples.
Updated property mapping for parameter 'Encryption' of 'New-
AzGalleryImageVersion'
Updated list format to display all VmssVmRunCommand properties for 'Get-
AzVmssVmRunCommand'
Updated 'Get-AzGallery', 'New-AzGallery', 'Update-AzGallery', 'Get-
AzGalleryImageDefinition', 'Get-AzGalleryImageVersion', 'New-AzVm' and 'New-
AzVmss' to support community galleries

Az.Databricks

Added 'RequiredNsgRule' parameter in the 'Update-AzDatabricksWorkspace'.

Az.DataFactory

Updated ADF .Net SDK version to 7.0.0

Az.DataProtection

Fixed list parameter set for 'Get-AzDataProtectionBackupVault'

Az.EventGrid

Updated to use the 2022-06-15 API version.


Added new features:
Partner topics
Partner topic event subscriptions
Partner namespaces
Partner namespace keys
Partner configurations
Partner registrations
Verified partners
Channels

Az.EventHub
Added readonly Status property in EventHub Namespace

Az.Functions
Added warning logs to detect Az context switching in Get-AzFunctionApp

Az.KeyVault
Bumped API version to 2022-07-01
Added 'Undo-AzKeyVaultManagedHsm' to recover deleted managed HSM

Az.ManagedServiceIdentity

Supported Create/Get/Update/Remove Federated Identity Credentials on a User


Assigned Managed Identity
'Get-AzFederatedIdentityCredentials'
'New-AzFederatedIdentityCredentials'
'Remove-AzFederatedIdentityCredentials'
'Update-AzFederatedIdentityCredentials'
Supported List Associated Resources on a User Assigned Managed Identity
'Get-AzUserAssignedIdentityAssociatedResource'

Az.Migrate
Added parameter 'CacheStorageAccountId' to 'Initialize-
AzMigrateReplicationInfrastructure'
Added support for OS Disk Swap and Test Migrate Subnet Selection

Az.Network
Added possible value 'LocalGateway' for parameter 'GatewayType'
'New-AzVirtualNetworkGateway'
Exposed 'ExtendedLocation' and 'VNetExtendedLocationResourceId' for
'VirtualNetworkGateway'
'Get-AzVirtualNetworkGateway'
Added new cmdlet to get firewall learned ip prefixes
'Get-AzFirewallLearnedIpPrefix'
Fixed a bug that does not update firewall policy application, network and nat rules'
descriptions even though description is provided via description parameter
Updated 'New-AzIpConfigurationBgpPeeringAddressObject' to remove validate null
or empty check for CustomAddress in Azure Virtual Network Gateway
Updated 'New-AzVirtualNetworkGateway' to add validate null or empty check for
CustomAddress in Azure Virtual Network Gateway
Updated cmdlets to add new property of 'VirtualNetworkGatewayPolicyGroup' and
'VpnClientConnectionConfiguration' in Azure Virtual Network Gateway
'New-AzVirtualNetworkGateway'
'Set-AzVirtualNetworkGateway'
Added new cmdlets to create
'New-AzVirtualNetworkGatewayPolicyGroup'
'New-AzVirtualNetworkGatewayPolicyGroupMember'
'New-AzVpnClientConnectionConfiguration'
Added message in breaking change attribute to notify that load balancer sku
default behavior will be changed
'New-AzLoadBalancer'
Added cmdlet preview to notify customers to use default value or leave null for load
balancer probe threshold property
'New-AzLoadBalancerProbeConfig'
'Set-AzLoadBalancerProbeConfig'
'Add-AzLoadBalancerProbeConfig'

Az.RecoveryServices
Added support for cross zonal restore for ZRS vaults for non-ZonePinned VM
Fixed bug with Update-AzRecoveryServicesAsrProtectionContainerMapping
Added new scenarios: EZ-to-AZ, EZ-to-AZ, EZ-to-EZ
Removed 'VmName' from non A2A scenarios of 'New-
AzRecoveryServicesAsrReplicationProtectedItem' as it is not applicable

Az.Resources

Fixed parameter 'Count' for


Get-AzADApplication
Get-AzADServicePrincipal
Get-AzADUser
Polished preview warning message for:
Add-AzADGroupMember
Get-AzADGroupMember
Remove-AzADGroupMember
Fixed a 'NullReferenceException' when deploying a JSON template using Bicep
extensibility
Added '-AsJob' to support running 'Register-AzResourceProvider' as a Job

Az.Sql
Added new cmdlets for CRUD operations on SQL server IPv6 Firewall rules
'Get-
AzSqlServerIpv6FirewallRule'
'New-AzSqlServerIpv6FirewallRule'
'Remove-
AzSqlServerIpv6FirewallRule'
'Set-AzSqlServerIpv6FirewallRule'
StorageContainerSasToken parameter in the 'Start-
AzSqlInstanceDatabaseLogReplay' cmdlet is now optional

Az.StackHCI

Supported WDAC compliant APIs


Fixed module versions of dependent PS modules
Updated Remote Support cmdlets to check device type between HCIv2 and
AzureEdge

Az.Storage
Supported generate DataLakeGen2 Sas token with Encryption scope
'New-AzDataLakeGen2SasToken'
Supported blob type conversions in sync blob copy
'Copy-AzStorageBlob'
Supported create/upgrade storage account with Keyvault from another tenant and
access Keyvault with FederatedClientId
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported find blobs in a container with a blob tag filter sql expression
'Get-AzStorageBlobByTag'
Migrated following Azure File dataplane cmdlets from 'Microsoft.Azure.Storage.File'
to 'Azure.Storage.Files.Shares'
'Get-AzStorageFileHandle'
'Close-AzStorageFileHandle'
Az.Websites
Fixed 'Publish-AzWebApp' to use latest publish API when deploying war package
[#19791]

Thanks to our community contributors


@alekiv, Fix typo in Example 1 (#19727)
Johan Vanneuville (@JohanVanneuville), Update New-
AzGalleryApplicationVersion.md (#19858)
Simon Bass (@nimsarr), Fix typos (#19912)
@wooch82, Update New-AzApplicationInsightsContinuousExport.md (#19802)

9.0.1 - October 2022

Az.Accounts
Upgraded Azure.Core to 1.25.0 and Azure.Identity to 1.6.1
Upgraded Microsoft.Identity.Client to 4.46.2 and
Microsoft.Identity.Client.Extensions.Msal to 2.23.0
Upgraded Microsoft.ApplicationInsights to 2.13.1
[Breaking Change] Changed target framework of
AuthenticationAssemblyLoadContext to netcoreapp3.1.
[Breaking Change] Removed built-in environment of Azure Germany
Supported tenant domain as input while using 'Connect-AzAccount' with parameter
'Tenant'. [#19471]
Used the ArgumentCompleter attribute to replace the dynamic parameters of 'Get-
AzContext'. [#18041]
Fixed issue that module cannot be imported when required file is locked [#19624]

Az.Advisor
Bumped API version to 2020-01-01

Az.Aks
[Breaking Change] Removed the alias 'Install-AzAksKubectl' of 'Install-AzAksCliTool'.

Az.ApiManagement
[Breaking Change] Changed the type of parameter 'Sku' from Enum to String in
'Add-AzApiManagementRegion', 'New-AzApiManagement' and 'Update-
AzApiManagementRegion'.

Az.Attestation
[Breaking Change] Replaced 'New/Remove/Get-AzAttestation' with
'New/Remove/Get-AzAttestationProvider'
Added 'Get-AzAttestationDefaultProvider' and 'Update-AzAttestationProvider'
Upgraded API version from 2018-09-01-preview to 2020-10-01

Az.Automation
Added cmdlets 'Remove-AzAutomationHybridRunbookWorker', 'Remove-
AzAutomationHybridRunbookWorkerGroup', 'Set-
AzAutomationHybridRunbookWorkerGroup', 'Get-
AzAutomationHybridRunbookWorker', 'Get-
AzAutomationHybridRunbookWorkerGroup', 'Move-
AzAutomationHybridRunbookWorker', 'New-AzAutomationHybridRunbookWorker',
'New-AzAutomationHybridRunbookWorkerGroup' for Hybrid Runbook Worker
group management.

Az.Compute
Added the 'TimeCreated' property to the Virtual Machine and Virtual Machine Scale
Set models.
Added Confidential VM functionality to multiple cmdlets.
Added new parameter 'SecureVMDiskEncryptionSet' to cmdlet 'Set-
AzDiskSecurityProfile'.
Added new parameters 'SecureVMDiskEncryptionSet' and
'SecurityEncryptionType' to cmdlet 'Set-AzVMOSDisk'.
Improved cmdlet descriptions and parameter descriptions for VM/VMSS creation.
Added the 'BaseRegularPriorityCount' integer property to the following cmdlets:
'New-AzVmssConfig' and 'Update-AzVmssConfig'
Added the 'RegularPriorityPercentage' integer property to the following cmdlets:
'New-AzVmssConfig' and 'Update-AzVmssConfig'
Added Breaking Changes for Add-AzVMAdditionalUnattendContent and Get-
AzGallery cmdlets
Added '-DiskControllerType' property to the following cmdlets: 'New-AzVm', 'New-
AzVmss', 'New-AzVmConfig', 'Set-AzVmssStorageProfile'
Az.Databricks
Upgraded API version to 2022-04-01-preview
Modified description of 'EnableNoPublicIP' parameter in the 'New-
AzDatabricksWorkspace'. [#14381]

Az.DataFactory

Updated ADF .Net SDK version to 6.4.0

Az.EventGrid

Add remaining advanced filters


StringNotContains
StringNotBeginsWith
StringNotEndsWith
NumberInRange
NumberNotInRange
IsNullOrUndefined
IsNotNull

Az.EventHub

Most cmdlets in Az.EventHub module have been migrated to a new format and
would witness breaking changes. Please refer our migration guide
https://go.microsoft.com/fwlink/?linkid=2204690 to know breaking changes in
detail.

Az.Functions

Enabled support to create Node 18 Preview and Java 17 Preview function apps (fixes
issues #19184 and #18925)
Removed the logic that checks for AzureGermanCloud in the cloud endpoints (fixes
issue #19667)
Hided generated unused cmdlets (fixes #16666)

Az.KeyVault
Fixed the exception content swallowed issue when exception.Response is null
[#19531]
Added the existing parameters 'Exportable', 'Immutable', 'UseDefaultCVMPolicy',
and 'ReleasePolicyPath'
to the parameter sets 'InteractiveCreate',
'InputObjectCreate', and 'ResourceIdCreate'.

Az.MarketplaceOrdering
Upgraded API version to 2021-01-01.

Az.Migrate
Updated ApiVersion to 2022-05-01
Added support for pause and resume
'Suspend-AzMigrateServerReplication'
'Resume-AzMigrateServerReplication'
[Breaking Change] Removed unless cmdlets
'Get-AzMigrateReplicationEligibilityResult'
'Get-AzMigrateReplicationProtectionIntent'
'Get-AzMigrateReplicationVaultSetting'
'Get-AzMigrateSupportedOperatingSystem'
'New-AzMigrateReplicationProtectionIntent'
'New-AzMigrateReplicationVaultSetting'

Az.Monitor
[Breaking Change] Upgraded API version for ActivityLogAlert from 2017-04-01 to
2020-10-01, affected cmdlets:
'Get-AzActivityLogAlert'
'Remove-AzActivityLogAlert'
'Set-AzActivityLogAlert' replaced by 'New-AzActivityLogAlert'
'Disable-AzActivityLogAlert' replaced by 'Update-AzActivityLogAlert'
'Enable-AzActivityLogAlert' replaced by 'Update-AzActivityLogAlert'
'New-AzActionGroup' replaced by 'New-AzActivityLogAlertActionGroupObject'
[Breaking Change] Upgraded API version for DiagnosticSetting from 2017-05-01-
preview to 2021-05-01-preview
'Get-AzDiagnosticSettingCategory'
'Get-AzDiagnosticSetting'
'New-AzDiagnosticSetting'
'Remove-AzDiagnosticSetting'
'Set-AzDiagnosticSetting' replaced by 'New-AzDiagnosticSetting'
'New-AzDiagnosticDetailSetting' replaced by 'New-
AzDiagnosticSettingLogSettingsObject' and 'New-
AzDiagnosticSettingMetricSettingsObject'
'Get-AzSubscriptionDiagnosticSettingCategory' replaced by 'Get-
AzEventCategory'
[Breaking Change] Upgraded API version for Autoscale from 2015-04-01 to 2022-
10-01
'Get-AzAutoscaleSetting'
'Remove-AzAutoscaleSetting'
'Add-AzAutoscaleSetting' replaced by 'New-AzAutoscaleSetting'
'New-AzAutoscaleNotification' replaced by 'New-AzAutoscaleNotificationObject'
'New-AzAutoscaleProfile' replaced by 'New-AzAutoscaleProfileObject'
'New-AzAutoscaleRule' replaced by 'New-AzAutoscaleScaleRuleObject'
'New-AzAutoscaleWebhook' replaced by 'New-
AzAutoscaleWebhookNotificationObject'
[Breaking Change] Upgraded API version for ScheduledQueryRule from 2018-04-16
to 2021-08-01
'Get-AzScheduledQueryRule'
'New-AzScheduledQueryRuleAlertingAction'
'New-AzScheduledQueryRuleAznActionGroup'
'New-AzScheduledQueryRule'
'New-AzScheduledQueryRuleLogMetricTrigger'
'New-AzScheduledQueryRuleSchedule'
'New-AzScheduledQueryRuleSource'
'New-AzScheduledQueryRuleTriggerCondition'
'Remove-AzScheduledQueryRule'
'Set-AzScheduledQueryRule'
'Update-AzScheduledQueryRule'

Az.MySql

Added 'PublicNetworkAccess' to 'Update-AzMySqlServer' [#19189]

Az.Network

Added a new endpoint switch 'AzureArcVM' in 'New-


AzNetworkWatcherConnectionMonitor'
Updated 'New-AzVirtualNetworkGatewayConnection' to support bypassing the
ExpressRoute gateway when accessing private-links
Updated 'Update-AzCustomIpPrefix' to support no-internet advertise
CustomIpPrefix
Updated 'New-AzNetworkInterface' to support create/update nic with
DisableTcpStateTracking property
Updated cmdlet to support specifying a VirtualRouterAsn on Virtual Hub
'New-AzVirtualHub'
'Update-AzVirtualHub'
Updated cmdlet to support specifying an ASN on VPN Gateway
'New-AzVpnGateway'
'Update-AzVpnGateway'
Updated 'New-AzRoutingConfiguration' to support bypassing NVA for spoke vNet
traffic
Updated 'Update-AzCustomIpPrefix' to support new parameters: Asn, Geo,
ExpressRouteAdvertise
Updated cmdlets to enable verification on client certificate revocation by using a
new property VerifyClientRevocation in ApplicationGatewayClientAuthConfiguration
'New-AzApplicationGatewayClientAuthConfiguration'
'Set-AzApplicationGatewayClientAuthConfiguration'
Updated 'New-AzCustomIpPrefix' to support IPv4 Parent/Child CustomIpPrefix
creation.
Added Uppercase Transform in New-AzApplicationGatewayFirewallCondition
Added DdosProtectionMode parameter in New-AzPublicIpAddress
Added ProbeThreshold parameter to Load Balancer Probe
'Add-AzLoadBalancerProbeConfig'
'New-AzLoadBalancerProbeConfig'
'Set-AzLoadBalancerProbeConfig'
Updated 'New-AzApplicationGatewayFirewallPolicyManagedRuleOverride' to
support specifying an action for a managed rule override in Application Gateway
WAF Policy
Added breaking change enum values/notification for the following network
manager cmdlets
'Deploy-AzNetworkManagerCommit'
'New-AzNetworkManagerConnectivityConfiguration'
'New-AzNetworkManagerConnectivityGroupItem'
'New-AzNetworkManagerSecurityAdminRule'
'New-AzNetworkManagerSecurityAdminConfiguration'
'New-AzNetworkManagerAddressPrefixItem'
'New-AzNetworkManager'
Added 'EnableUDPLogOptimization' parameter to 'New-AzFirewall'
Fixed a bug that does not return HubIPAddresses and PrivateIPAddress during a
Get-AzFirewall command
Replaced 'IdentifyTopFatFlow' parameter with 'EnableFatFlowLogging' parameter to
'New-AzFirewall'
Fixed a bug not able to add MSSQL application rules to an AZURE FIREWALL POLICY
Onboard Project AzureML Registries to Private Link Common Cmdlets
Az.RecoveryServices
[Breaking Change] Added fix for Enable-AzRecoveryServicesBackupProtection
cmdlet. Resolved the null reference issue by making policy a mandatory parameter.
[Breaking Change] Removed status filter from Get-
AzRecoveryServicesBackupContainer command
Added SubTasks Duration for IaasVM job

Az.Resources

Fixed NullReferenceException issue in 'New-AzRoleAssignment' [#19793]

Az.SecurityInsights

Changed 'Az.SecurityInsights' to autorest-based module

Az.ServiceBus
Most cmdlets in Az.ServiceBus module have been migrated to a new format and
would witness breaking changes. Please refer our migration guide
https://go.microsoft.com/fwlink/?linkid=2204584 to know breaking changes in
detail.

Az.Sql

Added new fields to the 'Get-AzSqlInstanceDatabaseLogReplay' cmdlet


Improved error handling in the 'Stop-AzSqlInstanceDatabaseLogReplay' cmdlet
Added StorageContainerIdentity parameter in the 'Start-
AzSqlInstanceDatabaseLogReplay' cmdlet
Removed the following cmdlets: 'Clear-
AzSqlServerAdvancedThreatProtectionSetting' and 'Clear-
AzSqlDatabaseAdvancedThreatProtectionSetting'
Added the following cmdlets: 'Get-
AzSqlInstanceDatabaseAdvancedThreatProtectionSetting', 'Get-
AzSqlInstanceAdvancedThreatProtectionSetting', 'Update-
AzSqlInstanceDatabaseAdvancedThreatProtectionSetting' and 'Update-
AzSqlInstanceAdvancedThreatProtectionSetting'
Removed the following aliases: 'Enable-AzSqlServerAdvancedThreatProtection',
'Disable-AzSqlServerAdvancedThreatProtection', 'Get-
AzSqlServerThreatDetectionSetting', 'Remove-AzSqlServerThreatDetectionSetting',
'Set-AzSqlServerThreatDetectionSetting', 'Get-
AzSqlDatabaseThreatDetectionSetting', 'Set-AzSqlDatabaseThreatDetectionSetting'
and 'Remove-AzSqlDatabaseThreatDetectionSetting'
Changed the returned object for the following cmdlets: 'Get-
AzSqlServerAdvancedThreatProtectionSetting' and 'Get-
AzSqlDatabaseAdvancedThreatProtectionSetting'
Changed the parameters for the following cmdlets: 'Update-
AzSqlServerAdvancedThreatProtectionSetting' and 'Update-
AzSqlDatabaseAdvancedThreatProtectionSetting'. Only 'Enable' parameter is now
supported.
Changed endpoint used in SQL Server and SQL Instance from AD Graph to MS
Graph

Az.StackHCI
Made GraphAccessToken parameter obsolete in Register-AzStackHCI, Unregister-
AzStackHCI and Set-AzStackHCI cmdlets. This is because Az.StackHCI module does
not depend on Azure AD anymore.
Include API version for all Microsoft.AzStackHCI related AZ-Resource calls

Az.Storage

Migrated following Azure File dataplane cmdlets from 'Microsoft.Azure.Storage.File


11.2.2' to 'Azure.Storage.Files.Shares 12.10.0'
'Get-AzStorageFile'
'Get-AzStorageFileCopyState'
'Get-AzStorageShare'
'Get-AzStorageShareStoredAccessPolicy'
'New-AzStorageDirectory'
'New-AzStorageFileSasToken'
'New-AzStorageShare'
'New-AzStorageShareSasToken'
'New-AzStorageShareStoredAccessPolicy'
'Remove-AzStorageDirectory'
'Remove-AzStorageFile'
'Remove-AzStorageShare'
'Remove-AzStorageShareStoredAccessPolicy'
'Set-AzStorageShareQuota'
'Set-AzStorageShareStoredAccessPolicy'
'Start-AzStorageFileCopy'
'Stop-AzStorageFileCopy'
Migrated Get/List blob to always use 'Azure.Storage.Blobs'
'Get-AzStorageBlob'
Fix create file sas failure with file object pipeline
'New-AzStorageFileSasToken'

Az.Synapse
[Breaking Change] Updated models of Synapse Link for Azure Sql Database
Updated 'New-AzSynapseWorkspace' and 'Update-AzSynapseWorkspace' to
support for user assigned managed identity (UAMI) by '-
UserAssignedIdentityAction' and '-UserAssignedIdentityId'
Added EnablePublicNetworkAccess parameter to 'New-AzureSynapseWorkspace'
and 'Update-AzSynapseWorkspace'

Thanks to our community contributors


Aliaksei Venski (@AliakseiVenski), Update New-
AzServiceBusAuthorizationRuleSASToken.md (#19521)
Jason (@moo2u2), Fixed multiple hostnames param for app gateway http listener
(#19451)
Jan-Hendrik Peters [MSFT] (@nyanhp), [Connect-AzConnectedMachine] Fixes error
with return value processing (#19542)
@rahulbissa2727, PS changes for Uppercase Transform (#19546)

8.3.0 - September 2022

Az.Accounts

Supported returning all subscriptions with specified name while using 'Get-
AzSubscription' with parameter 'SubscriptionName'. [#19295]
Fixed null reference exception when cmdlet uses AzureRestOperation [#18104]
Updated survey message and settings

Az.Aks

Added support of 'FQDN' in 'Import-AzAksCredential' [#17711]


Added hint when 'Import-AzAksCredential' meets bad formatted kubernetes
configuration file [#16741]
Added parameter '-NodeResourceGroup' for 'New-AzAksCluster'. [#19014]
Added support for 'Auto Upgrade' in 'New-AzAksCluster' and 'Set-AzAksCluster'.
Added support for 'Http Proxy' in 'New-AzAksCluster' and 'Set-AzAksCluster'.
Added parameter 'DisableLocalAccount' and 'DiskEncryptionSetID' in 'New-
AzAksCluster' and 'Set-AzAksCluster'.
Added logic for installing 'kubelogin' in 'Install-AzAksKubectl'.

Az.ApiManagement
Added warning message for upcoming breaking change: changed the type of
parameter Sku from Enum to String
Supported GraphQL Specification Format

Az.AppConfiguration
Added cmdlets 'Get-AzAppConfigurationDeletedStore' and 'Clear-
AzAppConfigurationDeletedStore'
Updated ApiVersion to 2022-05-01.

Az.Automation

Fixed bug: Export-AzAutomationRunbook no longer adds extra '' to file names


[#11101]
Fixed bug: Get-AzAutomationDscCompilationJobOutput returns complete
summaries [#12322]
Fixed bug: Get-AzAutomationDscNode [#10404]
Fixed bug: Get-AzAutomationJob fails for some jobIds

Az.Batch

Fixed a bug wherein creating a new JobSchedule does not properly submit Output
Files.

Az.Compute
Added Trusted Launch Generic Breaking Change warning for 'New-AzVM', 'New-
AzDisk' and 'New-AzVMSS' cmdlets.
'Get-AzVMRunCommand' now shows all the properties of VMRunCommand in a list
format.
Added new Parameter '-PublicIpSku' to the 'NewAzVM' cmdlet with acceptable
values : 'Basic' and 'Standard'.
Added Generic Breaking Change PublicIpSku Warning and Overridden '-Zone' logic
when '-PublicIpSku' is explicitly provided.
Added Disk Delete Optional parameters 'OsDisk Deletion Option' and 'Delete
Option' to the 'Set-AzVmssStorageProfile' (OS Disk) and 'Add-AzVmssDataDisk'
(Data Disk)
Improved printed output for 'Get-AzComputeResourceSku'
Updated 'Update-AzVm' to give constructive error messages when empty variables
are passed in parameters. [#15081]
Added 'Zone' and 'IntentVMSizeList' optional parameters to the cmdlet 'New-
AzProximityPlacementGroup'.
Added parameters to Gallery cmdlets for Community Galleries
For 'New-AzGalleryImageVersion', 'CVMEncryptionType' and
'CVMDiskEncryptionSetID' added as keys for parameter '-Target'.

Az.DesktopVirtualization
Corrected parameter description of '-Force' in 'Remove-AzWvdUserSession'.

Az.EventGrid
Updated to use the 2021-12-01 API version.
Added new features:
System topic
System topic event subscription
System topic event subscription delivery attributes
Updated cmdlets:
'New-AzEventGridDomain':
Add new optional parameters to support auto creation of topic with first
subscription.
Add new optional parameters to support auto deletion of topic with last
subscription.
Add optional parameters to support azure managed identity
'New-AzEventGridTopic'/'Update-AzEventGridTopic' :
Add optional parameters to support azure managed identity
'New-AzEventGridSubscription '/'Update-AzEventGridSubscription ':
Add new optional parameters to support advanced filtering on arrays.
Add new optional parameters to support delivery attribute mapping.
Add new optional parameters to support storage queue message ttl.

Az.EventHub
In the upcoming major breaking change release in October 2022, Az.EventHub
would be migrating most cmdlets to a new format
for a better powershell
experience and as a result would witness breaking changes. Please refer our
migration guide to know more https://go.microsoft.com/fwlink/?linkid=2204690 .

Az.Functions

Made PowerShell 7.2 the default when creating a PowerShell function app

Az.KeyVault

Fixed parameter validation logic of '-UseDefaultCVMPolicy'


Added parameter 'ContentType' in 'Import-AzKeyVaultCertificate' to support
importing pem via certificate string
Allowed 'DnsName' in 'New-AzKeyVaultCertificatePolicy' to accept an empty list
[#18954]

Az.MarketplaceOrdering
Added a warning message for an upcoming breaking change to 'Get-
AzMarketplaceTerms'.

Az.Monitor

Added breaking change warning messages for


'ActivityLogAlert'
'DiagnosticSetting'
'ScheduledQueryRule'
'Autoscale'

Az.Network
Added breaking change notification for 'Get-AzFirewall', 'New-AzFirewall', 'Set-
AzFirewall' and 'New-AzFirewallHubIpAddress'

Az.OperationalInsights

Added new cmdlets for Table resource: 'New-AzOperationalInsightsRestoreTable',


'New-AzOperationalInsightsSearchTable', 'New-
AzOperationalInsightsTable','Remove-AzOperationalInsightsTable','Update-
AzOperationalInsightsTable', 'Convert-AzOperationalInsightsMigrateTable'
Added new property 'DefaultDataCollectionRuleResourceId' to 'Set-
AzOperationalInsightsWorkspace' and to 'New-AzOperationalInsightsWorkspace'
cmdlets

Az.PolicyInsights
Updated parameter documentation for Get-AzPolicyState

Az.RecoveryServices
Added support for Archive smart tiering for AzureVM and MSSQL workloads.

Az.Resources
Fixed bug '-Password' overwrite '-PasswordProfile' in 'New-AzADUser' [#19265]
Exposed 'EmployeeOrgData' 'Manager' for 'Get-AzADUSer' [#18205]
Exposed parameter '-Count' for 'Get-AzADUser' [#16874]

Az.ServiceBus
In the upcoming major breaking change release in October 2022, Az.ServiceBus
would be migrating most cmdlets to a new format
for a better powershell
experience and as a result would witness breaking changes. Please refer our
migration guide to know more https://go.microsoft.com/fwlink/?linkid=2204584 .
Added -MinimumTlsVersion to New-AzServiceBusNamespace and Set-
AzServiceBusNamespace

Az.Storage
Supported to create or update Storage account with Azure Files Active Directory
Domain Service Kerberos Authentication
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported create/upgrade storage account by enable sftp and enable localuser
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported manage local user of a storage account
'Set-AzStorageLocalUser'
'Get-AzStorageLocalUser'
'Remove-AzStorageLocalUser'
'New-AzStorageLocalUserSshPassword'
'Get-AzStorageLocalUserKey'
'New-AzStorageLocalUserSshPublicKey'
'New-AzStorageLocalUserPermissionScope'
Supported soft delete DataLake Gen2 item
'Get-AzDataLakeGen2DeletedItem'
'Restore-AzDataLakeGen2DeletedItem'

Az.Synapse

Updated 'New-AzSynapseSparkPool' and 'Update-AzSynapseSparkPool' to support


for setting spark pool dynamic executor allocation by '-
EnableDynamicExecutorAllocation'

Az.Websites
Fixed 'Import-AzWebAppKeyVaultCertificate' to use certificate naming convention
same as Az-CLI

Thanks to our community contributors

Harshit Aggarwal (@harshit283), Onboard EnergyServices to


PrivatelinkCommonCmdlets (#19271)
Jarrad O'Brien (@jarrad-obrien), typo (#19153)
sravani saluru (@sravanisaluru), Update Set-AzSynapseSqlPoolAuditSetting.md
(#18839)

8.2.0 - August 2022

Az.Accounts

Implemented 'SupportsShouldProcess' for 'Invoke-AzRestMethod'


Supported giving suggestions if an Azure PowerShell command cannot be found,
for example when there is a typo in command name.

Az.Aks

Removed the warning messages for MSGraph migration [#18856]

Az.Compute

Added parameters 'PackageFileName', 'ConfigFileName' for 'New-


AzGalleryApplicationVersion'
Az.ConfidentialLedger
General availability of 'Az.ConfidentialLedger'

Az.EventHub

Added -MinimumTlsVersion to New-AzEventHubNamespace and Set-


AzEventHubNamespace
Added -SupportsScaling to New-AzEventHubCluster and Set-AzEventHubCluster to
support self serve clusters
Deprecation warning on a few parameters in cluster cmdlets that will be deprecated
in the November major release

Az.KeyVault

Removed the warning messages for MSGraph migration [#18856]

Az.Migrate

Fixed a cross-subscription issue

Az.Network

Updated cmdlets to add new property of 'ExplicitProxy' in Azure Firewall Policy.


'New-AzFirewallPolicyExplicitProxy'
'New-AzFirewallPolicy'
'Set-AzFirewallPolicy'
Added new cmdlets to create packet captures for Network Watcher:
'New-AzNetworkWatcherPacketCaptureV2'
'New-AzPacketCaptureScopeConfig'
Added support for CustomV2 ssl policies for Application Gateway.
Added 'CustomV2' to the validation set of 'PolicyType'
Added 'TLSv1_3' to the validation set of 'MinProtocolVersion'
Removed validation for null or empty cipher suites list since there can be empty
cipher suites list for min protocol version of tls1.3
Network Watcher Feature Change: Added new paramenter i.e. AzureVMSS as source
endpoint in ConnectionMonitor.
'New-AzNetworkWatcherConnectionMonitorEndpointObject'
Added 'IdentifyTopFatFlow' parameter to 'AzureFirewall'
'New-AzFirewall'
Enabled Azure Firewall forced tunneling by default
(AzureFirewallManagementSubnet and ManagementPublicIpAddress are required)
whenever basic sku firewall is created.
'New-AzFirewall'
Fixed bug that causes an overflow due to incorrect SNAT private ranges IP
validation.
Added new cmdlets to create/manage L4(TCP/TLS) objects for ApplicationGateway:
'Get-AzApplicationGatewayListener'
'New-AzApplicationGatewayListener'
'Add-AzApplicationGatewayListener'
'Set-AzApplicationGatewayListener'
'Remove-AzApplicationGatewayListener'
'Get-AzApplicationGatewayBackendSetting'
'New-AzApplicationGatewayBackendSetting'
'Add-AzApplicationGatewayBackendSetting'
'Set-AzApplicationGatewayBackendSetting'
'Remove-AzApplicationGatewayBackendSetting'
'Get-AzApplicationGatewayRoutingRule'
'New-AzApplicationGatewayRoutingRule'
'Add-AzApplicationGatewayRoutingRule'
'Set-AzApplicationGatewayRoutingRule'
'Remove-AzApplicationGatewayRoutingRule'
Updated cmdlet to add TCP/TLS Listener , BackendSetting , RoutingRule support for
Application Gateway:
'New-AzApplicationGateway'
Updated cmdlets to add TCP/TLS protocol support for Application gateway Health
Probe configuration:
'Set-AzApplicationGatewayProbeConfig'
'Add-AzApplicationGatewayProbeConfig'
'New-AzApplicationGatewayProbeConfig'
Updated cmdlets to add basic sku support on Azure Firewall and Azure Firewall
Policy:
'New-AzFirewall'
'New-AzFirewallPolicy'
'Set-AzFirewallPolicy'
Added new cmdlets to create/manage authorization objects for ExpressRoutePort:
'Add-AzExpressRoutePortAuthorization'
'Get-AzExpressRoutePortAuthorization'
'Remove-AzExpressRoutePortAuthorization'
Added option parameter 'AuthorizationKey' to cmdlet 'New-AzExpressRouteCircuit'
to allow creating ExpressRoute Circuit on a ExpressRoutePort with a different owner.
Fixed bug that can't display CustomIpPrefix in PublicIpPrefix.
Updated cmdlets to add new property of 'HubRoutingPreference' in VirtualHub and
set property of 'PreferredRoutingGateway' deprecated .
'New-AzVirtualHub'
'Update-AzVirtualHub'
Added optional parameter 'AuxiliaryMode' to cmdlet 'New-AzNetworkInterface' to
enable this network interface as Sirius enabled. Allowed values are None(default)
and MaxConnections.
Multipool feature change: Updated cmdlets to add new optional property:
'ConfigurationPolicyGroups' object for associating policy groups.
'Update-AzVpnServerConfiguration'
'New-AzVpnServerConfiguration'
Multipool feature change: Updated cmdlets to add new optional property:
'P2SConnectionConfiguration' object for specifying multiple Connection
configurations.
'Update-AzP2sVpnGateway'
'New-AzP2sVpnGateway'
Multipool feature change: Added new cmdlets to support CRUD of Configuration
policy groups for VpnServerConfiguration.
'Get-AzVpnServerConfigurationPolicyGroup'
'New-AzVpnServerConfigurationPolicyGroup'
'Update-AzVpnServerConfigurationPolicyGroup'
'Remove-AzVpnServerConfigurationPolicyGroup'
Added new cmdlets for RoutingIntent child resource of VirtualHub.
-'Add-
AzRoutingPolicy'
-'Get-AzRoutingPolicy'
-'New-AzRoutingPolicy'
-'Remove-
AzRoutingPolicy'
-'Set-AzRoutingPolicy'
-'Get-AzRoutingIntent'
-'New-
AzRoutingIntent'
-'Remove-AzRoutingIntent'
-'Set-AzRoutingIntent'
Updated cmdlets to add new option of 'HubRoutingPreference' in RouteServer.
'New-AzRouteServer'
'Update-AzRouteServer'
Fixed bug that can't parse CustomIpPrefixParent parameter from swagger to
powershell.
Added 'Any' operator in New-AzApplicationGatewayFirewallCondition
Made properties 'ApplicationSecurityGroups' and 'IpConfigurations' for
'PrivateEndpoint' updatable in the cmdlet 'Set-AzPrivateEndpoint'
Onboarded Device Update for IoT Hub to Private Link Common Cmdlets

Az.RedisEnterpriseCache

Upgraded API version to 2022-01-01


Az.Resources
Removed the warning messages for MSGraph migration [#18856]
[Breaking Change] Renamed cmdlet from '{}-AzADAppFederatedIdentityCredential'
to '{}-AzADAppFederatedCredential'
[Breaking Change] Renamed '-Id' to '-FederatedCredentialId' for
'Get-AzADAppFederatedCredential'
'Remove-AzADAppFederatedCredential'
'Update-AzADAppFederatedCredential'
Upgraded API version from Beta to 1.0

Az.Sql

Removed the warning messages for MSGraph migration [#18856]


Moved SQL Server and SQL Instance from ActiveDirectoryClient to
MicrosoftGraphClient
Supported cross-subscription Failover Group creation using 'PartnerSubscriptionId'
parameter in 'New-AzSqlDatabaseFailoverGroup' cmdlet

Az.Storage
Added check for storage account sas token is secured with the storage account key.
'New-AzStorageAccountSASToken'
Supported Management Policy rule filter BlobIndexMatch
Added a new cmdlet 'New-
AzStorageAccountManagementPolicyBlobIndexMatchObject'
Added a new parameter 'BlobIndexMatch' in 'New-
AzStorageAccountManagementPolicyFilter'

Az.Synapse

Set 'ResourceGroupName' as optional for 'Set-AzSynapseSqlAuditSetting' cmdlet


Added LastCommitId parameter to 'New-AzureSynapseGitRepositoryConfig'
Fixed the issue that update spark pool version fail by 'Update-AzSynapseSparkPool'

Az.Websites

Fixed 'Publish-AzWebapp' to handle relative paths properly [#18028]

Thanks to our community contributors


Harish Karthic (@hkarthik7), Updated parameter name from -Type to -SkuName
(#18882)
Oscar de Groot (@odegroot), Fix "save as pfx" example (#19003)
@shiftychris, Update New-AzApplicationGatewayFirewallPolicyManagedRuleSet.md
(#18972)

8.1.0 - July 2022

Az.Accounts

Supported exporting and importing configurations by 'Export-AzConfig' and


'Import-AzConfig'.
Fixed an issue that Az.Accounts may fail to be imported in parallel PowerShell
processes. [#18321]
Fixed incorrect access token [#18105]
Upgraded version of Microsoft.Identity.Client for .NET Framework. [#18495]
Fixed an issue that Az.Accounts failed to be imported if multiple environment
variables, which only differ by case, are set. [#18304]

Az.Aks
Added parameter 'CommandContextAttachmentZip' for 'Invoke-
AzAksRunCommand'. [#17454]
Added ManagedIdentity support for Aks[#15656].
Added property 'PowerState' for the output of 'Get-AzAksCluster'[#18271]
Updated the logic of 'Set-AzAksCluster' for parameter 'NodeImageOnly'.
Added parameter 'NodeImageOnly' for 'Update-AzAksNodePool'.
Added parameter 'AvailabilityZone' for 'New-AzAksCluster'. [#18658]

Az.ApplicationInsights

Fixed parameters for Set-AzApplicationInsightsDailyCap [#18315]


Fixed parameter 'DocumentType' for 'New-AzApplicationInsightsContinuousExport'
and 'Set-AzApplicationInsightsContinuousExport' [#18350]
Fixed parameter 'ResourceId' for 'Get-AzApplicationInsights' [#18707]

Az.Compute

Added image alias 'Win2022AzureEditionCore'


Added the '-DisableIntegrityMonitoring' switch parameter to the 'New-AzVM'
cmdlet.
Changed the default behavior for 'New-AzVM' and 'New-AzVmss' when
these conditions are met:

1. '-DisableIntegrityMonitoring' is not true.


2. 'SecurityType' on the SecurityProfile is 'TrustedLaunch'.
3. 'VTpmEnabled' on the SecurityProfile is true.
4. 'SecureBootEnabled' on the SecurityProfile is true.
Now 'New-AzVM' will install
the 'Guest Attestation' extension to the new VM when these conditions are
met.
Now 'New-AzVmss' will install the 'Guest Attestation' extension to the
new Vmss when these conditions are met and installed to all VM instances in
the Vmss.

Added '-UserAssignedIdentity' and '-FederatedClientId' to the following cmdlets:


'New-AzDiskEncryptionSetConfig'
'Update-AzDiskEncryptionSet'
Added '-TreatFailureAsDeploymentFailure' to cmdlets 'Add-AzVmGalleryApplication'
and 'Add-AzVmssGalleryApplication'
Removed Exceptions for when SinglePlacementGroup is set to true in
'OrchestrationMode'

Az.CosmosDB
Added support for partition key and id paths to be part of client encryption policy.
Fixed bug related to Update-AzCosmosDBSqlContainer command on containers
with Client Encryption Policy.

Az.DataFactory
Updated ADF .Net SDK version to 6.3.0

Az.EventHub
Added cmdlets for CRUD operations on EventHub Application Groups. The added
cmdlets include,
-New-AzEventHubApplicationGroup
-Set-
AzEventHubApplicationGroup
-Remove-AzEventHubApplicationGroup
-Get-
AzEventHubApplicationGroup
-New-AzEventHubThrottlingPolicyConfig
Get-AzEventHubNamespace returned a maximum of 100 namespaces for list by
resource groups or list by subscriptions so far. From here onwards, for resource
groups and subscriptions with over a 100 namespaces, the cmdlet will return all the
namespaces. You will not see a change in the cmdlet behaviour if your resource
groups or subscriptions have less than a 100 namespaces.
Added cmdlets for manual approval of EventHubs Private Endpoint Connections.
The added cmdlets include,
-Approve-AzEventHubPrivateEndpointConnection
-
Deny-AzEventHubPrivateEndpointConnection
-Get-
AzEventHubPrivateEndpointConnection
-Remove-
AzEventHubPrivateEndpointConnection
-Get-AzEventHubPrivateLink

Az.KeyVault

Supported importing pem certificate by 'Import-AzKeyVaultCertificate' [#18494]


Supported accepting rotation policy in a JSON file
[Breaking Change] Changed parameter 'ExpiresIn' in 'Set-
AzKeyVaultKeyRotationPolicy' from TimeSpan? to string. It must be an ISO 8601
duration like 'P30D' for 30 days.
[Breaking Change] Changed output properties 'ExpiresIn', 'TimeAfterCreate' and
'TimeBeforeExpiry' of 'Set-AzKeyVaultKeyRotationPolicy' and 'Get-
AzKeyVaultKeyRotationPolicy' from TimeSpan? to string.
Supported creating/updating key with release policy in a Managed HSM
Removed default value for 'EnabledForDeployment',
'EnabledForTemplateDeployment', 'EnabledForDiskEncryption' and
'EnableRbacAuthorization' during the process of key vault creation
Changed default access policies for Key Vault secret, certificate and storage as 'All'

Az.Network

Added support for CustomV2 ssl policies for Application Gateway.


Added 'CustomV2' to the validation set of 'PolicyType'
Added 'TLSv1_3' to the validation set of 'MinProtocolVersion'
Removed validation for null or empty cipher suites list since there can be empty
cipher suites list for min protocol version of tls1.3
[Breaking Change] Changed default value of '-PrivateEndpointNetworkPoliciesFlag'
to 'Disabled' in 'Add-AzVirtualNetworkSubnetConfig' and 'New-
AzVirtualNetworkSubnetConfig'
Fixed bugs that cannot parse virtual network encryption paramemters when
updating exsiting vnet.

Az.PowerBIEmbedded
Updated SKU allowed values to support A7 and A8
Az.RecoveryServices
Fixed delay in long running operations [#18567]

Az.Resources

Added feedback when deleting role assignments even if passthru is not used
Fixed relative path failure in -AsJob scenario [#18084]
Fixed logic of 'createtime' and 'ChangedTime' in 'Get-AzResource --
ExpandProperties'. [#18206]
Fixed role assignment latency for 'New-AzADServicePrincipal' [#16777]

Az.ServiceBus

Added cmdlets for manual approval of Service Bus Private Endpoint Connections.
The added cmdlets include,
-Approve-AzServiceBusPrivateEndpointConnection
-
Deny-AzServiceBusPrivateEndpointConnection
-Get-
AzServiceBusPrivateEndpointConnection
-Remove-
AzServiceBusPrivateEndpointConnection
-Get-AzServiceBusPrivateLink

Az.ServiceFabric
Fixed typo in verbose log message.
Added Tag support for managed cluster create and update

Az.Sql
Added 'GeoZone' option to 'BackupStorageRedundancy' parameter to 'New-
AzSqlDatabase', 'Set-AzSqlDatabase', 'New-AzSqlDatabaseCopy', 'New-
AzSqlDatabaseSecondary', and 'Restore-AzSqlDatabase' to enable create, update,
copy, geo secondary and PITR support for GeoZone hyperscale databases
Added additional input validation to 'Stop-AzSqlInstanceDatabaseLogReplay'
cmdlet to ensure the target database was created by log replay service
Bug fix for cmdlet 'Restore-AzSqlDatabase'. The optional property 'Tags' was not
working as expected
Added isManagedIdentityInUse get parameter for 'Get-AzSqlServerAudit' and 'Get-
AzSqlDatabaseAudit'
Added new cmdlet 'Set-AzSqlInstanceDatabase'

Az.StackHCI
Added support to Stack HCI Cluster
Added support to Stack HCI Extension
Added support to Stack HCI Arc Settings

Az.Storage
Supported BaseBlob DaysAfterCreationGreaterThan in Management Policy
'Add-AzStorageAccountManagementPolicyAction'

Thanks to our community contributors


@ayeshurun, Update SKU allowed values for PowerBI Embedded capacities (#18670)
@JulianePadrao, [SQL] fix for deprecated term (#18620)
@kaushik-ms, powershell changes for new ssl policies in appgw (#18287)
Adrian Leonhard (@NaridaL), fix typo beging -> begin in 3 files (#18391)

8.0.0 - May 2022

Az.Accounts

Added a preview feature allowing user to control the following configurations by


using 'Get-AzConfig', 'Update-AzConfig' and 'Clear-AzConfig':
'DefaultSubscriptionForLogin': Subscription name or GUID. Sets the default
context for Azure PowerShell when logging in without specifying a subscription.
'DisplayBreakingChangeWarning': Controls if warning messages for breaking
changes are displayed or suppressed.
'EnableDataCollection': When enabled, Azure PowerShell cmdlets send telemetry
data to Microsoft to improve the customer experience.
Upgraded System.Reflection.DispatchProxy on Windows PowerShell [#17856]
Upgraded Azure.Identity to 1.6.0 and Azure.Core to 1.24.0

Az.Aks
Removed these aliases:
'Get-AzAks'
'New-AzAks'
'Set-AzAks'
'Remove-AzAks'
Az.ApiManagement
[Breaking change] Replaced parameter 'Sample' by 'Examples' in 'New-
AzApiManagementOperation' and 'Set-AzApiManagementOperation'
Updated APIM .Net SDK version to 8.0.0 / Api Version 2021-08-01

Az.ApplicationInsights

Upgraded API version for ApplicationInsights component to 2020-02-02


Supported Log Analytics workspace-based component by 'New-
AzApplicationInsights' and 'Update-AzApplicationInsights'

Az.Cdn

Upgraded API version to 2021-06-01


Removed deprecated cmdlets
Disable-AzCdnCustomDomain
Enable-AzCdnCustomDomain
Get-AzCdnEdgeNodes
Get-AzCdnProfileSsoUrl
New-AzCdnDeliveryPolicy
Set-AzFrontDoorCdnSecret
Added new cmdlets
Clear-AzFrontDoorCdnEndpointContent
Get-AzFrontDoorCdnEndpointResourceUsage
Get-AzFrontDoorCdnOriginGroupResourceUsage
Get-AzFrontDoorCdnProfileResourceUsage
Get-AzFrontDoorCdnRuleSetResourceUsage
Test-AzFrontDoorCdnEndpointCustomDomain
Test-AzFrontDoorCdnEndpointNameAvailability
Test-AzFrontDoorCdnProfileHostNameAvailability
Update-AzFrontDoorCdnCustomDomainValidationToken
Update-AzFrontDoorCdnRule
Renamed Set cmdlets to Update cmdlets
Added 'Object' suffix to memory object creation cmdlets

Az.Compute

Edited 'New-AzVm' cmdlet internal logic to use the 'PlatformFaultDomain' value in


the 'PSVirtualMachine' object passed to it in the new virtual machine.
Added a new cmdlet named 'Restart-AzHost' to restart dedicated hosts.
Added '-DataAccessAuthMode' parameter to the following cmdlets:
'New-AzDiskConfig'
'New-AzDiskUpdateConfig'
'New-AzSnapshotConfig'
'New-AzSnapshotUpdateConfig'
Added '-Architecture' parameter to the following cmdlets:
'New-AzDiskConfig'
'New-AzDiskUpdateConfig'
'New-AzSnapshotConfig'
'New-AzSnapshotUpdateConfig'
'New-AzGalleryImageDefinition'
Added '-InstanceView' parameter to 'Get-AzRestorePoint'
Added parameter '-ScriptString' to 'Invoke-AzvmRunCommand' and 'Invoke-
AzvmssRunCommand'
Added parameter '-ScaleInPolicyForceDeletion' to 'Update-Azvmss'

Az.ContainerRegistry
Updated parameter types from bool to bool? for 'Update-
AzContainerRegistryRepository' [#17857]
'ReadEnabled'
'ListEnabled'
'WriteEnabled'
'DeleteEnabled'

Az.CosmosDB
Introduced support for creating containers with Client Encryption Policy. The current
supported version of Client Encryption Policy is 1.

Az.DataFactory
Updated ADF .Net SDK version to 6.1.0
Fixed Set-AzDataFactoryV2 -InputObject not correct with PublicNetworkAccess
Parameter

Az.EventHub
Made 'IPRule' and 'VirtualNetworkRule' optional in 'Set-
AzEventHubNetworkRuleSet'.
Deprecated older MSI properties in 'Set-AzEventHubNamespace' and 'New-
AzEventHubNamespace'

Az.Functions

Fixed an issue that New-AzFunctionApp cmdlet should write a warning message


when setting default values for parameters that are not provided.

Az.HealthcareApis
Migrated module to generated codebase.
Added cmdlets:
New/Get/Update/Remove-AzHealthcareApisService
New/Get/Update/Remove-AzHealthcareApisWorkspace
New/Get/Update/Remove-AzHealthcareFhirService
New/Get/Update/Remove-AzHealthcareDicomService
New/Get/Update/Remove-AzHealthcareIoTConnector
New/Get/Remove-AzHealthcareIotConnectorFhirDestination
Get-AzHealthcareFhirDestination

Az.KeyVault
Added 'Rotate' into the list of permissions to keys [#17970]

Az.ManagedServiceIdentity
General availability of 'Az.ManagedServiceIdentity'

Az.Network
Supported 'Microsoft.Network/privateLinkServices' in 'Get-
AzPrivateEndpointConnection' [#16984].
Provided friendly message if resource type is not supported for private endpoint
connection features [#17091].
Added 'DisableIPsecProtection' to 'Virtual Network Gateway'.
Added new cmdlets to create/manage authorization objects for ExpressRoutePort:
'Add-AzExpressRoutePortAuthorization'
'Get-AzExpressRoutePortAuthorization'
'Remove-AzExpressRoutePortAuthorization'
Added option parameter 'AuthorizationKey' to cmdlet 'New-AzExpressRouteCircuit'
to allow creating ExpressRoute Circuit on a ExpressRoutePort with a different owner.
Fix bug that can't display CustomIpPrefix in PublicIpPrefix.
Updated cmdlets to add new property of 'HubRoutingPreference' in VirtualHub and
set property of 'PreferredRoutingGateway' deprecated .
'New-AzVirtualHub'
'Update-AzVirtualHub'
Added optional parameter 'AuxiliaryMode' to cmdlet 'New-AzNetworkInterface' to
enable this network interface as Sirius enabled. Allowed values are None(default)
and MaxConnections.
Multipool feature change: Updated cmdlets to add new optional property:
'ConfigurationPolicyGroups' object for associating policy groups.
'Update-AzVpnServerConfiguration'
'New-AzVpnServerConfiguration'
Multipool feature change: Updated cmdlets to add new optional property:
'P2SConnectionConfiguration' object for specifying multiple Connection
configurations.
'Update-AzP2sVpnGateway'
'New-AzP2sVpnGateway'
Multipool feature change: Added new cmdlets to support CRUD of Configuration
policy groups for VpnServerConfiguration.
'Get-AzVpnServerConfigurationPolicyGroup'
'New-AzVpnServerConfigurationPolicyGroup'
'Update-AzVpnServerConfigurationPolicyGroup'
'Remove-AzVpnServerConfigurationPolicyGroup'

Az.RecoveryServices
Added support for Multi-user authorization using Resource Guard for recovery
services vault.
Added support for cross subscription restore for recovery services vault, modified
storage account to be fetched from target subscription.

Az.Resources

Added cmdlet for Application federated identity credential


'Get-AzADAppFederatedIdentityCredential'
'New-AzADAppFederatedIdentityCredential'
'Remove-AzADAppFederatedIdentityCredential'
'Update-AzADAppFederatedIdentityCredential'
Upgraded and revised 'Get-AzLocation' cmdlet:
Upgraded 'subscriptionClient' for 'Get-AzLocation'. Changed its apiVersion from
2016-01-01 to 2021-01-01.[#18002]
Added all attributes of location info for 'Get-AzLocation', including 'pairedRegion'
and so on. [#18045][#17536]
Support ExtendedLocations by 'Get-AzLocation' [#18046]
Added the following cmdlets to remain in parity with 2021-04-01 API version:
'New-AzHierarchySetting'
'Get-AzHierarchySetting'
'Update-AzHierarchySetting'
'Remove-AzHierarchySetting'
'Get-AzManagementGroupSubscription'
'Get-AzSubscriptionUnderManagementGroup'
'Start-AzTenantBackfill'
'Get-AzTenantBackfillStatus'
'Get-AzManagementGroupNameAvailability'
'Get-AzEntity'
[Breaking Change] Renamed property isSyncedFromOnPremis to
isSyncedFromOnPremise to align with API spec

Az.Security
Added new cmdlet: 'Get-AzSecuritySolution'
Added Alerts Suppression Rules to cmdlets:
'Get-AlertsSuppressionRule'
'Remove-
AlertsSuppressionRule'
'Set-AlertsSuppressionRule'
'New-
AzAlertsSuppressionRuleScope'

Az.ServiceBus

Fixed miscellaneous network rule set typos across module.


Add 'TrustedServiceAccessEnabled' to 'Set-AzServiceBusNetworkRuleSet'

Az.Sql
Added new cmdlet 'Get-AzSqlInstanceEndpointCertificate'
Added parameter 'HighAvailabilityReplicaCount' to 'New-AzSqlElasticPool' and 'Set-
AzSqlElasticPool'

Az.Storage

Supported generate Sas token for DataLakeGen2


'New-AzDataLakeGen2SasToken'
Showed OAuth token in debug log in debug build only
'New-AzStorageContext'
Supported return more file properties when list Azure file
'Get-AzStorageFile'

Az.Synapse
Added support for Synapse Link for Azure Sql Database
Added 'Get-AzSynapseLinkConnection' cmdlet
Added 'Get-AzSynapseLinkConnectionDetailedStatus' cmdlet
Added 'Set-AzSynapseLinkConnection' cmdlet
Added 'Remove-AzSynapseLinkConnection' cmdlet
Added 'Start-AzSynapseLinkConnection' cmdlet
Added 'Stop-AzSynapseLinkConnection' cmdlet
Added 'Set-AzSynapseLinkConnectionLinkTable' cmdlet
Added 'Get-AzSynapseLinkConnectionLinkTable' cmdlet
Added 'Get-AzSynapseLinkConnectionLinkTableStatus' cmdlet
Added 'Update-AzSynapseLinkConnectionLandingZoneCredential' cmdlet
Set 'UploadedTimestamp' when adding package to spark pool by 'Update-
AzSynapseSparkPool'

Az.Websites
Updated 'Get-AzWebApp' and 'Get-AzWebAppSlot' to expose
'VirtualNetworkSubnetId' property [#18042]

Thanks to our community contributors


@bb-froggy, Fixed dead link to the DCR Overview (#17998)
Darryl van der Peijl (@DarrylvanderPeijl), Changing on-premise to on-premises
(#17974)
Hiroshi Yoshioka (@hyoshioka0128), Typo "Github Actions"→"GitHub Actions"
(#18160)
@misbamustaqim, Adding DisableIPsecProtection check(bool) to Virtual Network
Gateway (#18029)
Scott Tang (@scottwtang), Update documentation for Get-
AzApiManagementSubscription cmdlet (#18027)
@SnehaSudhirG, Update Get-AzAutomationScheduledRunbook.md (#18059)

7.5.0 - April 2022


Az.Accounts
Upgraded Microsoft.Rest.ClientRuntime to 2.3.24

Az.Aks

Updated the description of 'Force' in 'Invoke-AzAksRunCommand' [#17756]


Fixed the issue that 'identity' cannot be piped into 'Set-AzAksCluster' [#17376]

Az.ApiManagement
Added warning message for upcoming breaking change.

Az.Batch
Updated Az.Batch to use 'Microsoft.Azure.Batch' SDK version 15.3.0
Add ability to assign user-assigned managed identities to 'PSCloudPool'. These
identities will be made available on each node in the pool, and can be used to
access various resources.
Added 'IdentityReference' property to the following models to support accessing
resources via managed identity:
'PSAzureBlobFileSystemConfiguration'
'PSOutputFileBlobContainerDestination'
'PSContainerRegistry'
'PSResourceFile'
'PSUploadBatchServiceLogsConfiguration'
Added new 'extensions' property to 'PSVirtualMachineConfiguration' on
'PSCloudPool' to specify virtual machine extensions for nodes
Added the ability to specify availability zones using a new property
'NodePlacementConfiguration' on 'VirtualMachineConfiguration'
Added new 'OSDisk' property to 'VirtualMachineConfiguration', which contains
settings for the operating system disk of the Virtual Machine.
The 'Placement' property on 'PSDiffDiskSettings' specifies the ephemeral disk
placement for operating system disks for all VMs in the pool. Setting it to
'CacheDisk' will store the ephemeral OS disk on the VM cache.
Added 'MaxParallelTasks' property on 'PSCloudJob' to control the maximum
allowed tasks per job (defaults to -1, meaning unlimited).
Added 'VirtualMachineInfo' property on 'PSComputeNode' which contains
information about the current state of the virtual machine, including the exact
version of the marketplace image the VM is using.
Added 'RecurrenceInterval' property to 'PSSchedule' to control the interval
between the start times of two successive job under a job schedule.
Added a new 'Get-AzBatchComputeNodeExtension' command, which gets a
specific extension by name, or a list of all extensions, for a given compute node.
Updated Az.Batch'Microsoft.Azure.Management.Batch' SDK version 14.0.0.
Added a new 'Get-AzBatchSupportedVirtualMachineSku' command, which gets
the list of Batch-supported Virtual Machine VM sizes available at a given location.
Added a new 'Get-AzBatchTaskSlotCount' command, which gets the number of
task slots required by a given job.
'MaxTasksPerComputeNode' has been renamed to 'TaskSlotsPerNode', to match
a change in functionality.
'MaxTasksPerComputeNode' will remain as an alias but will be removed in a
coming update.

Az.Cdn
Added breaking change messages for all cmdlets in Az.CDN module

Az.CognitiveServices
Updated CognitiveServices PowerShell to use 2022-03-01 version.
Added 'Get-AzCognitiveServicesAccountModel' cmdlet.

Az.Compute

Added '-ImageReferenceId' parameter to following cmdlets: 'New-AzVm', 'New-


AzVmConfig', 'New-AzVmss', 'Set-AzVmssStorageProfile'
Added functionality for cross-tenant image reference for VM, VMSS, Managed Disk,
and Gallery Image Version creation.
'New-AzGallery' can take in '-Permission' parameter to set its sharingProfile
property.
'Update-AzGallery' can update sharingProfile.
'Get-AzGallery' can take in '-Expand' parameter for expanded resource view.
New parameter set for the following cmdlets to support Shared Image Gallery
Direct Sharing
Get-AzGallery
Get-AzGalleryImageDefinition
Get-AzGalleryImageVersion
Updates and improvements to 'Add-AzVhd'
Added '-DiskHyperVGeneration' and '-DiskOsType' parameters to the
DirectUploadToManagedDisk parameter set for upload to more robust managed
disk settings.
Updated progress output functions so that it works with VHD files with '&'
character in its name.
Updated so that uploading dynamically sized VHD files are converted to fixed
size during upload.
Fixed a bug in uploading a differencing disk.
Automatically delete converted/resized VHD files after upload.
Fixed a bug that indicates '-ResourceGroupName' parameter as optional when it
is actually mandatory.

Az.ContainerInstance

Supported empty directory volume and secret volume for creating container group
[#17410]

Az.DataFactory
Updated ADF .Net SDK version to 6.0.0

Az.EventHub
Deprecating older MSI related fields in New-AzEventHubNamespace and Set-
AzEventHubNamespace

Az.KeyVault
Supported getting random number from managed HSM by 'Get-
AzKeyVaultRandomNumber'
Skipped subscription connection status validation for Az.KeyVault.Extension
[#17712]
Enabled public network access setting

Az.Kusto

Supported inline script resource (creation of script with content instead of sas
token)
Added managed identity support to EventGrid
Added databaseRouting (Single/Multi) to all data connections
Added PublicIPType to cluster
Az.Network
Fixed 'ArgumentNullException' in 'Add-AzureRmRouteConfig' when
'RouteTable.Routes' is null.

Az.RecoveryServices
Added support for multiple backups per day (hourly) Enhanced policy for
workloadType AzureVM.

Az.Resources

Fixed redundant quotes in list pagination [#17667]


Added cmdlet 'Update-AzADGroup' [#17514]
Updated API version to beta for group member related cmdlet to allow service
principal to be add, get and delete from group [#16698]
Added parameter '-OwnedApplication' for 'Get-AzADApplication' to get
applications owned by current user
Added parameter '-Web' for 'Update-AzADApplication' [#16750]

Az.Security
Added new cmdlets for security Automations API

Az.StackHCI
Updated firewall rules for Attestation network to block all other traffic
Updated cluster to ignore Attestation network

Az.Storage
Supported DaysAfterLastTierChangeGreaterThan in Management Policy
'Add-AzStorageAccountManagementPolicyAction'
Fixed the issue that upload blob might fail on Linux [#17743]
'Set-AzStorageBlobContent'
Supported AllowPermanentDelete when enable blob soft delete
'Enable-AzStorageBlobDeleteRetentionPolicy'
Added breaking change warning message for upcoming cmdlet breaking change
'Get-AzStorageFile'
Az.Synapse
Added support for Synapse Azure Active Directory (Azure AD) only authentication
Added 'Get-AzSynapseActiveDirectoryOnlyAuthentication' cmdlet
Added 'Enable-AzSynapseActiveDirectoryOnlyAuthentication' cmdlet
Added 'Disable-AzSynapseActiveDirectoryOnlyAuthentication' cmdlet

Az.Websites
Updated 'New-AzWebAppContainerPSSession' with CmdletDeprecation Attribute
[#16646]
Updated 'Restore-AzDeletedWebApp' to fix issue that prevents the cmdlet from
working on hosts with a locale is anything different from 'en-US'

Thanks to our community contributors


Aleksandar Nikolić (@alexandair), Fix the UniqueName property in the examples
(#17826)
@enevoj, Markup rendering issue? (#17732)
@jeremytanyz, Update Set-AzStorageFileContent.md (#17805)
Martin Bentancour (@mbentancour), Fix DateTime issue restoring deleted webapp
(#16308)
Preben Huybrechts (@pregress), Perform null check before accessing it (#16552)
Ryan Buckman (@ryan-buckman), update example 1 command description to
match the ApiRevision arg in code sample (#17741)

7.4.0 - April 2022

Az.Accounts

Added 'SshCredentialFactory' to support get ssh credential of vm from msal.


Fixed the bug of cmdlet fails when -DefaultProfile is set to service principal login
context. [#16617]
Fixed the issue that authorization does not work in Dogfood environment

Az.AppConfiguration

Added parameter 'PublicNetworkAccess' in 'New-AzAppConfigurationStore' and


'Update-AzAppConfigurationStore'
Az.ApplicationInsights
Added breaking change warnings for upcoming Az.ApplicationInsights 2.0.0

Az.Cdn

Added breaking change messages for upcoming breaking change release of version
2.0.0

Az.Compute
Updated 'New-AzVM' to create a new storage account for boot diagnostics if one
does not exist. This will prevent the cmdlet from using a random storage account in
the current subscription to use for boot diagnostics.
Added 'AutomaticRepairAction' string parameter to the 'New-AzVmssConfig' and
'Update-AzVmss' cmdlets.
Updated 'Get-AzVm' to include 'GetVirtualMachineById' parameter set.
Edited the documentation for the cmdlet 'Set-AzVMADDomainExtension' to ensure
the example is accurate.
Improved description and examples for disk creation.
Added new parameters to 'New-AzRestorePoint' and 'New-
AzRestorePointCollection' for copying Restore Points and Restore Point Collections.
Added 'Zone' and 'PlacementGroupId' Parameters to 'Repair-
AzVmssServiceFabricUpdateDomain'.
Edited 'New-AzVmss' logic to better check for null properties when the parameter
'OrchestrationMode' is used.

Az.CosmosDB

Introduced support for client encryption key resource management required for
CosmosDB Client-Side Encryption by adding support for creating, updating and
retrieving client encryption keys with following cmdlets: 'Get-
AzCosmosDbClientEncryptionKey', 'New-AzCosmosDbClientEncryptionKey' and
'Update-AzCosmosDbClientEncryptionKey'

Az.DataFactory

Updated ADF .Net SDK version to 5.4.0

Az.Functions
Exposed PowerShell 7.2 stack definition for function app creation in Functions V4
only

Az.HDInsight

This release migrates Microsoft.Azure.Graph SDK to MicrosoftGraph SDK.

Az.KeyVault

Fixed a bug to continue visiting 'NextPageLink' when listing key vaults from ARM
API

Az.Network
Added support for retrieving the state of packet capture even when the
provisioning state of the packet capture was failure
'Get-AzNetworkWatcherPacketCapture'
Added support for accepting Vnet, Subnet and NIC resources as the
TargetResourceId for the following cmdlets
'Set-AzNetworkWatcherFlowLog'
'New-AzNetworkWatcherFlowLog'

Az.OperationalInsights

Removed capacity validation in new and update cluster cmdlets as validation exists
on server side.
Extended error message on base class for extended information.
Bug fix - prevent exceptions while using StorageInsight cmdlets.
Bug fix - when updating a cluster, it's SKU was set even if no value was passed.

Az.PostgreSql
Added parameter PublicNetworkAccess for PostgreSQL single server related cmdlets
[#17263]

Az.RecoveryServices
Added support for Trusted VM backup and Enhanced policy for WorkloadType
AzureVM.
Added support for disabling hybrid backup security features in 'Set-
AzRecoveryServicesVaultProperty' cmdlet. The feature can be re-enabled by setting
'DisableHybridBackupSecurityFeature' flag to False.

Az.Resources
Removed '-ApplicationId' from 'New-AzADServicePrincipal' 'SimpleParameterSet'
[#17256]
Added 'New-AzResourceManagementPrivateLink', and 'New-
AzPrivateLinkAssociation' cmdlets
Added authorization related cmdlets:
'Get-AzRoleAssignmentSchedule'
'Get-AzRoleAssignmentScheduleInstance'
'Get-AzRoleAssignmentScheduleRequest'
'Get-AzRoleEligibilitySchedule'
'Get-AzRoleEligibilityScheduleInstance'
'Get-AzRoleEligibilityScheduleRequest'
'Get-AzRoleEligibleChildResource'
'Get-AzRoleManagementPolicy'
'Get-AzRoleManagementPolicyAssignment'
'New-AzRoleAssignmentScheduleRequest'
'New-AzRoleEligibilityScheduleRequest'
'New-AzRoleManagementPolicyAssignment'
'Remove-AzRoleManagementPolicy'
'Remove-AzRoleManagementPolicyAssignment'
'Stop-AzRoleAssignmentScheduleRequest'
'Stop-AzRoleEligibilityScheduleRequest'
'Update-AzRoleManagementPolicy'
Added 'Get-AzResourceManagementPrivateLink', 'Remove-
AzResourceManagementPrivateLink', 'Get-
AzResourceManagementPrivateLinkAssociation' and 'Remove-
AzResourceManagementPrivateLinkAssociation' cmdlets

Az.ServiceBus

Fixed that 'New-AzServiceBusAuthorizationRuleSASToken' returns invalid token.


[#12975]

Az.ServiceFabric

Added support for Ubuntu 20.04 vm image.


This enables cluster operations with Ubuntu 20.04 vm image using AZ
powershell.
Az.Sql
Added parameter 'ServicePrincipalType' to 'New-AzSqlInstance' and 'Set-
AzSqlInstance'
[Breaking change] Removed 'Get-AzSqlDatabaseTransparentDataEncryptionActivity'
Added property 'CurrentBackupStorageRedundancy' and
'RequestedBackupStorageRedundancy' in the outputs of Managed Instance CRUD
commands
Added optional property 'Tag' to 'Restore-AzSqlDatabase'
Added new cmdlets for managing Server Trust Certificates
'New-AzSqlInstanceServerTrustCertificate'
'Get-AzSqlInstanceServerTrustCertificate'
'Remove-AzSqlInstanceServerTrustCertificate'
Added new cmdlets for managing Managed Instance Link
'New-AzSqlInstanceLink'
'Get-AzSqlInstanceLink'
'Remove-AzSqlInstanceLink'
'Set-AzSqlInstanceLink'
Added support for DataWarehouse cross tenant and cross subscription restore
operations to 'Restore-AzSqlDatabase' cmdlet

Az.Storage

Updated examples in reference documentation for 'Close-AzStorageFileHandle'


Supported create storage context with customized blob, queue, file, table service
endpoint
'New-AzStorageContext'
Fixed copy blob failure on Premium Storage account, or account enabled
hierarchical namespace
'Copy-AzStorageBlob'
Supported create account SAS token, container SAS token, blob SAS token with
EncryptionScope
'New-AzStorageAccountSASToken'
'New-AzStorageContainerSASToken'
'New-AzStorageBlobSASToken'
Supported asynchronous blob copy run on new API version
'Start-AzStorageBlobCopy'
Fixed IpRule examples in help
'Add-AzStorageAccountNetworkRule'
'Remove-AzStorageAccountNetworkRule'
'Update-AzStorageAccountNetworkRuleSet'
Az.Synapse
Upgraded Azure.Analytics.Synapse.Artifacts to 1.0.0-preview.14
Fixed the issue that following cmdlets only shows 100 entries
'Get-AzSynapseRoleAssignment' cmdlet
'Get-AzSynapsePipelineRun' cmdlet
'Get-AzSynapseTriggerRun' cmdlet
'Get-AzSynapseActivityRun' cmdlet
Fixed the issue that there should be an error message when removing a
dependency pipeline

Az.Websites

Fixed 'Set-AzWebAppSlot' to support MinTlsVersion version update [#17663]


Fixed 'Set-AzAppServicePlan' to keep existing Tags when adding new Tags
Fixed 'Set-AzWebApp','Set-AzWebAppSlot', 'Get-AzWebApp' and 'Get-
AzWebAppSlot' to expose 'VnetRouteAllEnabled' property in 'SiteConfig' [#15663]
Fixed 'Set-AzWebApp', 'Set-AzWebAppSlot', 'Get-AzWebApp' and 'Get-
AzWebAppSlot' to expose 'HealthCheckPath' property in 'SiteConfig' [#16325]
Fixed DateTime conversion issue caused by culture [#17253]
Added support for the web job feature [#661]
Get-AzWebAppContinuousWebJob
Get-AzWebAppSlotContinuousWebJob
Get-AzWebAppSlotTriggeredWebJob
Get-AzWebAppSlotTriggeredWebJobHistory
Get-AzWebAppSlotWebJob
Get-AzWebAppTriggeredWebJob
Get-AzWebAppTriggeredWebJobHistory
Get-AzWebAppWebJob
Remove-AzWebAppContinuousWebJob
Remove-AzWebAppSlotContinuousWebJob
Remove-AzWebAppSlotTriggeredWebJob
Remove-AzWebAppTriggeredWebJob
Start-AzWebAppContinuousWebJob
Start-AzWebAppSlotContinuousWebJob
Start-AzWebAppSlotTriggeredWebJob
Start-AzWebAppTriggeredWebJob
Stop-AzWebAppContinuousWebJob
Stop-AzWebAppSlotContinuousWebJob

Thanks to our community contributors


Axel B. Andersen (@Agazoth)
Update Get-AzADUser.md (#17549)
Added a new example (#17535)
@davidslamb, Fix invalid SAS token from New-
AzServiceBusAuthorizationRuleSASToken (#17349)
elle (@elle24), Update Get-AzApplicationGatewayRequestRoutingRule.md (#17405)
@enevoj, Update Get-AzDataCollectionRule.md (#17586)
Felipe Guth de Freitas Bergstrom (@guthbergstrom), Update New-
AzDatabricksWorkspace.md (#17472)
@k0rtina, Update Set-AzConsumptionBudget.md (#17355)
Kanika Gupta (@kangupt), Added example for New-AzVM
Evgeniy Chuvikov (@snofe), Update Update-
AzCosmosDBSqlDatabaseThroughput.md

7.3.2 - March 2022

Az.Accounts

Changed target framework of AuthenticationAssemblyLoadContext to


netcoreapp2.1 [#17428]

Az.Compute
Updated New-AzVM feature for 'vCPUsAvailable' and 'vCPUsPerCore' parameters.
Cmdlets will not try to use the new 'VMCustomizationPreview' feature if the user
does not have access to that feature. [#17370]

7.3.0 - March 2022

Az.Accounts
Fixed the issue that authorization does not work in customized environment
[#17157]
Enabled Continue Access Evaluation for MSGraph
Improved error message when login is blocked by AAD
Improved error message when silent reauthentication failed
Loaded System.Private.ServiceModel and System.ServiceModel.Primitives on
Windows PowerShell [#17087]
Az.Aks
Updated the breaking change warning messages [#16805]

Az.CloudService

Fixed the issue of 'Get-AzCloudServiceNetworkInterface' and 'Get-


AzCloudServicePublicIPAddress'.

Az.Compute
Upgraded Compute .NET SDK package reference to version 52.0.0
Updated 'New-AzSshKey' cmdlet to write file paths to generated keys to the
Warning stream instead of the console.
Added 'vCPUsAvailable' and 'vCPUsPerCore' integer parameters to the 'New-AzVm',
'New-AzVmConfig', and 'Update-AzVm' cmdlets.

Az.ContainerInstance

Fixed Identity Bug in ImageRegistryCredential

Az.Databricks

Upgraded API version to 2021-04-01-preview

Az.DataFactory

Updated ADF .Net SDK version to 5.2.0

Az.DataShare

Added breaking change warning message due to update API version.

Az.EventHub

Added MSI properties to New-AzEventHubNamespace and Set-


AzEventHubNamespace. Adding New-AzEventHubEncryptionConfig.

Az.KeyVault
'New-AzKeyVaultManagedHsm': supported specifying how long a deleted managed
hsm is retained by 'SoftDeleteRetentionInDays' and enabling purge protection by
'EnablePurgeProtection'
'Update-AzKeyVaultManagedHsm': supported enabling purge protection by
'EnablePurgeProtection'
'Get-AzKeyVaultManagedHsm': Supported getting or listing deleted managed
HSM(s)
'Remove-AzKeyVaultManagedHsm': Supported purging a specified deleted
managed HSM

Az.Monitor

Fixed an issue where users could not correctly ignore warning messages after
setting environment variables [#17013]

Az.Network
Added new property 'SqlSetting' for Azure Firewall Policy cmdlets
'Get-AzFirewallPolicy'
'New-AzFirewallPolicy'
'Set-AzFirewallPolicy'
Added new to create new 'SqlSetting' object for creating Azure Firewall Policy
'New-AzFirewallPolicySqlSetting'
Added new cmdlet to support query Load Balancer inbound nat rule port mapping
lists for backend addresses
'Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping'
Also updated cmdlets to support inbound nat rule V2 configurations
'New-AzLoadBalancerInboundNatRuleConfig'
'Set-AzLoadBalancerInboundNatRuleConfig'
'Add-AzLoadBalancerInboundNatRuleConfig'

Az.RecoveryServices

Azure Backup added support for 'Create new virtual machine' and 'Replace existing
virtual machine' experience for Managed VMs in Restore-
AzRecoveryServicesBackupItem cmdlet. To perform a VM restore to
AlternateLocation use TargetVMName, TargetVNetName,
TargetVNetResourceGroup, TargetSubnetName parameters. To perform a restore to
a VM in OriginalLocation, do not provide TargetResourceGroupName and
RestoreAsUnmanagedDisks parameters, refer examples for more details.
Az.Resources
Fixed keycredential key format, from base64url to byte [#17131]
Fixed add key credential overwrite existing one [#17088]
Deleted parameter sets cannot be reached for 'New-AzADSericePrincipal'
Marked 'ObjectType' as 'Unknown' if object is not found or current account has
insufficient privileges to get object type for role assignment [#16981]
Fixed that 'Get-AzRoleAssignment' shows empty RoleDefinitionName for custom
roles when not specifying scope [#16991]
Unified the returned 'RoleDefinitionId' in PSRoleAssignment to GUID [#16991]

Az.ServiceBus

Added identity and encryption properties to New-AzServiceBusNamespace and Set-


AzServiceBusNamespace.
Added New-AzServiceBusEncryptionConfig

Az.Storage

Supported download blob from managed disk account with Sas Uri and bearer
token
'Get-AzStorageBlobContent'
Supported create/upgrade storage account with ActiveDirectorySamAccountName
and ActiveDirectoryAccountType
'New-AzStorageAccount'
'Set-AzStorageAccount'

Az.StorageSync

Migrated Azure AD features in Az.StorageSync to MSGraph APIs. The cmdlets will


call MSGraph API according to input parameters: New-
AzStorageSyncCloudEndpoint
Changed default parameter set of Invoke-AzStorageSyncChangeDetection to use
full share detection

Az.Synapse

Updated 'Update-AzSynapseSparkPool' to support new parameter [-


ForceApplySetting]

Thanks to our community contributors


Aleksandar Nikolić (@alexandair)
Fix the StayProvisioned parameter (#17070)
Fix a typo (#17069)
Joel Greijer (@greijer), Clarified special case on TemplateParameterUri (#17004)
Aman Sharma (@HarvestingClouds), Added Workload Type to the bullets to match
the accepted values (#17041)
@hsrivast, Hsrivastava/breaking change msg (#16985)
Chris (@isjwuk), Update New-AzAutomationUpdateManagementAzureQuery.md
(#16365)
@MSakssharm, Returning error if insufficient user permissions are there for
GetAgentRegistrationInfo (#16965)
Emanuel Palm (@PalmEmanuel), New-AzSshKey should log to Warning stream
instead of console (#16988)
Pavel Safonov (@PSafonov), Fixed a typo in ManagedResourceGroupName
parameter description (#17039)
Michael Arnwine (@vsmike), Update New-AzApplicationGatewayRewriteRuleSet.md
Description Text is incorrect (#17102)

7.2.1 - February 2022

Az.Resources
Fixed New-AzADServicePrincipal not working [#17054] [#17040]

7.2.0 - February 2022

Az.Accounts

Removed legacy assembly System.Private.ServiceModel and


System.ServiceModel.Primitives [#16063]

Az.Aks
Fixed the typo in 'New-AzAksCluster' [#16733]

Az.Compute
Remove ProvisioningDetails property from PSRestorePoint object.
Updated 'Set-AzVmExtension' cmdlet to properly display '-Name' and '-Location'
parameters as mandatory.
Edited 'New-AzVmssConfig' second example so it runs successfully by changing the
Tag input to the correct format.
Added 'Hibernate' parameter to 'Stop-AzVm' cmdlet.
Added 'HibernationEnabled' parameter to 'New-AzVm', 'New-AzVmConfig', and
'Update-AzVm' cmdlets.
Added 'EnableHotpatching' parameter to the 'Set-AzVmssOSProfile' cmdlet.
Added 'ForceDeletion' parameter to Remove-AzVM and Remove-AzVMSS.

Az.DataFactory

Updated ADF .Net SDK version to 5.1.0

Az.EventHub

Added public network access to the 'Set-AzEventHubNetworkRuleSet' set cmdlet


Added 'New-AzEventHubSchemaGroup', 'Remove-AzEventHubSchemaGroup' and
'Get-AzEventHubSchemaGroup' in the eventhubs PS.

Az.HealthcareApis
HealthcareApis cmdlets will bump up API version which may introduce breaking
change. Please contact us for more information.

Az.KeyVault

Improved the error message of Az.KeyVault.Extension [#16798]


Added default access policies for Key Vault key as 'All but purge'
Absorbed KeyOps from parameter when importing key from certificate on managed
HSM [#16773]
Fixed a bug when updating key operations on managed HSM [#16774]
Fixed the issue when importing no-password certificate [#16742]

Az.OperationalInsights

Added logic to prevent exceptions while using 'StorageInsight' cmdlets.

Az.PolicyInsights
Added support for new remediation properties allowing the remediation of more
resources with better control over the remediation rate and error handling
Added support of fetching very large sets of results by internally using paginated
API calls for policy states and policy events commands

Az.RecoveryServices

Reverted the configure backup per policy limit for VMs from 1000 to 100. This limit
was previously relaxed but as Azure portal has a limit of 100 VMs per policy, we are
reverting this limit.
Added support for multiple backups per day for FileShares.
Segregated some of the CRR and non-CRR flows based on the SDK update.
Add EdgeZone parameter to Azure Site recovery service cmdlet 'New-
AzRecoveryServicesAsrRecoveryPlan'

Az.Resources
Added proeprties 'onPremisesLastSyncDateTime', 'onPremisesSyncEnabled' to 'User'
object [#16892]
Added additional properties when creating request for 'New-AzADServicePrincipal'
and 'Update-AzADServicePrincipal' [#16847] [#16841]
Fixed 'DisplayName' and 'ApplicationId' for 'New-AzADAppCredential' [#16764]
Enabled password reset for 'Update-AzADUser' [#16869]
Updated parameter name 'EnableAccount' to 'AccountEnabled', and added alias
'EnableAccount' for 'Update-AzADUser' [#16753] [#16795]
Fixed 'Set-AzPolicyAssignment' does not remove 'notScope' if empty [#15828]

Az.ServiceBus
Added support to Enable or Disable Public Network Access as optional parameter
'PublicNetworkAccess' to 'Set-AzServiceBusNetworkRuleSet'
Fixed 'Set-AzServiceBusNamespace' with Tags

Az.Sql
Deprecation of Get-AzSqlDatabaseTransparentDataEncryptionActivity cmdlet
Fixed cmdlets for Azure Active Directory Admin
'AzureSqlServerActiveDirectoryAdministratorAdapter' and
'AzureSqlInstanceActiveDirectoryAdministratorAdapter' migrate from
'AzureEnvironment.Endpoint.AzureEnvironment.Endpoint.Graph' to
'AzureEnvironment.ExtendedEndpoint.MicrosoftGraphUrl'
Az.StackHCI
Adding support cmdlet for Remote Support
New cmdlets - Install-AzStackHCIRemoteSupport, Remove-
AzStackHCIRemoteSupport, Enable-AzStackHCIRemoteSupport, Disable-
AzStackHCIRemoteSupport, Get-AzStackHCIRemoteSupportAccess,Get-
AzStackHCIRemoteSupportSessionHistory

Az.Storage

Fixed the issue that output number in console when update/copy blob sometimes
[#16783]
'Set-AzStorageBlobContent'
'Copy-AzStorageBlob'
Updated help file, added more description for the asynchronous blob copy.
'Start-AzStorageBlobCopy'

Az.TrafficManager

Added two new optional parameters 'MinChildEndpointsIPv4' and


'MinChildEndpointsIPv6' for nested endpoints

Az.Websites

Updated 'New-AzAppServicePlan' to create an app service plan with host


environment id #16094

Thanks to our community contributors


@adriancuadrado, Update New-AzADServicePrincipal.md (#16896)
Alan (@AlanFlorance), Update Get-AzDataLakeGen2ChildItem.md (#16292)
@geologyrocks, Duplicated header (#16876)
Hiroshi Yoshioka (@hyoshioka0128), Typo “Azure CosmosDB"→"Azure Cosmos DB”
(#16561)
Jean-Paul Smit (@jeanpaulsmit), The -Force option is not documented and not
accepted as parameter (#16910)
Kamil Konderak (@kamilkonderak), Fixed description for NodeOsDiskSize parameter
(#16716)
Muralidhar Ranganathan (@rmuralidhar), Mitigate Get-AzKeyVaultSecret: Invalid
Parameter AsPlainText (#16730)
Ørjan Landgraff (@theorjan), better PS example (#16748)
@ahbleite, The switch option was not updated to reflect the new
ParameterSetName values, therefore the $id is always null. (#16818)

7.1.0 - January 2022

Az.Accounts
Copied 'ServicePrincipalSecret' and 'CertificatePassword' from Az.Accounts buildin
profile to customer set profile. [#16617]
Updated help message and help markdown for parameter 'Tenant' of the cmdlet
'Set-AzContext'. [#16515]
Fixed the issue that Azure PowerShell could not work in a workflow. [#16408]
Fixed the doubled Api Version in the URI of the underlying request issued by
'Invoke-AzRestMethod'. [#16615]

Az.Aks

Added support of 'load balancer' and 'api server access' in 'New-AzAksCluster' and
'Set-AzAksCluster'. [#16575]

Az.Automation
'New-AzAutomationSchedule' allows defnining StartTime with offsets.
Fixed bug: updated 'Set-AzAutomationModule' to use PUT call while updating
modules with specific versions [#12552]

Az.CognitiveServices

Updated PowerShell to use 2021-10-01 version.


Added CommitmentTier and CommitmentPlan cmdlets.
Added Deployment cmdlets.
Added 'New-AzCognitiveServicesObject' cmdlet for generating
CommitmentPlan/Deployment objects.

Az.Compute
Updated 'UserData' parameter in VM and VMSS cmdlets to pipe by the Property
Name to ensure piping scenarios occur correctly.
Changed 'New-AzVM' cmdlet when using the SimpleParameterSet to not create a
'PublicIPAddress' when a 'PublicIPAddress' name is not provided.
Added 'PlatformFaultDomain' parameter to cmdlets: 'New-AzVM' and 'New-
AzVMConfig'
Added '-Feature' parameter for 'New-AzGalleryImageDefinition'
Added 'DiffDiskPlacement' string parameter to 'Set-AzVmOSDisk' and 'Set-
AzVmssStorageProfile' cmdlets.

Az.CosmosDB
Exposed BackupPolicyMigrationState as a part of Get-AzCosmosDBAccount
response.
This shew the status of a backup policy migration state when an account was
being converted from peroidic backup mode to continuous.

Az.DataFactory
Updated ADF .Net SDK version to 5.0.0

Az.Functions
Removed preview from the PowerShell 7.0 stack on Linux

Az.KeyVault
Added cmdlets: 'Invoke-AzKeyVaultKeyRotation', 'Get-AzKeyVaultKeyRotationPolicy'
and 'Set-AzKeyVaultKeyRotationPolicy'

Az.MySql
General availability of Az.MySql

Az.Network
Used case-insensitive comparison for ResourceId (Set/New-
NetworkWatcherFlowLog)
Added new properties 'ApplicationSecurityGroup', 'IpConfiguration' and
'CustomNetworkInterfaceName' for Private Endpoint cmdlets
'Get-AzPrivateEndpoint'
'New-AzPrivateEndpoint'
Added new cmdlet to create new 'IpConfiguration' object for building Private
Endpoint
'New-AzPrivateEndpointIpConfiguration'
Added OrdinalIgnoreCase for string comparison of 'ResourceIdentifier' type for
FlowLog cmdlets
Fixed typo in error message of 'InvalidWorkspaceResourceId'

Az.PostgreSql
General availability of Az.PostgreSql

Az.RedisCache
Added 'IdentityType' and 'UserAssignedIdentity' parameter in 'New-AzRedisCache'
and 'Set-AzRedisCache' cmdlets.
It is used to assign and modify the Identity of Azure Cache for Redis.

Az.ResourceMover

Added support for Tags in azure resource mover


Added support for SystemData in azure resource mover
Released 2021-08-01 api-version

Az.Resources

Fixed incorrect alias for 'Get-AzADSpCredential' [#16592]


Fixed 'ServicePrincipalName' and 'InputObject' parameters for 'Update-
AzADServicePrincipal' [#16620]
Fixed example for 'New-AzADAppCredential' [#16682]
Added parameter 'Web' for 'New-AzADApplication' [#16659]
Added secret text in response of 'New-AzADApplication' and 'New-
AzADServicePrincipal' [#16659]
Deserialized the 'Value' in 'DeploymentVariable' as object array if its type is Array
[#16523]
Fixed the usage of 'SignInName' in 'New-AzRoleAssignment' [#16627]
Formatted the output format of 'DeploymentVariable'
Remove 'isUser' operation filter from GetAzureProviderOperation Cmdlet

Az.SignalR
Fixed the bug of 'Update-AzSignalR' cmdlet that resets the resource states by
mistake.
Az.Sql
Added 'ZoneRedundant' parameter to 'New-AzSqlDatabaseCopy', 'New-
AzSqlDatabaseSecondary' and 'Restore-AzSqlDatabase' to enable zone redundant
copy, geo secondary and PITR support for hyperscale databases

Az.Storage

Fixed the failure of sync copy blob with long destination blob name [#16628]
'Copy-AzStorageBlob'
Supported AAD oauth storage context in storage table cmdlets.
Get-AzStorageCORSRule

Get-AzStorageServiceLoggingProperty

Get-AzStorageServiceMetricsProperty
Get-AzStorageServiceProperty

Get-AzStorageTable
Get-AzStorageTableStoredAccessPolicy

New-AzStorageTable

New-AzStorageTableSASToken
New-AzStorageTableStoredAccessPolicy

Remove-AzStorageCORSRule
Remove-AzStorageTableStoredAccessPolicy

Set-AzStorageCORSRule

Set-AzStorageServiceLoggingProperty
Set-AzStorageServiceMetricsProperty

Set-AzStorageServiceProperty
Set-AzStorageTable

Set-AzStorageTableStoredAccessPolicy

Az.Synapse
General availability of Az.Synapse
Migrated Azure AD features in Az.Synapse to MSGraph APIs. The cmdlets below
called MSGraph API according to input parameters:
'New-AzSynapseRoleAssignment' cmdlet
'Get-AzSynapseRoleAssignment' cmdlet
'Remove-AzSynapseRoleAssignment' cmdlet
'Set-AzSynapseSqlActiveDirectoryAdministrator' cmdlet
Added a default value for [-AutoPauseDelayInMinute] parameter of command
'New-AzSynapseSparkpool' and 'Update-AzSynapseSparkpool'
Thanks to our community contributors
@adishiritwick, Updated Set-AzAutomationModule to use PUT call while updating
modules with specific versions (#16505)
@anuraj, Update the New-AzWebAppCertificate (#16634)
@BrajaMS, Updated the example command with NodeType param (#16670)
@geologyrocks, Principal typo (was princial) (#16699)
Hen Itzhaki (@HenItzhaki), Added more example (#16424)
Chris (@isjwuk), Formatting improvement (#15826)
Jaromir Kaspar (@jaromirk), Added example for password credentials (#16600)
Martin Falkus (@mfalkus), Fix a typo in Update Az-Tags doc where "Repalces" was
specified instead of "Replaces" (#16541)
Radoslav Gatev (@RadoslavGatev), [Az.Accounts] Fix the doubled Api Version in Uri
of the request issued by Invoke-AzRestMethod (#16616)
@Skuldo, Typo fix (#16585)
Sujit Singh (@sujitks), Update Set-AzApplicationGatewayFirewallPolicy.md (#16583)
@trudolf-msft, new example 4/workaround (#16437)

7.0.0 - December 2021

Az.Accounts

Removed 'ServicePrincipalSecret' and 'CertificatePassword' in 'PSAzureRmAccount'


[#15427]
Added optional parameter 'MicrosoftGraphAccessToken' to 'Connect-AzAccount'
Added optional parameters 'MicrosoftGraphEndpointResourceId',
'MicrosoftGraphUrl' to 'Add-AzEnvironment' and 'Set-AzEnvironment'
Added '-AccountId' property to 'UserWithSubscriptionId' parameter set of 'Connect-
AzAccount' which allows a user name to be pre-selected for interactive logins
Added '-Uri' and '-ResourceId' to 'Invoke-AzRestMethod'
Added Environment auto completer to the following cmdlets: Connect-AzAccount,
Get-AzEnvironment, Set-AzEnvironment, and Remove-AzEnvironment [#15991]
Added module name and version to User-Agent string [#16291]

Az.Advisor

Fixed the issue that 'Az.Advisor.psd1' was not signed [#16226]

Az.Aks
[Breaking Change] Updated parameter alias and output type of 'Get-AzAksVersion'
Added 'Invoke-AzAksRunCommand' to support running a shell command (with
kubectl, helm) on aks cluster. [#16104]
Added support of 'EnableNodePublicIp' and 'NodePublicIPPrefixID' for 'New-
AzAksCluster' and 'New-AzAksNodePool'. [#15656]
Migrated the logic of creating service principal in 'New-AzAksCluster' from 'Azure
Active Directory Graph' to 'Microsoft Graph'.
Fixed the issue that 'Set-AzAksCluster' can't upgrade cluster when node pool
version doesn't match cluster version. [#14583]
Added 'ResourceGroupName' in 'PSKubernetesCluster'. [#15802]

Az.ApplicationInsights
Added WebTest function. Below is the new cmdlet
'Get-AzApplicationInsightsWebTest'
'New-AzApplicationInsightsWebTest'
'New-AzApplicationInsightsWebTestGeolocationObject'
'New-AzApplicationInsightsWebTestHeaderFieldObject'
'Remove-AzApplicationInsightsWebTest'
'Update-AzApplicationInsightsWebTestTag'

Az.Automation
Fixed example in reference doc for 'Remove-AzAutomationHybridWorkerGroup'
Updated 'Set-AzAutomationModule' to use PUT call while updating modules with
specific versions [#12552]

Az.CloudService
General availability of 'Az.CloudService' module

Az.Compute
Contains updates to the following powershell cmdlets
'SetAzVmssDiskEncryptionExtension' : Added extension parameters for the
cmdlet to work with test extensions and parameter 'EncryptFormatAll' for Virtual
Machine Scale Sets
'GetAzVmssVMDiskEncryptionStatus' : Modified the functionality of the cmdlet to
properly display the encryption status of data disks of Virtual Machine Scale Sets
'SetAzDiskEncryptionExtension' : Fixed a bug in the cmdlet in the migrate
scenario from 2pass to 1pass encryption
Added 'Add-AzVhd' to convert VHD using Hyper-V
Added 'UserData' parameter to VM and VMSS cmdlets
Added string parameter 'PublicNetworkAccess' to DiskConfig and SnapshotConfig
cmdlets
Added boolean parameter 'AcceleratedNetwork' to DiskConfig and SnapshotConfig
cmdlets
Added 'CompletionPercent' property to the PSSnapshot model so it is visible to the
user.

Az.ContainerInstance
Upgraded API version to 2021-09-01
[Breaking Change] Changed the type of parameter
'LogAnalyticWorkspaceResourceId' in 'New-AzContainerGroup' from Hashtable
to String
[Breaking Change] Removed parameter 'NetworkProfileId' in 'New-
AzContainerGroup', added 'SubnetId' as its alternative
[Breaking Change] Removed parameter
'ReadinessProbeHttpGetHttpHeadersName' and
'ReadinessProbeHttpGetHttpHeadersValue' in 'New-AzContainerInstanceObject',
added 'ReadinessProbeHttpGetHttpHeader' as their alternative
[Breaking Change] Removed parameter
'LivenessProbeHttpGetHttpHeadersName' and
'LivenessProbeHttpGetHttpHeadersValue' in 'New-AzContainerInstanceObject',
added 'LivenessProbeHttpGetHttpHeader' as their alternative
Added 'Zone' in 'New-AzContainerGroup', 'AcrIdentity' in 'New-
AzContainerGroupImageRegistryCredentialObject'
Changed 'Username' in 'New-AzContainerGroupImageRegistryCredentialObject'
from mandatory to optional
For 'Invoke-AzContainerInstanceCommand'
[Breaking Change] Displayed command execution result as the cmdlet output by
connecting websocket in backend [#15754]
Added '-PassThru' to get last execution result when the command succeeds
Changed 'TerminalSizeCol' and 'TerminalSizeRow' from mandatory to optional,
set their default values by current PowerShell window size
Added 'Restart-AzContainerGroup', 'Get-
AzContainerInstanceContainerGroupOutboundNetworkDependencyEndpoint' and
'New-AzContainerInstanceHttpHeaderObject'

Az.CosmosDB
Fixed when a warning about the value of AnalyticalStorageSchemaType is displayed
when no value was given.
Added support for managed Cassandra.

Az.DataFactory
Updated ADF .Net SDK version to 4.28.0

Az.EventHub
Fixed the issue that 'New-AzEventHubKey' always generates a new primary key
instead of a secondary key since version 1.9.0 [#16362]

Az.Functions

[Breaking change] 'Update-AzFunctionAppPlan' prompts for confirmation [#16490]


[Breaking change] 'Remove-AzFunctionApp' does not delete ASP if it is the last app
in the plan [#16487]
[Breaking change] Set the 'FunctionsVersion' to 4 for FunctionApp creation [#16426]
[Breaking change] 'Update-AzFunctionApp' prompts for confirmation [#14442]
Fixed an error creating function with 'New-AzFunctionApp' on PowerShell 5.1
[#15430]
Supported storage account SKU 'Standard_GZRS' [#14633]

Az.HDInsight
Added two parameters '-Zone' and '-PrivateLinkConfiguration' to cmdlet 'New-
AzHDInsightCluster'
Added parameter '-Zone' to cmdlet 'New-AzHDInsightCluster' to support to
create cluster with availability zones feature
Added parameter '-PrivateLinkConfiguration' to cmdlet 'New-
AzHDInsightCluster' to support to add private link configuration when creating
cluster with private link feature.
Added cmdlet New-AzHDInsightIPConfiguration to create ip configuration object in
memory.
Added cmdlet New-AzHDInsightPrivateLinkConfiguration to create private link
configuration object in memory.
Fixed the output type in help doc of Set-AzHDInsightClusterDiskEncryptionKey
cmdlet from 'Microsoft.Azure.Management.HDInsight.Models.Cluster' to
'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightCluster' to keep
consistent with the real type of returned object.
Breaking change:
Changed the type of parameter 'OSType' from
'Microsoft.Azure.Management.HDInsight.Models.OSType' to 'System.string' in
cmdlet 'New-AzHDInsightCluster'.
Changed the type of parameter 'ClusterTier' from
'Microsoft.Azure.Management.HDInsight.Models.ClusterTier' to 'System.string' in
cmdlets 'New-AzHDInsightCluster' and 'New-AzHDInsightClusterConfig'.
Changed the type of property 'VmSizes' in class 'AzureHDInsightCapabilities'
from IDictionary<string, AzureHDInsightVmSizesCapability> to IList<string> .
Changed the type of property 'AssignedIdentity' in class 'AzureHDInsightCluster'
from 'Microsoft.Azure.Management.HDInsight.Models.ClusterIdentity' to
'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightClusterIdentity'.

Az.KeyVault

[Breaking Change] Renamed properties of 'PSKeyVaultPermission' type to follow the


pattern of Azure RBAC.
Migrated AAD Graph API to MSGraph API.
Added a message to 'Set-AzKeyVaultAccessPolicy' stating that for the Permissions
parameters, using the 'All' option will not include the 'Purge' permission.

Az.ManagedServices
[Breaking Change] Updated API version to 2020-02-01-preview

Az.Monitor
Added new properties EventName, Category, ResourceProviderName,
OperationName, Status, SubStatus with type string as output for command Get-
AzLog [#15833]
Supported event hub receiver in action group [#16348]
Added default parameter set 'GetByResourceGroup' for the command 'Get-
AzAlertRule' [#16356]

Az.Network
Bugfix in PSAzureFirewallPolicyThreatIntelWhitelist for FirewallPolicy
Added optional parameter '-IsSecuritySite' to the following cmdlet:
'New-AzVpnSite'
Added support for new Match Variables in WAF Exclusions
Onboard Virtual Network Encryption to Virtual Network Cmdlets
Added support for NAT port range parameters in VPN NAT rule resources
'New-AzVpnGatewayNatRule.md'
'Update-AzVpnGatewayNatRule.md'
'New-AzVirtualNetworkGatewayNatRule.md'
'Update-AzVirtualNetworkGatewayNatRule.md'
Added new cmdlets to support Per Rule Exclusions for Application Gateway WAF
'New-AzApplicationGatewayFirewallPolicyExclusionManagedRuleSet'
'New-AzApplicationGatewayFirewallPolicyExclusionManagedRuleGroup'
'New-AzApplicationGatewayFirewallPolicyExclusionManagedRule'
Also updated cmdlet to add the property for configuring
ExclusionManagedRuleSet within Exclusions
'New-AzApplicationGatewayFirewallPolicyExclusion'
Bug Fix in Application Gateway Trusted Client Certificate cmdlets to load the entire
cert chain from file.

Az.OperationalInsights

Expanded DataSourceType with values 'Query', 'Alerts' for LinkedStorageAccount


cmdlets
[Breaking Change] rename 'StorageAccountId' to 'StorageAccountIds'
'New-AzOperationalInsightsLinkedStorageAccount'
[Breaking Change] Returns 'PSSavedSearch' instead of 'HttpStatusCode' by 'New-
AzOperationalInsightsComputerGroup'
[Breaking Change] Returns 'PSCluster' instead of 'PSLinkedService' by 'Update-
AzOperationalInsightsCluster'
Expanded Sku with values 'capacityreservation', 'lacluster' for Workspace
Added new properties:'SkuCapacity', 'ForceCmkForQuery', 'DisableLocalAuth' for
Workspace
Added new property: 'DailyQuotaGb'on'Set-AzOperationalInsightsWorkspace'
Added new properties: 'ETag', 'Tag' for StorageInsight cmdlets
Added new property 'StorageAccountResourceId' to cmdlet:
'Set-AzOperationalInsightsStorageInsight'
Added SupportsShouldProcess attribute to cmdlet:
'Set-AzOperationalInsightsStorageInsight'
Added new cmdlets to support Table, DataExport, WorkspaceShareKey,
PurgeWorkspace, and AvailableServiceTier
Added 'Error' property in the result of the 'Invoke-AzOperationalInsightsQuery' to
retrieve partial error when running a query [#16378]

Az.RecoveryServices
Azure Backup updated validate sets for supported BackupManagementType in 'Get-
AzRecoveryServicesBackupItem', 'Get-AzRecoveryServicesBackupContainer', Get-
AzRecoveryServicesBackupJob cmdlets.
Azure Backup added support for SAPHanaDatabase for 'Disable-
AzRecoveryServicesBackupProtection', 'Unregister-
AzRecoveryServicesBackupContainer', 'Get-AzRecoveryServicesBackupItem', 'Get-
AzRecoveryServicesBackupContainer' cmdlets.
Breaking Change: 'Get-AzRecoveryServicesBackupJob', 'Get-
AzRecoveryServicesBackupContainer' and 'Get-AzRecoveryServicesBackupItem'
commands will only support 'BackupManagementType MAB' instead of 'MARS'.
Azure Site Recovery support for capacity reservation for Azure to Azure provider.

Az.Resources
Added 'Get-AzProviderPreviewFeature', 'Register-AzProviderPreviewFeature' and
'Unregister-AzProviderPreviewFeature' cmdlets.
Fixed a bug when running Get-AzPolicyAlias with empty value of NamespaceMatch
parameter [#16370]
[Breaking change] Migrated from AAD Graph to Microsoft Graph
[Breaking change] Changed the returned 'Id' in PSDenyAssignment from GUID
string to fully qualified ID
Allowed parameter 'Id' in 'Get-AzDenyAssignment' to accept fully qualified ID
Added new cmdlet 'Publish-AzBicepModule' for publishing Bicep modules
Added deprecation message for 'AssignIdentity' parameter in '*-
AzPolicyAssignment' cmdlets.
Added support for user assigned managed identities in policy assignments by
adding 'IdentityType' and 'IdentityId' parameters to '*-AzPolicyAssignment' cmdlets.
Updated policy cmdlets to use new api version 2021-06-01 that introduces support
for user assigned managed identities in policy assignments.
Narrowed API permission when get information about active directory object for *-
AzRoleAssignment [#16054]

Az.Sql

Fixed FirewallRuleName wildcard filtering in 'Get-AzSqlServerFirewallRule' [#16199]


Moved SQL Server and SQL Instance AAD from ActiveDirectoryClient to
MicrosoftGraphClient

Az.StackHCI

Promoted Az.StackHCI to GA
Az.Storage
Fixed the failure of 'Get-AzStorageContainerStoredAccessPolicy' when permission is
null [#15644]
Supported create blob service Sas token or account Sas token with permission i
'New-AzStorageBlobSASToken'
'New-AzStorageContainerSASToken'
'New-AzStorageAccountSASToken'
Fixed creating container SAS token failed from an access policy without expire time,
and set SAS token expire time [#16266]
'New-AzStorageContainerSASToken'
Removed parameter -Name from Get-AzRmStorageShare
ShareResourceIdParameterSet
'Get-AzRmStorageShare'
Supported create or migrate container to enable immutable Storage with
versioning.
'New-AzRmStorageContainer'
'Invoke-AzRmStorageContainerImmutableStorageWithVersioningMigration'
Supported set/remove immutability policy on a Storage blob.
'Set-AzStorageBlobImmutabilityPolicy'
'Remove-AzStorageBlobImmutabilityPolicy'
Supported enable/disable legal hold on a Storage blob.
'Set-AzStorageBlobLegalHold'
Supported create storage account with enable account level immutability with
versioning, and create/update storage account with account level immutability
policy.
'New-AzStorageAccount'
'Set-AzStorageAccount'

Az.Websites
Updated the Microsoft.Azure.Management.Websites SDK to 3.1.2

Thanks to our community contributors


Hiroshi Yoshioka (@hyoshioka0128), Fix typo "Azure CosmosDB"→"Azure Cosmos
DB" (#16470)
Chris (@isjwuk), Update New-AzAutomationSourceControl.md (#16366)
Julian Hüppauff (@jhueppauff), [API Management] Fixed variable reference (#16525)
@toswedlu, [CosmosDB] Changing the warning message for
AnalyticalStorageSchemaType (#15723)
6.6.0 - November 2021

Az.Accounts

Added new version of AAD service client using Microsoft Graph API

Az.Aks
Added support for new parameters 'NetworkPolicy', 'PodCidr', 'ServiceCidr',
'DnsServiceIP', 'DockerBridgeCidr', 'NodePoolLabel', 'AksCustomHeader' in 'New-
AzAksCluster'. [#13795]
Added warnings of upcoming breaking change of migrating to Microsoft Graph.
Added support for changing the number of nodes in a node pool. [#12379]

Az.ApiManagement
Fixed a bug in 'Get-AzApiManagementTenantGitAccess' cmdlet.

Az.Batch
Removed assembly 'System.Text.Encodings.Web.dll' [#16062]

Az.Compute

Added cmdlets for adding VMGalleryApplication property to VM/VMSS


New-AzVmGalleryApplication
New-AzVmssGalleryApplication
Add-AzVmGalleryApplication
Add-AzVmssGalleryApplication
Remove-AzVmGalleryApplication
Remove-AzVmssGalleryApplication
Added support for proxy and debug settings for VM Extension for SAP (AEM)
Updated New-AzGalleryImageVersion to take in the 'Encryption' property correctly
from '-TargetRegion' parameter.
Updated Set-AzVmBootDiagnostic to default to managed storage account if not
provided.
Edited New-AzVmss defaulting behavior when 'OrchestrationMode' is set to
Flexible.
Removed NAT Pool.
Removed UpgradePolicy. Throws an error if provided.
SinglePlacementGroup must be false. Throws an error if true.
Networking Profile's API version is 2020-11-01 or later.
Networking Profile IP Configurations Primary property is set to true.

Az.CosmosDB
Introduced Get-AzCosmosDBMongoDBBackupInformation to retrieve latest backup
information for MongoDB.
Updated New-AzCosmosDBAccount, Update-AzCosmosDBAccount to accept
BackupStorageRedundancy
Introduced Get-AzCosmosDBLocation to list Azure CosmosDB Account and its
locations properties.

Az.DataFactory
Added PublicNetworkAccess to Update_AzDataFactoryV2 Command
Updated ADF .Net SDK version to 4.26.0

Az.DesktopVirtualization

Upgraded api version to 2021-07-12.

Az.EventHub

Added support for Premium sku and namesapce and optional switch parameter
'DisableLocalAuth' to 'New-AzEventHubNamespace' and 'Set-
AzEventHubNamespace'

Az.Functions
Set site config netFrameworkVersion for Windows V4 apps only
Enabled function app creation for Functions V4 stacks [#15919]

Az.IotHub

Updated IoT Hub Management SDK to version 4.1.0 (api-version 2021-07-10)

Az.KeyVault
Added warning message of upcoming breaking change to 'New-
AzKeyVaultRoleDefinition' and 'Get-AzKeyVaultRoleDefinition'.
To comply with the syntax of 'New-AzRoleDefinition' and 'Get-AzRoleDefinition'
we are going to rename some of the properties of 'PSKeyVaultPermission' model,
which might affect these two cmdlets.
Added warnings of upcoming breaking change of migrating to Microsoft Graph.

Az.Migrate
Added check for invalid IP address

Az.OperationalInsights
Fixed a bug in 'Set-AzOperationalInsightsLinkedService: when linked service does
not exist, perform create(update) instead of failing'

Az.RecoveryServices

Azure Backup fixed issues with StorageConfig


Azure Backup added NodesList and AutoProtectionPolicy to Get-
AzRecoveryServicesBackupProtectableItem Cmdlets.
Azure Backup fixed GetItemsForContainerParamSet to support fetching the MAB
backup item.
Azure Backup fixed Get-AzRecoveryServicesBackupContainer to support
BackupManagementType MAB instead of MARS.
Added breaking change warning: 'Get-AzRecoveryServicesBackupJob', 'Get-
AzRecoveryServicesBackupContainer' and 'Get-
AzRecoveryServicesBackupProtectableItem' commands will only support
'BackupManagementType MAB' instead of 'MARS' alias, changes will take effect
from upcoming breaking release.
Added support for ZRS disk type for Azure to Azure replication.
Added Availability zone information in replicated protected item response for Azure
to Azure replication.

Az.RedisCache
Created new examples in documentation of 'New-AzRedisCache' and 'Set-
AzRedisCache'.

Az.Resources
Fixed a bug about the exitcode of Bicep [#16055]
Added breaking change warnings for AAD cmdlets
Added property 'UIFormDefinition' to Template Spec Versions, 'Export-
AzTemplateSpec' will now include a Template Spec Version's UIFormDefinition (if
any) as part of the export.
Added error catching for role assignment creation fail while creating a Service
Principal
Performance improvement for Get-AzPolicyAlias when -NamespaceMatch matches
a single RP namespace

Az.Security

Updated Security .NET SDK package reference to version 3.0.0

Az.ServiceBus

Added support for ZoneRedundant and optional switch parameter


'DisableLocalAuth' to 'New-AzServiceBusNamespace' and 'Set-
AzServiceBusNamespace'

Az.SignalR
Added Web PubSub cmdlets
'New-AzWebPubSub'
'Get-AzWebPubSub'
'Update-AzWebPubSub'
'Restart-AzWebPubSub'
'Remove-AzWebPubSub'
'New-AzWebPubSubHub'
'Get-AzWebPubSubHub'
'Remove-AzWebPubSubHub'
'New-AzWebPubSubKey'
'Get-AzWebPubSubKey'
'Get-AzWebPubSubSku'
'Get-AzWebPubSubUsage'
'Test-AzWebPubSubNameAvailability'

Thanks to our community contributors


bgomezangulo (@beagam), Update Resume-AzNetAppFilesReplication.md (#16040)
Jim McCormick (@eimajtrebor), Fixed typo (#16091)
Lampson Nguyen (@lampson), Update Get-AzDataShare.md (#16015)
@MaxMeng1985, Update Get-AzSynapseSqlPoolRestorePoint.md (#16138)
Reggie Gibson (@regedit32), New-AzBotService: Fix AppSecret conversion to
plaintext on Windows PowerShell (#16160)
Mötz Jensen (@Splaxi), BusinessIdentities details doesn't match the current
implementation (#16141)

6.5.0 - October 2021

Az.Accounts

Supported getting the access token for Microsoft Graph.


Added AuthorizeRequestDelegate to allow service module to adjust token audience.
Utilized AssemblyLoadContext to resolve assembly conflict issues in PowerShell.
Updated Azure.Core from 1.16.0 to 1.19.0.

Az.Attestation
General availability of 'Az.Attestation' module

Az.Cdn
Fixed null reference exception and typos in 'New-AzFrontDoorCdnRule' cmdlet

Az.Compute
Updated Compute .NET SDK package reference to version 49.1.0
Fixed a bug in 'Get-AzVM' that caused incorrect power status output.

Az.DataFactory
Added a DataFlowEnableQuickReuse argument for the 'Set-
AzDataFactoryV2IntegrationRuntime' cmdlet to enable quick reuse of clusters in
next pipeline activities.
Updated ADF .Net SDK version to 4.25.0
Added a VNetInjectionMethod argument for the 'Set-
AzDataFactoryV2IntegrationRuntime' cmdlet to support the express virtual network
injection of Azure-SSIS Integration Runtime.
Az.FrontDoor
Allowed rule engine action creation without RouteConfigurationOverride for 'New-
AzFrontDoorRulesEngineActionObject'.
Fixed DynamicCompression parameter being ignored issue of 'New-
AzFrontDoorRulesEngineActionObject'.

Az.KeyVault
Supported custom role definitions on managed HSM:
Create via 'New-AzKeyVaultRoleDefinition',
Delete via 'Remove-AzKeyVaultRoleDefinition',
Filter all custom roles via 'Get-AzKeyVaultRoleDefinition -Custom'.
Supported Encrypt/Decrypt/Wrap/Unwrap using keys [#15679]
Enabled managing resources in other subscriptions without switching the context
by adding -Subscription <String> .

Az.Maintenance

Added Guest patch maintenance support.

Az.Network

Support for Sku, ScaleUnits parameters of BastionHost resource.


'New-AzBastion'
'Set-AzBastion'
Onboard Azure Resource Manager to Private Link Common Cmdlets
Updated cmdlets to add properties to enable/disable BgpRouteTranslationForNat
for VpnGateway.
'New-AzVpnGateway'
'Update-AzVpnGateway'
Updated cmdlet to add property to disable InternetSecurity for P2SVpnGateway.
'New-AzP2sVpnGateway'
Added new cmdlets for HubBgpConnection child resource of VirtualHub.
'Get-AzVirtualHubBgpConnection'
'New-AzVirtualHubBgpConnection'
'Update-AzVirtualHubBgpConnection'
'Remove-AzVirtualHubBgpConnection'
Onboard Azure HDInsight to Private Link Common Cmdlets

Az.RecoveryServices
Azure Site Recovery bug fixes for VMware to Azure Reprotect, Update policy and
Disable scenarios.
Azure Backup added the support for UserAssigned MSI in RecoveryServices Vault.

Az.Resources
Added a clearer error message for a case in which TemplateUri do not accept bicep
file.
Fixed typos with ManagementGroups breaking change descriptions [#15819].
Fixed resource tags casing issue - resource tags casing not being preserved.
Updated to Microsoft.Azure.Management.Authorization 2.13.0-preview.

Az.Sql

Fixed 'Get-AzSqlDatabaseImportExportStatus' to report the error encountered

Az.Storage

Upgraded Azure.Storage.Blobs to 12.10.0


Upgraded Azure.Storage.Files.Shares to 12.8.0
Upgraded Azure.Storage.Files.DataLake to 12.8.0
Upgraded Azure.Storage.Queues to 12.8.0
Supported upgrade storage account to enable HierarchicalNamespace
'Invoke-AzStorageAccountHierarchicalNamespaceUpgrade'
'Stop-AzStorageAccountHierarchicalNamespaceUpgrade'
Supported AccessTierInferred, Tags in blob inventory policy schema
'New-AzStorageBlobInventoryPolicyRule'
Supported create/update storage account with PublicNetworkAccess
enabled/disabled
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported create/update storage blob container with RootSquash
'New-AzRmStorageContainer'
'Update-AzRmStorageContainer'
Supported AllowProtectedAppendWriteAll in set container Immutability Policy, and
add container LegalHold
'Set-AzRmStorageContainerImmutabilityPolicy'
'Add-AzRmStorageContainerLegalHold'

Az.StorageSync
Fixed a bug where not all properties of PSSyncSessionStatus and
PSSyncActivityStatus objects were being populated properly.
This affected the 'Get-AzStorageSyncServerEndpoint' cmdlet when trying to access
the following properties of the output:
SyncStatus.UploadStatus
SyncStatus.DownloadStatus
SyncStatus.UploadActivity
SyncStatus.DownloadActivity

Az.Websites
Updated 'Import-AzWebAppKeyVaultCertificate1' to set the default name with
combination of keyvault name and cert name

Thanks to our community contributors


@DSakura207, Use last PowerState instance in Statuses for power status (#15941)
Yannic Graber (@grabery), Recode Example2 (#15808)
@joelmforsyth, Fix multi-regional examples (#15918)
Adam Coffman (@SysAdminforCoffee), Update Set-AzNetworkInterfaceIpConfig.md
(#15846)
Michael Howard (@x509cert), Reworded sentence to make it clear that a specific key
version must be provided (#15886)

6.4.0 - September 2021

Az.Accounts
Corrected the URLs to Azure Portal in the results of 'Get-AzEnvironment' and 'Get-
AzContext'. [#15429]
Made infrastructural changes to support overriding default subscription via a -
SubscriptionId <String> parameter.

Az.Aks is the first module that supports it.

Az.Aks

Made -Subscription <String> available in all Aks cmdlets. You can manage Aks
resources in other subscriptions without switching the context.
Az.ApiManagement
Added new 'Sync-AzApiManagementKeyVaultSecret' cmdlet.
Added new 'New-AzApiManagementKeyVaultObject' cmdlet.
Added new optional [-useFromLocation] parameter to the 'Get-
ApiManagementCache' 'New-ApiManagementCache''Update-
ApiManagementCache' cmdlet.
Updated cmdlet New-AzApiManagement to manage ApiManagement service
Added support for the new 'Isolated' SKU
Added support for managing Availability Zones using 'Zone' property
Added support for Disabling Gateway in a Region using 'DisableGateway'
property
Added support for managing the minimum Api Version to allow for Control Plane
using 'MinimalControlPlaneApiVersion' property.
Updated cmdlet New-AzApiManagementRegion to manage ApiManagement
service
Added support for managing Availability Zones using 'Zone' property
Added support for Disabling Gateway in a Region using 'DisableGateway'
property
Updated cmdlet Add-AzApiManagementRegion to manage ApiManagement
service
Added support for managing Availability Zones using 'Zone' property
Added support for Disabling Gateway in a Region using 'DisableGateway'
property
Updated cmdlet Update-AzApiManagementRegion to manage ApiManagement
service
Added support for managing Availability Zones using 'Zone' property
Added support for Disabling Gateway in a Region using 'DisableGateway'
property
Updated cmdlet New-AzApiManagementCustomHostnameConfiguration to
manage Custom Hostname Configuration
Added support for specifying 'IdentityClientId' to provide Managed Identity User
Assigned ClientId to use with KeyVault

Az.Automation
Fixed bug: Closing in input file handle in Import-AzAutomationRunbook

Az.Cdn
Fixed mandatory parameters issue in 'Get-AzCdnEndpointResourceUsage' cmdlet
Az.Compute
Added new parameters '-LinuxConfigurationPatchMode', '-
WindowsConfigurationPatchMode', and '-LinuxConfigurationProvisionVMAgent' to
'Set-AzVmssOSProfile'
Added new parameters '-SshKeyName' and '-GenerateSshKey' to 'New-AzVM' to
create a VM with SSH
Fixed a bug in 'Add-AzVHD' on Linux that caused uploads to fail for certain
destination URI
Added new cmdlets for Restore Points and Restore Point Collection:
'New-AzRestorePoint'
'New-AzRestorePointCollection'
'Get-AzRestorePoint'
'Get-AzRestorePointCollection'
'Update-AzRestorePointCollection'
'Remove-AzRestorePoint'
'Remove-AzRestorePointCollection'
Added new parameters '-EnableSpotRestore' and '-SpotRestoreTimeout' to 'New-
AzVMSSConfig' to enable Spot Restore Policy
Added new cmdlets: 'Update-AzCapacityReservationGroup' and 'Update-
AzCapacityReservation'

Az.CosmosDB
Fixed a bug where the restore of deleted database accounts fail.

Az.DataFactory
Added a subnetId argument for the 'Set-AzDataFactoryV2IntegrationRuntime'
cmdlet to support RBAC checking for VNet injection against the subnet resource ID
instead of the VNet resource ID.
Added the 'Get-
AzDataFactoryV2IntegrationRuntimeOutboundNetworkDependenciesEndpoint'
cmdlet to provide a list of outbound network dependencies for SSIS integration
runtime in Azure Data Factory that joins a virtual network.
Added PublicNetworkAccess to Data Factory.
Updated ADF .Net SDK version to 4.23.0

Az.KeyVault
Supported adding EC keys in key vault [#15699]
Az.Migrate
Supported duplicate disk UUID in source disk.
Supported subnets in same VNet for AVSet.
Supported runAsAccount fetching for multiple Vcenters in same site.

Az.Network

Updated cmdlet to add 'Subnet' property for IP based load balancer backend
address pool.
'New-AzLoadBalancerBackendAddressConfig'
Updated cmdlet to add 'TunnelInterface' property for backend pool related
operations.
'New-AzLoadBalancerBackendAddressPool'
'Set-AzLoadBalancerBackendAddressPool'

Az.RecoveryServices
Azure Site Recovery multi appliance support for VMware to Azure disaster recovery
scenarios using RCM as the control plane.
Azure Backup fixed targetPhysicalPath issue with SQL CRR
Azure Backup fixed disable protection for SQL workload
Azure Backup resolved bug in setting CMK properties in latest release
Azure Backup removed special characters from register-
azrecoveryservicesbackupcontainer command help text

Az.Resources

Use JsonExtensions to serialize deserialize JSON objects to ensure the use of custom
serialization settings [#15552]
Added support for 'Unsupported' and 'NoEffect' change types to deployment What-
If cmdlets.

Az.SecurityInsights

Updated to 'Get-AzSentinelIncident' parameters


Added '-Filter' to support OData filter
Added '-OrderBy' to support OData ordering
Added '-Max' to support retrieving more than the default of 1000 incidents.

Az.Sql
Changed the underlying implementation of 'Get-AzSqlDatabase' to support a
paginated response from the server
Added 'ZoneRedundant' parameter to 'New-AzSqlInstance' and 'Set-AzSqlInstance'
to enable the creation and the update of zone - redundant instances.
Added ZoneRedundant field to the model of the managed instance so that it
displays information about zone - redundancy for instance that are returned by
'Get-AzSqlInstance'.
Extended AuditActionGroups enum in server & database audit. Added
DBCC_GROUP, DATABASE_OWNERSHIP_CHANGE_GROUP and
DATABASE_CHANGE_GROUP.
Added 'AsJob' flag to 'Remove-AzSqlInstance'
Added 'SubnetId' parameter to 'Set-AzSqlInstance' to support the cross-subnet
update SLO
Upgraded to newest SDK version

Az.Storage

Supported get/set blob tags on a specific blob


'Get-AzStorageBlobTag'
'Set-AzStorageBlobTag'
Supported create destination blob with specific blob tags while upload/copy Blob
'Set-AzStorageBlobContent'
'Start-AzStorageBlobCopy'
Supported list blobs across containers with a blob tag filter sql expression
'Get-AzStorageBlobByTag'
Supported list blobs inside a container and include Blob Tags
'Get-AzStorageBlob'
Supported run blob operation with blob tag condition, and fail the cmdlet when
blob tag condition not match
'Get-AzStorageBlob'
'Get-AzStorageBlobContent'
'Get-AzStorageBlobTag'
'Remove-AzStorageBlob'
'Set-AzStorageBlobContent'
'Set-AzStorageBlobTag'
'Start-AzStorageBlobCopy'
'Stop-AzStorageBlobCopy'
Generate blob sas token with new API version
'New-AzStorageBlobSASToken'
'New-AzStorageContainerSASToken'
'New-AzStorageAccountSASToken'
Fixed blob copy failure with OAuth credential when client and server has time
difference [#15644]
'Copy-AzStorageBlob'
Fixed remove Data Lake Gen2 item fail with readonly SAS token
'Remove-AzDataLakeGen2Item'
Revised destination existing check in move Data Lake Gen2 item
'Move-AzDataLakeGen2Item'

Az.StorageSync

Added parameter sets to 'Invoke-AzStorageSyncChangeDetection'


Can call the cmdlet without -DirectoryPath and -Path parameters to trigger
change detection on an entire file share
Added support for authoritative upload as part of New-
AzStorageSyncServerEndpoint.
Added cloud change enumeration status information in Cloud Endpoint object.
Updated Server Endpoint object with various health properties
Added 'ServerName' property in Server Endpoint and Registered Server objects to
support showing the current FQDN of a server.

Az.Websites
Fixed 'Set-AzWebApp' to return a valid warning message when fails to add -
Hostname #9316
Fixed 'Get-AzWebApp' to return CustomDomainVerificationId in the response.
#9316

Thanks to our community contributors


Andrew Sears (@asears)
Fix spelling of accountname (#15779)
Fix Spelling, examples (#15780)
@cawrites, Update New-AzDataMigrationService.md (#15646)
@harpaul-gill, Adding support for pagination in Sql Get Databases (#15772)
@jeepingben, Create mutex names that are safe for Linux (fixes #15653) (#15666)
@LosManos, Docs: Parameter is ignored when listing secrets (#15788)
Mats Estensen (@matsest), docs: add examples for Update-AzSubscription (#15748)
Mauricio Arroyo (@mauricio-msft), Fix typo in cmdlet example (#15719)

6.3.0 - August 2021


Az.Accounts
Disabled context auto saving when token cache persistence fails on Windows and
macOS
Added PowerShell version into telemetry record
Upgraded Microsoft.ApplicationInsights from 2.4.0 to 2.12.0
Updated Azure.Core to 1.16.0

Az.Aks

Added 'Start-AzAksCluster', 'Stop-AzAksCluster', 'Get-AzAksUpgradeProfile' and


'Get-AzAksNodePoolUpgradeProfile'. [#14194]
Added property 'IdentityProfile' in the output of 'Get-AzAksCluster'. [#12546]

Az.CognitiveServices
[Breaking Change] Changed type of PSCognitiveServicesAccount.Identity.Type from
IdentityType to ResourceIdentityType.
[Breaking Change] Changed type of PSCognitiveServicesAccount.Sku.Tier from
SkuTier to string.
[Breaking Change] Removed ActionRequired from
PrivateLinkServiceConnectionState.
Updated PowerShell to use 2021-04-30 version.
Added 'Undo-AzCognitiveServicesAccountRemoval' cmdlet.
Added parameters '-RestrictOutboundNetworkAccess', '-AllowedFqdnList', '-
DisableLocalAuth', '-KeyVaultIdentityClientId', '-IdentityType', '-
UserAssignedIdentityId' to 'New-AzureCognitiveServicesAccount' and 'Set-
AzureCognitiveServicesAccount'.
Added parameters '-InRemovedState', '-Location' to 'Remove-
AzureCognitiveServicesAccount' and 'Get-AzureCognitiveServicesAccount'.

Az.Compute

Fixed the warning in 'New-AzVM' cmdlet stating the sku of the VM is being
defaulted even if a sku size is provided by the user. Now it only occurs when the
user does not provide a sku size.
Edited 'Set-AzVmOperatingSystem' cmdlet to no longer overwrite any existing
EnableAutomaticUpdates value on the passed in virtual machine if it exists.
Updated Compute module to use the latest .Net SDK version 48.0.0.
Added new cmdlets for the Capacity Reservation Feature:
'New-AzCapacityReservationGroup'
'Remove-AzCapacityReservationGroup'
'Get-AzCapacityReservationGroup'
'New-AzCapacityReservation'
'Remove-AzCapacityReservation'
'Get-AzCapacityReservation'
Added a new parameter '-CapacityReservationGroupId' to the following cmdlets:
'New-AzVm'
'New-AzVmConfig'
'New-AzVmss'
'New-AzVmssConfig'
'Update-AzVm'
'Update-AzVmss'

Az.DataFactory

Updated ADF .Net SDK version to 4.21.0

Az.Migrate

Added SQL Server license type.


Added CRN feature.
Added resource tags feature.
Updated to 2021-02-10 api version.

Az.Monitor
Added parameter 'ResourceGroupName' back for 'Add-AzAutoscaleSetting'
parameter set 'AddAzureRmAutoscaleSettingUpdateParamGroup' and made it
optional [#15491]

Az.RecoveryServices

Added Archive for V1 vaults.


Added ProtectedItemsCount in Get-AzRecoveryServicesBackupProtectionPolicy.
Azure site recovery bug fix for azure to azure in update vm properties.

Az.RedisCache

Added 'RedisVersion' parameter in 'New-AzRedisCache' and 'Set-AzRedisCache'


Az.Resources
Fixed bug with 'PSResource' where some constructors left 'SubscriptionId' property
unassigned/null. [#10783]
Added support for creating and updating Template Spec in Bicep file [#15313]
Added '-ProceedIfNoChange' parameter to deployment create cmdlets.

Az.ServiceFabric
Fixed Managed and Classic Application models (Application, Cluster, Service) by
updating constructor to take all new properties
This solves piping related issues where piping the results directly from a Get
cmdlet call into and Update or Set call remove some intentionally set properties
Updated appropriate test files to cover the above mentioned cases

Az.Sql

Fixed identity logic in 'Set-AzSqlServer' and 'Set-AzSqlInstance'

Az.Storage

Supported Blob Last Access Time


'Enable-AzStorageBlobLastAccessTimeTracking'
'Disable-AzStorageBlobLastAccessTimeTracking'
'Add-AzStorageAccountManagementPolicyAction'
Made 'Get-AzDataLakeGen2ChildItem' list all datalake gen2 items by default,
instead of needing user to list chunk by chunk.
Fixed BlobProperties is empty issue when using sas without prefix '?' [#15460]
Fixed synchronously copy small blob failure [#15548]
'Copy-AzStorageBlob'

Az.Websites

Fixed 'Add-AzWebAppAccessRestrictionRule' failing when users does not have


permissions to get Service Tag list #15316 and #14862

Thanks to our community contributors


Borys Generalov (@bgener), Update Get-AzPolicyState.md (#15455)
Dean Mock (@deanmock), Update New-AzAutomationSchedule.md (#15371)
John Bevan (@JohnLBevan), #10783 - Fix for Get-AzResource returning PSResource
with null SubscriptionId (#15106)
Michael Mejias Sanchez (@mikemej), Update - Update deployment (external VNET)
(#15391)
@mjsharma, Adding note for alternate commands (#15360)
Ked Mardemootoo (@nocticdr), Fixed some typos for added clarity (#15428)
Pascal Berger (@pascalberger), Fix parameter name in Sync-
AzVirtualNetworkPeering examples (#15493)
@rcabr, Doc fix in Get-AzStorageContainer (#15476)
AAron (@S-AA-RON), Update New-AzNetworkSecurityGroup.md (#15512)
坂本ポテコ (@sakamoto-poteko), Update New-AzVMConfig.md (#15376)
@Shawn-Yuen, Update Remove-AzDataLakeGen2Item.md (#15388)

6.2.1 - July 2021

Az.Accounts
Fixed access error when subscripiton has no 'Tags' property [#15425].

6.2.0 - July 2021

Az.Accounts

Added Tags, AuthorizationSource to PSAzureSusbscripiton and added TenantType,


DefaultDomain, TenantBrandingLogoUrl, CountryCode to PSAzureTenant [#15220]
Upgraded subscription client to 2021-01-01 [#15220]
Removed Interactive mode check in common lib
Added endpoint of OperationalInsights to environment AzureChinaCloud [#15305]
Printed auto generated modules' default logs to verbose stream

Az.Aks

Added parameter 'AvailabilityZone' for 'New-AzAksNodePool'. [#14505]

Az.ApplicationInsights

Added read only property 'ConnectionString' and 'ApplicationId' to


applicationinsights component
Az.Compute
Added optional parameter '-OrchestrationMode' to 'New-AzVmss' and 'New-
AzVmssConfig'
Updated the following cmdlets to work when the resource uses a remote image
source using AKS or Shared Image Gallery.
'Update-AzVm'
'Update-AzVmss'
'Update-AzGalleryImageVersion'
Added parameters '-EnableCrossZoneUpgrade' and '-PrioritizeUnhealthyInstance' to
the 'Set-AzVmssRollingUpgradePolicy'
Added 'AssessmentMode' parameter to the 'Set-AzVMOperatingSystem' cmdlet.
Fixed a bug in 'Add-AzVmssNetworkInterfaceConfiguration'
Fixed IOPS and throughput check in 'Test-AzVMAEMExtension'
Added new cmdlets for 2020-12-01 DiskRP API version
New-AzDiskPurchasePlanConfig
Set-AzDiskSecurityProfile
Changed Cmdlets for 2020-12-01 DiskRP API version
New-AzDiskConfig
New-AzSnapshotConfig
New-AzSnapshotUpdateConfig
New-AzDiskUpdateConfig
New-AzDiskEncryptionSetConfig
Update-AzDiskEncryptionSet

Az.CosmosDB
This release introduces the cmdlets for the features of Continuous Backup(Point in
time restore):
Introduced support for creating accounts with continuous mode backup policy.
Introduced support for Point in time restore for accounts with continuous mode
backup policy.
Introduced support to update the backup interval and backup retention for
accounts with periodic mode backup policy.
Introduced support to list the restorable resources in a live database account.
Introduces support to specify analytical storage schema type on account
creation/update.
The following cmdlets are added:
Restore-AzCosmosDBAccount, New-AzCosmosDBDatabaseToRestore, Get-
AzCosmosDBRestorableDatabaseAccount,
Get-AzCosmosDBSqlRestorableDatabase, Get-
AzCosmosDBSqlRestorableContainer, Get-
AzCosmosDBSqlRestorableResource,
Get-AzCosmosDBMongoDBRestorableDatabase, Get-
AzCosmosDBMongoDBRestorableCollection, Get-
AzCosmosDBMongoDBRestorableResource.

Az.DataFactory
Added Customer Managed Key Encryption to DataFactory

Az.Functions
Added two additional app settings (WEBSITE_CONTENTSHARE and
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING) for Linux Consumption apps.
[15124]
Fixed bug with New-AzFunctionApp when created on Azure Gov. [13379]
Added Az.Functions cmdlets need to support creating and copying app settings
with empty values. [14511]

Az.Monitor
Fixed null reference bug for 'Get-AzMetric' when 'ResultType' set to 'Metadata'
Fixed bug for 'Add-AzAutoscaleSetting' not able to pipe result from 'Get-
AzAutoscaleSetting' [#13861]

Az.Network
Added public ip address as an optional parameter to create route server
'New-AzRouteServer'
Updated cmdlets to enable specification of edge zone
'New-AzPublicIpPrefix'
'New-AzLoadBalancer'
'New-AzPrivateLinkService'
'New-AzPrivateEndpoint'
Added support for viewing extended location of virtual network in the console
'New-AzVirtualNetwork'
'Get-AzVirtualNetwork'
Added support for viewing extended location of public IP address in the console
'New-AzPublicIpAddress'
'Get-AzPublicIpAddress'
Az.RecoveryServices
Fixed Disable SQL AG AutoProtection.

Az.Security

General availability of Az.Security module


Changed the name of Get-AzRegulatoryComplainceAssessment to Get-
AzRegulatoryComplianceAssessment to fix typo

Az.Sql

Added 'RestrictOutboundNetworkAccess' parameter to following cmdlets


'New-AzSqlServer'
'Set-AzSqlServer'
Added new cmdlets for CRUD operations on Allowed FQDNs of Outbound Firewall
rules
'Get-AzSqlServerOutboundFirewallRule'
'New-
AzSqlServerOutboundFirewallRule'
'Remove-AzSqlServerOutboundFirewallRule'
Fixed the identity logic for SystemAssigned,UserAssigned identities for New-
AzSqlServer, New-AzSqlInstance
Updated cmdlets for getting and updating SQL database's differential backup
frequency
'Get-AzSqlDatabaseBackupShortTermRetentionPolicy'
'Set-
AzSqlDatabaseBackupShortTermRetentionPolicy'
Fixed Partial PUT issue for Azure Policy in 'Set-AzSqlServer' and 'Set-AzSqlInstance'

Az.Storage
Supported enable/disable Blob container soft delete
'Enable-AzStorageContainerDeleteRetentionPolicy'
'Disable-AzStorageContainerDeleteRetentionPolicy'
Supported list deleted Blob containers
'Get-AzRmStorageContainer'
'Get-AzStorageContainer'
Supported restore deleted Blob container
'Restore-AzStorageContainer'
Supported secure SMB setting in File service properties
'Update-AzStorageFileServiceProperty'
Supported create account with EnableNfsV3
'New-AzStorageAccount'
Supported input more copy blob parameters from pipeline [#15301]
'Start-AzStorageBlobCopy'
Az.Websites
Fixed 'Import-AzWebAppKeyVaultCertificate' to support ServerFarmId [#15091]
Fixed 'Added an optional parameter to delete or keep Appservice plan when the last
WebApp is removing from plan'

Thanks to our community contributors


Mikey Bronowski (@MikeyBronowski)
Update Get-AzSynapseTriggerRun.md (#15231)
Update Get-AzSynapsePipelineRun.md by adding more examples covering more
scenarios (#15232)
@mjsharma, Adding note for alternate commands (#15359)
@tomswedlund, Adding support for setting analytical storage schema type on
account create/update for CosmosDB (#15362)
@ylabade, Fix web app parameter name in examples (#15291)

6.1.0 - June 2021

Az.Accounts

Added cmdlet 'Open-AzSurveyLink'


Supported certificate file as input parameter of Connect-AzAccount

Az.Aks
Fixed the issue that 'Set-AzAks' will fail in Automation Runbook. [#15006]

Az.ApplicationInsights
Fixed issue that 'ResourcegroupName' is missed when executing below cmdlets with
'InputObject' parameter [#14848]
'Get-AzApplicationInsightsLinkedStorageAccount'
'New-AzApplicationInsightsLinkedStorageAccount'
'Update-AzApplicationInsightsLinkedStorageAccount'
'Remove-AzApplicationInsightsLinkedStorageAccount'

Az.Cdn

Fixed profile missing issue in 'Remove-AzCdnProfile' cmdlet


Az.Compute
Updated Compute module to use the latest .Net SDK version 47.0.0.

Az.ContainerInstance

Removed the display of file share credential [#15224]

Az.DataFactory

Updated ADF .Net SDK version to 4.19.0

Az.EventHub

Added functionality to accept input from pipeline for 'Get-AzEventHub' from 'Get-
AzEventHubNamespace'.

Az.HDInsight
Support new azure monitor feature in HDInsight:
Add cmdlet 'Get-AzHDInsightAzureMonitor' to allow customer to get the Azure
Monitor status of HDInsight cluster.
Add cmdlet 'Enable-AzHDInsightAzureMonitor' to allow customer to enable the
Azure Monitor in HDInsight cluster.
Add cmdlet 'Disable-AzHDInsightAzureMonitor' to allow customer to disable the
Azure Monitor in HDInsight cluster.

Az.KeyVault

Removed duplicate list item in 'Get-AzKeyVault' [#15164]


Added 'SecretManagement' tag to 'Az.KeyVault' module [#15173]

Az.Network
Updated cmdlets for route server for a more stable way to add IP configuration.
Added support for getting a single private link resource.
Added more detailed description about GroupId in 'New-
AzPrivateLinkServiceConnection'
Updated cmdlets to enable setting of PrivateRange on AzureFirewallPolicy.
'New-AzFirewallPolicy'
'Set-AzFirewallPolicy'
Updated cmdlets to add NatRules in VirtualNetworkGateway and
BgpRouteTranslationForNat.
'New-AzVirtualNetworkGateway'
'Set-AzVirtualNetworkGateway'
Updated cmdlets to add EngressNatRules and EgressNatRules in
VirtualNetworkGateway Connection.
'New-AzVirtualNetworkGatewayConnection'
'Set-AzVirtualNetworkGatewayConnection'
Updated cmdlet to enable setting of FlowTimeout in VirtualNetwork.
'New-AzVirtualNetwork'
Added cmdlets for Get/Create/Update/Delete VirtualNetworkGatewayNatRules.
'New-AzVirtualNetworkGatewayNatRule'
'Update-AzVirtualNetworkGatewayNatRule'
'Get-AzVirtualNetworkGatewayNatRule'
'Remove-AzVirtualNetworkGatewayNatRule'
Added a new cmdlet for Sync on VirtualNetworkPeering
'Sync-AzVirtualNetworkPeering'
Updated cmdlets to add new properties and redefined an existing property in the
VirtualNetworkPeering
'Add-AzVirtualNetworkPeering'
'Get-AzVirtualNetworkPeering'
Updated cmdlets to enable setting of PreferredRoutingGateway on VirtualHub.
'New-AzVirtualHub'
'Update-AzVirtualHub'
Updated cmdlets to expose two read-only properties of client certificate.
'Get-AzApplicationGatewayTrustedClientCertificate'

Az.RecoveryServices

Added cross tenant DS Move.


Removed restriction to fetch recovery points only for a 30 days time range.
Enabled CRR for new regions.

Az.Resources
Allowed naming the deployment when testing deployments [#11497]

Az.SignalR
Changed to 'Allow' and 'Deny' parameters of 'Update-AzSignalRNetworkAcl' cmdlet:
Accepted 'Trace' as a valid value.
Accepted '@()' as empty collection to clear the list.
Supported 'ResourceGroupCompleter' and 'ResourceNameCompleter' in the
applicable cmdlets.
Deprecated the 'HostNamePrefix' property of output type 'PSSignalRResource' of
following cmdlets:
'Get-AzSignalR'
'New-AzSignalR'
'Update-AzSignalR'

Az.Sql
Added option to support short version of maintenance configuration id for
Managed Instance in 'New-AzSqlInstance' and 'Set-AzSqlInstance' cmdlets
Added HighAvailabilityReplicaCount to 'New-AzSqlDatabaseSecondary'
Added External Administrator and AAD Only Properties to AzSqlServer and
AzSqlInstance
Added option to specify '-ExternalAdminName', '-ExternalAdminSid', '-
EnableActiveDirectoryOnlyAuthentication' in 'New-AzSqlInstance' and 'Set-
AzSqlInstance' cmdlets
Added option to expand external administrators information using '-
ExpandActiveDirectoryAdministrator' in 'Get-AzSqlServer' and 'Get-
AzSqlInstance' cmdlets
Fixed 'Set-AzSqlDatabase' to no longer default ReadScale to Disabled when not
specified
Fixed 'Set-AzSqlServer' and 'Set-AzSqlInstance' for partial PUT with only identity and
null properties
Added parameters related to UMI in 'New-AzSqlServer', 'New-AzSqlInstance', 'Set-
AzSqlServer' and 'Set-AzSqlInstance' cmdlets.
Added -AutoRotationEnabled parameter to following cmdlets:
'Set-AzSqlServerTransparentDataEncryptionProtector'
'Get-AzSqlServerTransparentDataEncryptionProtector'
'Set-AzSqlInstanceTransparentDataEncryptionProtector'
'Get-AzSqlInstanceTransparentDataEncryptionProtector'

Az.Storage

Supported create file share with NFS/SMB enabledEnabledProtocol and


RootSquash, and update share with RootSquash
'New-AzRmStorageShare'
'Update-AzRmStorageShare'
Supported enable Smb Multichannel on File service
'Update-AzStorageFileServiceProperty'
Fixed copy inside same account issue by access source with anonymous credential,
when copy Blob inside same account with Oauth credential
Removed StorageFileDataSmbShareOwner from value set of parameter
DefaultSharePermission in create/update storage account
'New-AzStorageAccount'
'Set-AzStorageAccount'

Az.Websites

Fixed issue that prevented removing rules by name and unique identifier in
'Remove-AzWebAppAccessRestrictionRule'
Fixed issue that defaults AlwaysOn to false in 'Set-AzWebAppSlot'

Thanks to our community contributors


Andy Roberts (@andyr8939), Removing unused TimeGrain variable from example
(#15062)
Ashley Roll (@AshleyRoll), Remove Write-Host leaking file share credentials
(#15225)
Kailash Mandal (@KaishM), Update New-AzPublicIpAddress.md (#15040)
Olivier Miossec (@omiossec), Update Get-AzExpressRouteCircuitRouteTable.md
(#15054)
Scott (@S-T-S), Update Set-AzNetworkInterface.md (#15112)
@sohaibMSFT, Application Gateway AutoScale Example (#15071)
@Srihsu, Update Split-AzReservation.md (#15049)
@srozemuller, typo in examples resourcegroup parameter (#15146)

6.0.0 - May 2021


Az 6.0.0 (Az.Accounts 2.3.0) is only supported on Windows PowerShell 5.1, PowerShell 7.0
version 7.0.6 or greater and PowerShell 7.1 version 7.1.3 or greater, open
https://aka.ms/install-powershell to learn how to upgrade. For further information, go
to https://aka.ms/azpslifecycle .

Az.Accounts
Upgraded Azure.Identity to 1.4 and MSAL to 4.30.1
Removed obsolete parameters 'ManagedServiceHostName', 'ManagedServicePort'
and 'ManagedServiceSecret' of cmdlet 'Connect-AzAccount', environment variables
'MSI_ENDPOINT' and 'MSI_SECRET' could be used instead
Customize display format of PSAzureRmAccount to hide secret of service principal
[#14208]
Added optional parameter 'AuthScope' to 'Connect-AzAccount' to support
enhanced authentication of data plane features
Set retry times by environment variable [#14748]
Supported subject name issuer authentication

Az.Compute

Added 'Invoke-AzVmInstallPatch' to support patch installation in VMs using


PowerShell.
Updated Compute module to use the latest .Net SDK version 46.0.0.
Added optional parameter '-EdgeZone' to the following cmdlets:
'Get-AzVMImage
'Get-AzVMImageOffer'
'Get-AzVMImageSku'
'New-AzDiskConfig'
'New-AzImageConfig'
'New-AzSnapshotConfig'
'New-AzVM'
'New-AzVmssConfig'
'New-AzVMSS'

Az.ContainerInstance

Added new cmdlets: 'Start-AzContainerGroup', 'Stop-AzContainerGroup' [#10773],


'Invoke-AzContainerInstanceCommand' [#7648], 'Update-AzContainerGroup', 'Add-
AzContainerInstanceOutput', 'Get-AzContainerInstanceCachedImage', 'Get-
AzContainerInstanceCapability', 'Get-AzContainerInstanceUsage', 'New-
AzContainerGroupImageRegistryCredentialObject', 'New-
AzContainerGroupPortObject', 'New-AzContainerGroupVolumeObject', 'New-
AzContainerInstanceEnvironmentVariableObject', 'New-
AzContainerInstanceInitDefinitionObject', 'New-AzContainerInstanceObject', 'New-
AzContainerInstancePortObject' and 'New-
AzContainerInstanceVolumeMountObject'
Supported Log Analytics parameters in 'New-AzContainerGroup' [#11117]
Added support to specify network profile and the name of Azure File Share in 'New-
AzContainerGroup' [#9993] [#12218]
Added support to specify environment variables as SecureValue [#10110] [#10640]
Az.ContainerRegistry
Fixed username and password issue in 'Import-AzContainerRegistryImage' [#14971]
Fixed data plane operations (repository, tag, manifest) failed cross registry in single
Powershell session [#14849]

Az.CosmosDB

Introduced support for Sql data plane RBAC, allowing the creation, updating,
removal, and retrieval of Role Definitions and Role Assignments
The following cmdlets are added:
Get-AzCosmosDBSqlRoleDefinition, Get-AzCosmosDBSqlRoleAssignment,
New-AzCosmosDBSqlRoleDefinition, New-AzCosmosDBSqlRoleAssignment,
Remove-AzCosmosDBSqlRoleDefinition, Remove-
AzCosmosDBSqlRoleAssignment,
Update-AzCosmosDBSqlRoleDefinition, Update-
AzCosmosDBSqlRoleAssignment,
New-AzCosmosDBSqlPermission

Az.DesktopVirtualization
Upgraded api version to 2021-02-01-preview.

Az.Functions
Added support in function app creation for Python 3.9 and Node 14 function apps
Removed support in function app creation for V2, Python 3.6, Node 8, and Node 10
function apps
Updated IdentityID parameter from string to string array in Update-AzFunctionApp.
This is to be consistent with New-AzFunctionApp which has the same parameter as
a string array
Updated FullyQualifiedErrorId for an invalid Functions version from
FunctionsVersionIsInvalid to FunctionsVersionNotSupported
When creating a Node.js function app, if no runtime version is specified, the default
runtime version is set to 14 instead of 12

Az.KeyVault

Provided key size for RSA key [#14819]

Az.Kusto
Bumped API version to stable 2021-01-01

Az.Maintenance
Bumped API version to stable 2021-05-01

Az.Migrate
Fixed an issue in Initialize-AzMigrateReplicationInfrastructure.ps1

Az.Network
Updated validation to allow passing zero value for saDataSizeKilobytes parameter
'New-AzureRmIpsecPolicy'
Added optional parameter '-EdgeZone' to the following cmdlets:
'New-AzNetworkInterface'
'New-AzPublicIpAddress'
'New-AzVirtualNetwork'

Az.RecoveryServices
Fixed security issue with SQL restore, this is a necessary breaking change.
TargetContainer becomes mandatory for Alternate Location Restore.
Removed Set-AzRecoveryServicesBackupProperties cmdlet alias, Set-
AzRecoveryServicesBackupProperty is supported.
Removed Get-AzRecoveryServicesBackupJobDetails cmdlet alias, Get-
AzRecoveryServicesBackupJobDetail is supported.
Added support for cross subscription DS Move.
Azure Site Recovery support for VMware to Azure disaster recovery scenarios using
RCM as the control plane.

Az.Resources
Changed '-IdentifierUris' in 'New-AzADApplication' to optional parameter
Removed generated 'DisplayName' of ADApplication created by 'New-
AzADServicePrincipal'
Updated SDK to 3.13.1-preview to use GA TemplateSpecs API version
Added 'AdditionalProperties' to PSADUser and PSADGroup [#14568]
Supported 'CustomKeyIdentifier' in 'New-AzADAppCredential' and 'Get-
AzADAppCredential' [#11457], [#13723]
Changed 'MainTemplate' to be shown by the default formatter for Template Spec
Versions

Az.SecurityInsights

GA release for Az.SecurityInsights

Az.ServiceFabric

Removed deprecated cluster certificate commands:


'Add-AzServiceFabricClusterCertificate'
'Remove-AzServiceFabricClusterCertificate'
Changed PSManagedService model to avoid using the properties parameter directly
from sdk.
Removed deprecated parameters for managed cmdlets:
'ReverseProxyEndpointPort'
'InstanceCloseDelayDuration'
'ServiceDnsName'
'InstanceCloseDelayDuration'
'DropSourceReplicaOnMove'
Fixed 'Update-AzServiceFabricReliability' to update correctly the vm instance count
of the primary node type on the cluster resource.

Az.Sql

Updated 'Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline' documentation


to include example of define array of array with one inner array.
Added cmdlet 'Copy-AzSqlDatabaseLongTermRetentionBackup'
Copy LTR backups to different servers
Added cmdlet 'Update-AzSqlDatabaseLongTermRetentionBackup'
Update Backup Storage Redundancy values for LTR backups
Added CurrentBackupStorageRedundancy, RequestedBackupStorageRedundancy to
'Get-AzSqlDatabase', 'New-AzSqlDatabase', 'Set-AzSqlDatabase', 'New-
AzSqlDatabaseSecondary', 'Set-AzSqlDatabaseSecondary', 'New-
AzSqlDatabaseCopy'
Changed BackupStorageRedundancy value to CurrentBackupStorageRedundancy,
RequestedBackupStorageRedundancy to reflect both the current value and what
has been requested if a change was made

Az.Storage
Supported file share snapshot
'New-AzRmStorageShare'
'Get-AzRmStorageShare'
'Remove-AzRmStorageShare'
Supported remove file share with it's snapshot (leased and not leased), by default
remove file share will fail when share has snapshot
'Remove-AzRmStorageShare'
Supported Set/Get/Remove blob inventory policy
'New-AzStorageBlobInventoryPolicyRule'
'Set-AzStorageBlobInventoryPolicy'
'Get-AzStorageBlobInventoryPolicy'
'Remove-AzStorageBlobInventoryPolicy'
Supported DefaultSharePermission in create/update storage account
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported AllowCrossTenantReplication in create/update storage account
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported Set Object Replication Policy with SourceAccount/DestinationAccount as
Storage account resource Id
'Set-AzStorageObjectReplicationPolicy'
Supported set SasExpirationPeriod as TimeSpan.Zero
'New-AzStorageAccount'
'Set-AzStorageAccount
Make sure the correct account name is used when create account credential
'New-AzStorageContext'

Az.StorageSync

Deprecated 'Invoke-AzStorageSyncFileRecall'
Customers should instead use 'Invoke-StorageSyncFileRecall', a cmdlet that is
shipped with the Azure File Sync agent.
Removed offline data transfer feature in 'New-AzStorageSyncServerEndpoint'.

Az.StreamAnalytics

Bumped API version to 2017-04-01-preview


Added StreamAnalytics Cluster support

Az.Websites
updated 'Set-AzAppServicePlan' to keep existing Tags when adding new Tags
Fixed 'Set-AzWebApp' to set the AppSettings
updated 'Set-AzWebAppSlot' to set FtpsState
Added support for StaticSites.

Thanks to our community contributors


@corichte, Update New-AzVirutalNetworkGatewayConnection Ex 1 (#14858)
Hiroshi Yoshioka (@hyoshioka0128)
Typo "Azure SQL database"→"Azure SQL Database" (#14883)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14891)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14892)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14902)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14901)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14900)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14898)
Typo "Azure SQL managed instance"→"Azure SQL Managed Instance" (#14899)
Jay Zelos (@jzelos), Updated example 3 to use correct parameter (#14852)
@StevePantol, Update New-AzVMwarePrivateCloud.md (#14996)

5.9.0 - May 2021

Az.Aks
Added support 'AcrNameToAttach' in 'Set-AzAksCluster'. [#14692]
Added support 'AcrNameToDetach' in 'Set-AzAksCluster'. [#14693]
Added 'Set-AzAksClusterCredential' to reset the ServicePrincipal of an existing AKS
cluster.

Az.Automation
Added support for User Assigned Identities and PublicNetworkAccess flag

Az.Cdn
Added cmdlets to support new AFD Premium / Standard SKUs

Az.Compute
Updated the 'Set-AzVMDiskEncryptionExtension' cmdlet to support ADE extension
migration from two pass (version with AAD input parameters) to single pass (version
without AAD input parameters).
Added a switch parameter '-Migrate' to trigger migration workflow.
Added a switch parameter '-MigrationRecovery' to trigger recovery workflow for
VMs experiencing failures after migration from two pass ADE.

Az.DataFactory
Added User Assigned Identities to Data Factory.
Updated ADF .Net SDK version to 4.18.0

Az.FrontDoor

Allowed Enable-AzFrontDoorCustomDomainHttps's SecretVersion parameter to be


optional to support bring-your-own-certificate auto-rotation

Az.KeyVault
Fixed a bug for 'Get-AzKeyVaultSecret -IncludeVersions' when current version is
disabled [#14740]
Displayed error code and message when updating purged secret [#14800]

Az.RecoveryServices

Azure Site Recovery support for Multiple IP per NIC for Azure to Azure provider.
Azure Site Recovery support for SqlServerLicenseType for VMware to Azure and
HyperV to Azure providers.
Azure Site Recovery support for Availability set for VMware to Azure and HyperV to
Azure providers.
Azure Site Recovery support for TargetVmSize for VMware to Azure and HyperV to
Azure providers.
Azure Site Recovery support for ResourceTagging for VMware to Azure and HyperV
to Azure providers.
Azure Site Recovery support for Virtual Machine Scale Set for Azure to Azure
provider.
Added support for restoring unmanaged disks vm as managed disks.

Az.Resources
Added parameter 'ObjectType' for 'New-AzRoleAssignment'
Az.ServiceFabric
Upgraded Managed Cluster commands to use Service Fabric Managed Cluster SDK
version 1.0.0 which uses service fabric resource provider api-version 2021-05-01.
'New-AzServiceFabricManagedCluster' add parameters UpgradeCadence and
ZonalResiliency.
'New-AzServiceFabricManagedNodeType' add parameters DiskType,
VmUserAssignedIdentity, IsStateless and MultiplePlacementGroup.
'New-AzServiceFabricManagedClusterService' and 'Set-
AzServiceFabricManagedClusterService' mark parameters for deprecation:
InstanceCloseDelayDuration, DropSourceReplicaOnMove and ServiceDnsName.
They are not supported.

Az.ResourceMover

General availability of 'Az.ResourceMover' module

Az.Storage

Supported create/update storage account with KeyExpirationPeriod and


SasExpirationPeriod
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported create/update storage account with keyvault encryption and access
keyvault with user assigned identity
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported EdgeZone in create storage account
'New-AzStorageAccount'
Fixed an issue that delete immutable blob will prompt incorrect message.
'Remove-AzStorageAccount'
Allowed update Storage Account KeyVault properties by cleanup Keyversion to
enable key auto rotation [#14769]
'Set-AzStorageAccount'
Added breaking change warning message for upcoming cmdlet breaking change
'Remove-AzRmStorageShare'

Thanks to our community contributors


Thomas Lee (@doctordns), Update Get-AzEnvironment.md (#14704)
Fabian (@FullByte), Example with wrong parameter (typo) (#14743)
@gradinDotCom, Update Get-AzNetworkWatcherNextHop.md (#14813)
Dr Greg Low (@greglow-sdu), Update Get-AzSqlServerDnsAlias.md (#14737)
Prateek Singh (@PrateekKumarSingh)
fixing a typo (#14779)
fixing typo (#14773)
Remco Eissing (@remcoeissing)
Fixed typos in Restore-AzApiManagement (#14770)
Example 2 to use New-AzPolicyExemption (#14716)
@sharma224
User identity changes (#14803)
Supporting Customer managed key (#14680)
Yannick Dils (@yannickdils), Update Location explanation (#14719)

5.8.0 - April 2021

Az.Accounts
Fallback to first valid context if current default context key is 'Default' which is
invalid

Az.Automation

Added support for Customer Managed Key Encryption with System Assigned
Identity
Fixed issue that disables the schedule for update deployment if schedule was re-
created with same name

Az.Compute

Fixed a bug when 1 data disk attached to VMSS for Remove-AzVmssDataDisk


[#13368]
Added new cmdlets to support TrustedLaunch related cmdlets:
'Set-AzVmSecurityProfile'
'Set-AzVmUefi'
'Set-AzVmssSecurityProfile'
'Set-AzVmssUefi'
Edited default value for Size parameter in New-AzVM cmdlet from Standard_DS1_v2
to Standard_D2s_v3.

Az.ContainerRegistry
Fixed bug in 'Get-AzContainerRegistryManifest' showing incorrect image name

Az.HDInsight
Supported getting default vmsize from backend if customer does not provide the
related parameters: '-WorkerNodeSize', '-HeadNodeSize', '-ZookeeperNodeSize', '-
EdgeNodeSize', '-KafkaManagementNodeSize'.

Az.HealthcareApis
Added support for Acr LoginServers

Az.KeyVault
Fixed a bug for 'Get-AzKeyVaultSecret -AsPlainText' if the secret is not found
[#14645]

Az.Migrate
Nullref Bug fixed in get discovered server and initialize replication infrastructure
commandlets.

Az.Monitor

Added cmdlet to get diagnostic setting categories for subscription


'Get-AzSubscriptionDiagnosticSettingCategory'
Supported subscription diagnostic setting operations with new parameter:
SubscriptionId
'Get-AzDiagnosticSetting'
'New-AzDiagnosticSetting'
'Remove-AzDiagnosticSetting'
Supported 'AutoMitigate' parameter in metric alert rule properties. The flag
indicates whether the alert should be auto resolved or not.

Az.Resources
Added upcoming breaking change warnings on below cmdlets, because the value
of 'IdentifierUris' parameter will need verified domain.
'New-AzADApplication'
'Update-AzADApplication'
'New-AzADServicePrincipal'
'Update-AzADServicePrincipal'
Ignored Bicep warning message in error stream if exitcode equals zero.

Az.Sql

Added cmdlet output breaking change warnings to the following:


'New-AzSqlDatabase'
'Get-AzSqlDatabase'
'Set-AzSqlDatabase'
'Remove-AzSqlDatabase'
'New-AzSqlDatabaseSecondary'
'Remove-AzSqlDatabaseSecondary'
'Get-AzSqlDatabaseReplicationLink'
'New-AzSqlDatabaseCopy'
'Set-AzSqlDatabaseSecondary'

Az.Storage
Fixed copy blob fail with source context as Oauth [#14662]
'Start-AzStorageBlobCopy'

Az.StreamAnalytics

Added upcoming breaking change warning message to all cmdlets because of


upcoming changes on parameters.

Thanks to our community contributors


Andrei Zhukouski (@BurgerZ), Fix typo (#14575)
Mark Allison (@markallisongit), Update Invoke-AzSqlInstanceFailover.md (#14603)

5.7.0 - March 2021

Az.Accounts

Fixed incorrect warning message on Windows PowerShell [#14556]


Set Azure Environment variable 'AzureKeyVaultServiceEndpointResourceId'
according to the value of 'AzureKeyVaultDnsSuffix' when discovering environment
Az.Automation
Fixed the issue for starting Python3 runbooks with parameters

Az.DataFactory

Updated ADF .Net SDK version to 4.15.0

Az.EventHub

Fixed that 'New-AzServiceBusAuthorizationRuleSASToken' returns invalid token.


[#12975]

Az.IotHub
Updated IoT Hub Management SDK and models to version 3.0.0 (api-version 2020-
03-01)

Az.KeyVault

Supported upcoming new API design for 'Export-AzKeyVaultSecurityDomain'


Fixed several typos in cmdlet messages [#14341]

Az.Network
Added new cmdlets to replace old product name 'virtual router' with new name
'route server' in the future.
'Get-AzRouteServerPeerAdvertisedRoute'
'Get-AzRouteServerPeerAdvertisedRoute'
Added deprecation attribute warning to the old cmdlets.
Updated 'set-azExpressRouteGateway' to allow parameter -MinScaleUnits without
specifying -MaxScaleUnits
Updated cmdlets to enable setting of VpnLinkConnectionMode on
VpnSiteLinkConnections.
'New-AzVpnSiteLinkConnection'
'Update-AzVpnConnection'
Added new cmdlet to fetch IKE Security Associations for VPN Site Link Connections.
'Get-VpnSiteLinkConnectionIkeSa'
Added new cmdlet to reset a Virtual Network Gateway Connection.
'Reset-AzVirtualNetworkGatewayConnection'
Added new cmdlet to reset a Vpn Site Link Connection.
'Reset-VpnSiteLinkConnection'
Updated cmdlets to enable setting an optional parameter -TrafficSelectorPolicies
'New-AzVpnConnection'
'Update-AzVpnConnection'
Bug fix for update vpnServerConfiguration.
Add scenarioTest for p2s multi auth VWAN.
Added multi auth feature support for VNG
'Get-AzVpnClientConfiguration'
'New-AzVirtualNetworkGateway'
'Set-AzVirtualNetworkGateway'

Az.RecoveryServices
Added Cross Zonal Restore for managed virtual machines.

Az.RedisEnterpriseCache
GA version of Az.RedisEnterpriseCache

Az.Resources
Redirected bicep message to verbose stream
Removed the logic of copying Bicep template file to temp folder.
Add support of policy exemption resource type
Fixed what-if functionality when using '-QueryString' parameter.
Normalized '-QueryString' starting with '?' for scenarios involving dynamic
parameters.

Az.ServiceBus

Fixed that 'New-AzServiceBusAuthorizationRuleSASToken' returns invalid token.


[#12975]

Az.ServiceFabric
Added parameters 'VMImagePublisher', 'VMImageOffer', 'VMImageSku',
'VMImageVersion' to 'Add-AzServiceFabricNodeType' to facilitate easy alternate OS
image creation for new node type.
Added parameter 'IsPrimaryNodeType' to 'Add-AzServiceFabricNodeType' to be
able to create an additional primary node type, for the purpose of transitioning the
primary node type to another one in the case of OS migration.
'Add-AzServiceFabricNodeType' now correctly copies the LinuxDiagnostic extension.
This was previously not working for Linux.
'Add-AzServiceFabricNodeType' now correctly copies the RDP/SSH load balancer
inbound NAT port mapping to the new node type.
Added template for 'UbuntuServer1804' for creating Ubuntu 18.04 clusters using
'New-AzServiceFabricCluster'.
'Remove-AzServiceFabricNodeType' was incorrectly blocking Bronze durability node
types for removal, and this has been updated to only block when the Bronze
durability level differs between the SF node type and VMSS setting.
Added cmdlet 'Update-AzServiceFabricVmImage' to update the delivered SF
runtime package type. This must be changed when migrating from Ubuntu 16 to 18.
Added cmdlet 'Update-AzServiceFabricNodeType' to update the properties of a
cluster node type. For now this is solely used to update whether the node type is
primary via bool parameter '-IsPrimaryNodeType False'.
'Update-AzServiceFabricReliability' is now able to update reliability level when the
cluster has more than one primary node type. To do this, the name of the node type
is supplied via the new -NodeType parameter.
Added new cmdlets for managed applications:
'New-AzServiceFabricManagedClusterApplication'
'Get-AzServiceFabricManagedClusterApplication'
'Set-AzServiceFabricManagedClusterApplication'
'Remove-AzServiceFabricManagedClusterApplication'
'New-AzServiceFabricManagedClusterApplicationType'
'Get-AzServiceFabricManagedClusterApplicationType'
'Set-AzServiceFabricManagedClusterApplicationType'
'Remove-AzServiceFabricManagedClusterApplicationType'
'New-AzServiceFabricManagedClusterApplicationTypeVersion'
'Get-AzServiceFabricManagedClusterApplicationTypeVersion'
'Set-AzServiceFabricManagedClusterApplicationTypeVersion'
'Remove-AzServiceFabricManagedClusterApplicationTypeVersion'
'New-AzServiceFabricManagedClusterService'
'Get-AzServiceFabricManagedClusterService'
'Set-AzServiceFabricManagedClusterService'
'Remove-AzServiceFabricManagedClusterService'
Upgraded Managed Cluster commands to use Service Fabric Managed Cluster SDK
version 1.0.0-beta.1 which uses service fabric resource provider api-version 2021-
01-01-preview.

Az.Sql
Added cmdlet 'New-AzSqlServerTrustGroup'
Added cmdlet 'Remove-AzSqlServerTrustGroup'
Added cmdlet 'Get-AzSqlServerTrustGroup'

Az.Storage

Fixed an issue that list account from resource group won't use nextlink
'Get-AzStorageAccount'
Supported ChangeFeedRetentionInDays when Enable ChangeFeed on Blob service
'Update-AzStorageBlobServiceProperty'

Az.Websites
Updated 'Add-AzWebAppAccessRestrictionRule' to allow all supported Service Tags
and validate against Service Tag API.

Thanks to our community contributors


Freddie Sackur (@fsackur), Fix invalid SAS token from New-
AzServiceBusAuthorizationRuleSASToken and New-
AzEventHubAuthorizationRuleSASToken (#14535)
Serafín Martín (@infoTrainingym), Unkown parameter (#14515)
João Carlos Ferra de Almeida (@Jalmeida1994), Update Get-AzAksNodePool.md
(#14503)
Liam Barnett (@liambarnett), Fixed 3 typos in the document (#14335)
@sbojjawar-Msft, Update Set-
AzSqlDatabaseVulnerabilityAssessmentRuleBaseline.md (#14432)
Yannick Dils (@yannickdils), Remove resource group from get-azloadbalancer this
results in a region / zone update. (#14417)

5.6.0 - March 2021

Az.Accounts
Upgrade Azure.Identity to fix the issue that Connect-AzAccount fails when ADFS
credential is used [#13560]

Az.Automation

Fixed the issue that string cannot be serialized correctly. [#14215]


Added Support for Python3 Runbook Type
Az.Compute
Added parameter '-EnableHotpatching' to the 'Set-AzVMOperatingSystem' cmdlet
for Windows machines.
Added parameter '-PatchMode' to the Linux parameter sets in the cmdlet 'Set-
AzVMOperatingSystem'.
[Breaking Change] Breaking changes for users in the public preview for the VM
Guest Patching feature.
Removed property 'RebootStatus' from the
'Microsoft.Azure.Management.Compute.Models.LastPatchInstallationSummary'
object.
Removed property 'StartedBy' from the
'Microsoft.Azure.Management.Compute.Models.LastPatchInstallationSummary'
object.
Renamed property 'Kbid' to 'KbId' in the
'Microsoft.Azure.Management.Compute.Models.VirtualMachineSoftwarePatchProperties'
object.
Renamed property 'patches' to 'availablePatches' in the
'Microsoft.Azure.Management.Compute.Models.VirtualMachineAssessPatchesResult'
object.
Renamed object
'Microsoft.Azure.Management.Compute.Models.SoftwareUpdateRebootBehavior'
to
'Microsoft.Azure.Management.Compute.Models.VMGuestPatchRebootBehavior'.
Renamed object
'Microsoft.Azure.Management.Compute.Models.InGuestPatchMode' to
'Microsoft.Azure.Management.Compute.Models.WindowsVMGuestPatchMode'.
[Breaking Change] Removed all 'ContainerService' cmdlets. The Container Service
API was deprecated in January 2020.
'Add-AzContainerServiceAgentPoolProfile'
'Get-AzContainerService'
'New-AzContainerService'
'New-AzContainerServiceConfig'
'Remove-AzContainerService'
'Remove-AzContainerServiceAgentPoolProfile'
'Update-AzContainerService'

Az.ContainerRegistry
Fixed authentication for Connect-AzContainerRegistry
Az.CosmosDB
Introduced NetworkAclBypass and NetworkAclBypassResourceIds for Database
Account cmdlets.
Introduced ServerVersion parameter to Update-AzCosmosDBAccount.
Introduced BackupInterval and BackupRetention for Database Account cmdlets

Az.DataFactory
Updated ADF .Net SDK version to 4.14.0

Az.Migrate
Az.Migrate GA
Incorporated Initialize-AzMigrateReplicationInfrastructure as a cmdlet in the
Az.Migrate module, from the external script that is run currently today.
Made some parameters of New-AzMigrateServerReplication, New-
AzMigrateDiskMapping case insensitive.
Added support for scale appliance change, to handle new V3 keys.

Az.RecoveryServices
Added null check for target storage account in FileShare restore.

Az.Resources
Added support for Azure resources deployment in Bicep language
Fixed issues with TemplateSpec deployments in 'New-AzTenantDeployment' and
'New-AzManagementGroupDeployment'
Added support for '-QueryString' parameter in 'Test-Az*Deployments' cmdlets
Fixed issue with dynamic parameters when 'New-Az*Deployments' is used with '-
QueryString'
Added support for '-TemplateParameterObject' parameter while using '-
TemplateSpecId' parameter in 'New-Az*Deployments' cmdlets
Fixed the inaccurate error message received on trying to deploy a non-existent
template spec

Az.Storage

Upgraded to Microsoft.Azure.Management.Storage 19.0.0, to support new API


version 2021-01-01.
Supported resource access rule in NetworkRuleSet
'Update-AzStorageAccountNetworkRuleSet'
'Add-AzStorageAccountNetworkRule'
'Remove-AzStorageAccountNetworkRule'
Supported Blob version and Append Blob type in Management Policy
'Add-AzStorageAccountManagementPolicyAction'
'New-AzStorageAccountManagementPolicyFilter'
'Set-AzStorageAccountManagementPolicy'
Supported create/update account with AllowSharedKeyAccess
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported create Encryption Scope with RequireInfrastructureEncryption
'New-AzStorageEncryptionScope'
Supported copy block blob synchronously, with encryption scope
'Copy-AzStorageBlob'
Fixed issue that Get-AzStorageBlobContent use wrong directory separator char on
Linux and MacOS [#14234]

Az.Websites

Introduced an option to give custom timeout for 'Publish-AzWebApp'


Added support for App Service Environment
'New-AzAppServiceEnvironment'
'Remove-AzAppServiceEnvironment'
'Get-AzAppServiceEnvironment'
'New-AzAppServiceEnvironmentInboundServices'

Thanks to our community contributors


@alunmj, Small spelling, formatting changes (#14155)
@chakra146, Update Add-AzLoadBalancerInboundNatPoolConfig.md (#14231)
Martin Ehrnst (@ehrnst), Fixed a typo in the cmdlet (#14112)
Jan David Narkiewicz (@jdnark)
Examples used New-AzAks which is legacy cmdlet and the alias for New-
AzAksCluster. Changed examples to use New-AzAksCluster which is the cmdlet
this documentation page targets. (#14088)
Type fox: changed SshKeyVaule to SshKeyValue (#14087)
Ivan Kulezic (@kukislav), Add sql mi maintenance configuration examples (#14216)
@webguynj, Update Set-AzNetworkSecurityRuleConfig.md (#14176)
Yannick Dils (@yannickdils), Added an additional cmdline to the example which
applies the changes to the load balancer (#14185)
5.5.0 - February 2021

Az.Accounts

Tracked CloudError code in exception


Raised 'ContextCleared' event when 'Clear-AzContext' was executed

Az.Aks

Refined error messages of cmdlet failure.


Upgraded exception handling to use Azure PowerShell related exceptions.
Fixed the issue that user could not use provided service principal to create
Kubernetes cluster. [#13938]

Az.Automation
Fixed the issue of processing 'PSCustomObject' and 'Array'.

Az.Compute
Added parameter '-EnableAutomaticUpgrade' to 'Set-AzVmExtension' and 'Add-
AzVmssExtension'.
Removed FilterExpression parameter from 'Get-AzVMImage' cmdlet documentation.
Added deprecation message to the ContainerService cmdlets:
'Add-AzureRmContainerServiceAgentPoolProfileCommand'
'Get-AzContainerService'
'New-AzContainerService'
'New-AzContainerServiceConfig'
'Remove-AzContainerService'
'Remove-AzContainerServiceAgentPoolProfile'
'Update-AzContainerService'
Added parameter '-BurstingEnabled' to 'New-AzDiskConfig' and 'New-
AzDiskUpdateConfig'
Added '-GroupByApplicationId' and '-GroupByUserAgent' parameters to the
'Export-AzLogAnalyticThrottledRequest' and 'Export-
AzLogAnalyticRequestRateByInterval' cmdlets.
Added 'VMParameterSet' parameter set to 'Get-AzVMExtension' cmdlet. Added new
parameter '-VM' to this parameter set.

Az.ContainerRegistry
Added cmdlets to supported repository, manifest, and tag operations:
'Get-AzContainerRegistryRepository'
'Update-AzContainerRegistryRepository'
'Remove-AzContainerRegistryRepository'
'Get-AzContainerRegistryManifest'
'Update-AzContainerRegistryManifest'
'Remove-AzContainerRegistryManifest'
'Get-AzContainerRegistryTag'
'Update-AzContainerRegistryTag'
'Remove-AzContainerRegistryTag'

Az.Databricks
Supported -EnableNoPublicIP when creating a Databricks workspace

Az.FrontDoor
Added FrontDoorId to properties
Added JSON Exclusions and RequestBodyCheck support to managed rules

Az.HDInsight
Added new parameter '-EnableComputeIsolation' and '-ComputeIsolationHostSku'
to the cmdlet 'New-AzHDInsightCluster' to support compute isolation feature
Added property 'ComputeIsolationProperties' and 'ConnectivityEndpoints' in the
class AzureHDInsightCluster.

Az.KeyVault

Supported specifying key type and curve name when importing keys via a BYOK file

Az.Network
Added new cmdlets to replace old product name 'virtual router' with new name
'route server' in the future.
'New-AzRouteServer'
'Get-AzRouteServer'
'Remove-AzRouteServer'
'Update-AzRouteServer'
'Get-AzRouteServerPeer'
'Add-AzRouteServerPeer'
'Update-AzRouteServerPeer'
'Remove-AzRouteServerPeer'
Added deprecation attribute warning to the old cmdlets.
Bug fix in ExpressRouteLink MacSecConfig. Added new property 'SciState' to
'PSExpressRouteLinkMacSecConfig'
Updated format list and format table views for Get-
AzVirtualNetworkGatewayConnectionIkeSa

Az.PolicyInsights

Retracted changes made in powershell that increased request row limit. Removed
incorrect statement of supporting paging

Az.RecoveryServices
modified policy validation limits as per backup service.
Added Zone Redundancy for Recovery Service Vaults.
Azure Site Recovery support for Proximity placement group for VMware to Azure
and HyperV to Azure providers.
Azure Site Recovery support for Availability zone for VMware to Azure and HyperV
to Azure providers.
Azure Site Recovery support for UseManagedDisk for HyperV to Azure provider

Az.Resources

Removed principal type on New-AzRoleAssignment and Set-AzRoleAssignment


because current mapping was breaking certain scenarios

Az.Sql

Added MaintenanceConfigurationId to 'New-AzSqlDatabase', 'Set-AzSqlDatabase',


'New-AzSqlElasticPool' and 'Set-AzSqlElasticPool'
Fixed regression in 'Set-AzSqlServerAudit' when PredicateExpression argument is
provided

Az.Storage
Supported RoutingPreference settings in create/update Storage account
'New-AzStorageAccount'
'Set-AzStorageAccount'
Upgraded Azure.Storage.Blobs to 12.8.0
Upgraded Azure.Storage.Files.Shares to 12.6.0
Upgraded Azure.Storage.Files.DataLake to 12.6.0

Az.Websites

Added support for Importing a key vault certificate to WebApp.

Thanks to our community contributors


@atul-ram, Update Set-AzEventHub.md (#13921)
Christoph Bergmeister [MVP] (@bergmeister), Set-AzDataLakeGen2AclRecursive.md
- Fix typo (directiry -> directory) (#14082)
Alexander Schmidt (@devdeer-alex), Fixed broken link to contribution guidelines
(#14009)
@JiangYuchun, Update Get-AzApplicationGatewayAuthenticationCertificate.md
(#13972)
Sebastian Olsen (@Spacebjorn), Corrected example command (#13901)

5.4.0 - January 2021

Az.Accounts

Shown correct client request id on debug message [#13745]


Added common Azure PowerShell exception type
Supported storage API 2019-06-01

Az.Automation
Fixed issue where description was not populated for update management schedules

Az.CosmosDB
General availability of 'Az.CosmosDB' module
Restricting New-AzCosmosDBAccount cmdlet to make update calls to existing
Database Accounts.
Introducing AnalyticalStorageTTL in SqlContainer.

Az.IotHub

Fixed a regression regarding SAS token generation


Az.KeyVault
Fixed an issue in Secret Management module

Az.LogicApp

Fixed issue that 'Get-AzLogicAppTriggerHistory' and 'Get-AzLogicAppRunAction'


only retrieving the first page of results [#9141]

Az.Monitor
Added cmdlets for data collection rules:
'Get-AzDataCollectionRule'
'New-AzDataCollectionRule'
'Set-AzDataCollectionRule'
'Update-AzDataCollectionRule'
'Remove-AzDataCollectionRule'
Added cmdlets for data collection rules associations
'Get-AzDataCollectionRuleAssociation'
'New-AzDataCollectionRuleAssociation'
'Remove-AzDataCollectionRuleAssociation'

Az.Network

Added new cmdlets for CRUD of VpnGatewayNATRule.


'New-AzAzVpnGatewayNatRule'
'Update-AzAzVpnGatewayNatRule'
'Get-AzAzVpnGatewayNatRule'
'Remove-AzAzVpnGatewayNatRule'
Updated cmdlets to set NATRule on VpnGateway resource and associate it with
VpnSiteLinkConnection resource.
'New-AzVpnGateway'
'Update-AzVpnGateway'
'New-AzVpnSiteLinkConnection'
Updated cmdlets to enable setting of ConnectionMode on Virtual Network Gateway
Connections.
'New-AzVirtualNetworkGatewayConnection'
'Set-AzVirtualNetworkGatewayConnection'
Updated 'New-AzFirewallPolicyApplicationRule' cmdlet:
Added parameter TargetUrl
Added parameter TerminateTLS
Added new cmdlets for Azure Firewall Premium Features
'New-AzFirewallPolicyIntrusionDetection'
'New-AzFirewallPolicyIntrusionDetectionBypassTraffic'
'New-AzFirewallPolicyIntrusionDetectionSignatureOverride'
Updated New-AzFirewallPolicy cmdlet:
Added parameter -SkuTier
Added parameter -Identity
Added parameter -UserAssignedIdentityId
Added parameter -IntrusionDetection
Added parameter -TransportSecurityName
Added parameter -TransportSecurityKeyVaultSecretId
Added new cmdlet to fetch IKE Security Associations for Virtual Network Gateway
Connections.
'Get-AzVirtualNetworkGatewayConnectionIkeSa'
Added multiple Authentication support for p2sVpnGateway
Updated New-AzVpnServerConfiguration and Update-AzVpnServerConfiguration
to allow multiple authentication parameters to be set.
Updated 'New-AzVpnGateway' and 'New-AzP2sVpnGateway' cmdlet:
Added parameter EnableRoutingPreferenceInternetFlag

Az.RecoveryServices

Added Cross Region Restore feature.


Blocked getting workload config when target item is an availability group.

Az.Resources
Added support for -QueryString parameter in New-Az*Deployments cmdlets

Az.Sql
Made 'Start-AzSqlInstanceDatabaseLogReplay' cmdlet synchronous, added -AsJob
flag

Az.Storage
Fix ContinuationToken never null when list blob with -IncludeVersion
'Get-AzStorageBlob'

Az.Websites
Added support for App Service Managed certificates
'New-AzWebAppCertificate'
'Remove-AzWebAppCertificate'
Fixed issue that causes Docker Password to be removed from appsettings in 'Set-
AzWebApp' and 'Set-AzWebAppSlot'

Thanks to our community contributors


Ivan Akcheurov (@ivanakcheurov), Update Set-AzSecurityWorkspaceSetting.md
(#13877)
@javiermarasco, Update example (#13837)
@jhaprakash26, Update Set-AzVirtualNetwork.md (#13857)
Michael Holmes (@MichaelHolmesWP), Update New-
AzStorageTableStoredAccessPolicy.md (#13871)
Michael James (@mikejwhat), Allow Get-AzLogicAppTriggerHistory and Get-
AzLogicAppRunAction to return more than 30 results (#13846)
@Willem-J-an, Fix bug causing Docker Password to be removed from appsettings in
Set-AzWebApp(Slot) (#13866)

5.3.0 - December 2020

Az.Accounts

Fixed the issue that Http proxy is not respected in Windows PowerShell [#13647]
Improved debug log of long running operations in generated modules

Az.Automation
Fixed issue that parameters of 'Start-AzAutomationRunbook' cannot convert
PSObject wrapped string to JSON string [#13240]
Fixed location completer for New-AzAutomationUpdateManagementAzureQuery
cmdlet

Az.Compute
New parameter 'VM' in new parameter set 'VMParameterSet' added to 'Get-
AzVMDscExtensionStatus' and 'Get-AzVMDscExtension' cmdlets.
Edited 'New-AzSnapshot' cmdlet to check for existing snapshot with the same name
in the same resource group.
Throws an error if a duplicate snapshot exists.
Az.Databricks
Fixed an issue that may cause 'New-AzDatabricksVNetPeering' to return before it is
fully provisioned (https://github.com/Azure/autorest.powershell/issues/610 )

Az.DataFactory
Fixed the command 'Invoke-AzDataFactoryV2Pipeline' for SupportsShouldProcess
issue

Az.DesktopVirtualization

Added StartVMOnConnect property to hostpool.

Az.HDInsight

Added properties: Fqdn and EffectiveDiskEncryptionKeyUrl in the class


AzureHDInsightHostInfo.

Az.KeyVault
Added a new parameter '-AsPlainText' to 'Get-AzKeyVaultSecret' to directly return
the secret in plain text [#13630]
Supported selective restore a key from a managed HSM full backup [#13526]
Fixed some minor issues [#13583] [#13584]
Added missing return objects of 'Get-Secret' in SecretManagement module
Fixed an issue that may cause vault to be created without default access policy
[#13687]

Az.Kusto
Updated API version to 2020-09-18.

Az.Network
Fixed issue in remove peering and connection cmdlet for ExpressRouteCircuit
scenario
'Remove-AzExpressRouteCircuitPeeringConfig' and 'Remove-
AzExpressRouteCircuitConnectionConfig'
Az.PolicyInsights
Added support for returning paginated results for Get-AzPolicyState

Az.RecoveryServices

Enabled softdelete feature for SQL.


Fixed SQL AG restore and removed the container name check.
Changed container name format for Azure Files backup item.
Added CMK feature support for Recovery services vault.

Az.Resources
Fixed a NullRef exception issue in 'New-AzureManagedApplication' and 'Set-
AzureManagedApplication'.
Updated Azure Resource Manager SDK to use latest DeploymentScripts GA api-
version: 2020-10-01.

Az.ServiceFabric
Fixed 'Add-AzServiceFabricNodeType'. Added node type to service fabric cluster
before creating virtual machine scale set.

Az.Sql

Fixed parameter description for 'InstanceFailoverGroup' command.


Updated the logic in which schemaName, tableName and columnName are being
extracted from the id of SQL Data Classification commands.
Fixed Status and StatusMessage fields in 'Get-AzSqlDatabaseImportExportStatus' to
conform to documentation
Added Microsoft support operations (DevOps) auditing cmdlets: Get-
AzSqlServerMSSupportAudit, Set-AzSqlServerMSSupportAudit, Remove-
AzSqlServerMSSupportAudit

Az.Storage
Supported create/update/get/list EncryptionScope of a Storage account
'New-AzStorageEncryptionScope'
'Update-AzStorageEncryptionScope'
'Get-AzStorageEncryptionScope'
Supported create container and upload blob with Encryption Scope setting
'New-AzRmStorageContainer'
'New-AzStorageContainer'
'Set-AzStorageBlobContent'

Thanks to our community contributors


Andreas Wolter (@AndreasWolter), removed marketing language, better example
filter (#13671)
Tidjani Belmansour (@BelRarr), Update Get-AzBillingInvoice.md (#13634)
David Klempfner (@DavidKlempfner)
Fixed spelling mistake (#13677)
Update PSMetricNoDetails.cs (#13676)
@kilobyte97, bugfix for remove cmdlet to delete config (#13655)
@kongou-ae, Update Set-AzFirewall.md (#13727)
@MasterKuat, Fix swap between title and code in documentation (#13666)
NickT (@nukeulis), Update Set-AzContext.md (#13702)
@PaulHCode, Update Start-AzJitNetworkAccessPolicy.md - Fix the Example to
display the proper cmdlet being demonstrated (#13713)
Ryan Borstelmann (@ryanborMSFT), Removed Subscription ID (#13715)
Shashikant Shakya (@shshakya), Update Set-AzSqlDatabase.md (#13674)
Sebastian Olsen (@Spacebjorn), Update Get-AzRecoveryServicesBackupItem.md
(#13719)

5.2.0 - December 2020

Az.Accounts
Managed to parse ExpiresOn time from raw token if could not get from underlying
library
Improved warning message if Interactive authentication is unavailable

Az.ApiManagement
[Breaking change] 'New-AzApiManagementProduct' by default has no subscription
limit.

Az.Compute
Edited Get-AzVm to filter by '-Name' prior to checking for throttling due to too
many resources.
New cmdlet 'Start-AzVmssRollingExtensionUpgrade'.

Az.ContainerRegistry
Supported parameter 'Name' for and value from pipeline input for 'Get-
AzContainerRegistryUsage' [#13605]
Polished exceptions for 'Connect-AzContainerRegistry'

Az.DataFactory
Updated ADF .Net SDK version to 4.13.0

Az.HealthcareApis
Added support for customer managed keys

Az.IotHub
Fixed an issue of SAS token.

Az.KeyVault
Supported 'all' as an option when setting key vault access policies
Supported new version of SecretManagement module [#13366]
Supported ByteArray, String, PSCredential and Hashtable for 'SecretValue' in
SecretManagementModule [#12190]
[Breaking change] redesigned the API surface of cmdlets related to managed HSM.

Az.Monitor

Changed parameter 'Rule' of 'New-AzAutoscaleProfile' to accept empty list.


[#12903]
Added new cmdlets to support creating diagnostic settings more flexible:
'Get-AzDiagnosticSettingCategory'
'New-AzDiagnosticSetting'
'New-AzDiagnosticDetailSetting'

Az.RecoveryServices
Made help text and parameter set name changes to 'Restore-
AzRecoveryServicesBackupItem' cmdlet.

Az.Resources

Added '-Tag' parameter support to 'Set-AzTemplateSpec' and 'New-


AzTemplateSpec'
Added Tag display support to default formatter for Template Specs

Az.ServiceFabric

Added example to 'Set-AzServiceFabricSetting' with SettingsSectionDescription


param
Updated application related cmdlets to call out that support is only for ARM
deployed resources
Marked for deprecation cluster cert cmdlets 'Add-
AzureRmServiceFabricClusterCertificate' and 'Remove-
AzureRmServiceFabricClusterCertificate'

Az.Sql
Added SecondaryType to the following:
'New-AzSqlDatabase'
'Set-AzSqlDatabase'
'New-AzSqlDatabaseSecondary'
Added HighAvailabilityReplicaCount to the following:
'New-AzSqlDatabase'
'Set-AzSqlDatabase'
Made ReadReplicaCount an alias of HighAvailabilityReplicaCount in the following:
'New-AzSqlDatabase'
'Set-AzSqlDatabase'

Az.Storage

Supported upload Azure File size up to 4 TiB


'Set-AzStorageFileContent'
Upgraded Azure.Storage.Blobs to 12.7.0
Upgraded Azure.Storage.Files.Shares to 12.5.0
Upgraded Azure.Storage.Files.DataLake to 12.5.0
Az.StorageSync
Added Sync tiering policy feature with download policy and local cache mode

Az.Websites

Prevent duplicate access restriction rules

Thanks to our community contributors


Andrew Dawson (@dawsonar802), Update Get-AzKeyVaultCertificate.md - Get cert
and save it as pfx section to work with PowerShell Core (#13557)
@iviark, Healthcare APIs Powershell BYOK Updates (#13518)
John Duckmanton (@johnduckmanton), Correct spelling of TagPatchOperation
(#13508)
Michael James (@mikejwhat)
Get-AzLogicAppRunHistory Help Tidy (#13513)
Richard de Zwart (@mountain65)
Update Update-AzAppConfigurationStore.md (#13485)
Update New-AzCosmosDBAccount.md (#13490)
@SteppingRazor, New-AzApiManagementProduct: Change SubscriptionsLimit
parameter default value to None (#13457)
Steve Burkett (@SteveBurkettNZ), Fix Typo for WorkspaceResourceId parameter in
example (#13589)

5.1.0 - November 2020

Az.Accounts
Fixed an issue that TenantId may be not respected if using 'Connect-AzAccount -
DeviceCode'[#13477]
Added new cmdlet 'Get-AzAccessToken'
Fixed an issue that error happens if user profile path is inaccessible
Fixed an issue causing Write-Object error during Connect-AzAccount [#13419]
Added parameter 'ContainerRegistryEndpointSuffix' to: 'Add-AzEnvironment', 'Set-
AzEnvironment'
Supported interrupting login by hitting CTRL + C

Fixed an issue causing 'Connect-AzAccount -KeyVaultAccessToken' not working


[#13127]
Fixed null reference and method case insensitive in 'Invoke-AzRestMethod'
Az.Aks
Fixed the issue that user cannot use service principal to create a new Kubernetes
cluster. [#13012]

Az.AppConfiguration
General availability of 'Az.AppConfiguration' module

Az.DataFactory
Improved error message of 'New-
AzDataFactoryV2LinkedServiceEncryptedCredential' command

Az.DataLakeStore

Updated ADLS dataplane SDK to 1.2.4-alpha.


Changes:https://github.com/Azure/azure-data-lake-store-net/blob/preview-
alpha/CHANGELOG.md#version-124-alpha

Az.DesktopVirtualization
Added new MSIX Package cmdlets and updated Applications cmdlets.

Az.EventHub
Fixed Cluster commands for EventHub cluster without tags
Updated help text for PartnerNamespace of AzEventHubGeoDRConfiguration
commands

Az.HDInsight
Add parameters 'ResourceProviderConnection' and 'PrivateLink' to cmdlet 'New-
AzHDInsightCluster' to support relay outbound and private link feature
Add parameter 'AmbariDatabase' to cmdlet 'New-AzHDInsightCluster' to support
custom Ambari database feature
Add accept value 'AmbariDatabase' to the parameter 'MetastoreType' of the cmdlet
'Add-AzHDInsightMetastore'

Az.IotHub
Allowed tags in IoT Hub create cmdlet.

Az.KeyVault
Supported updating key vault tag

Az.LogicApp
Fixed for Get-AzLogicAppRunHistory only retrieving the first page of results

Az.Network
Updated below cmdlet
'New-AzLoadBalancerFrontendIpConfigCommand', 'Set-
AzLoadBalancerFrontendIpConfigCommand', 'Add-
AzLoadBalancerFrontendIpConfigCommand':
Added PublicIpAddressPrefix property
Added PublicIpAddressPrefixId property
Added new properties to the following cmdlets to allow for global load balancing
'New-AzLoadBalancer':
Added Sku Tier property
'New-AzPuplicIpAddress':
Added Sku Tier property
'New-AzPublicIpPrefix':
Added Sku Tier property
'New-AzLoadBalancerBackendAddressConfig':
Added LoadBalancerFrontendIPConfigurationId property
Updated planning to deprecate warnings for the following cmdlets
-'New-
AzVirtualHubRoute'
-'New-AzVirtualHubRouteTable'
-'Add-AzVirtualHubRoute'
-
'Add-AzVirtualHubRouteTable'
-'Get-AzVirtualHubRouteTable'
-'Remove-
AzVirtualHubRouteTable'
Added planning to deprecate warnings on the argument 'RouteTable' for the
following cmdlets
-'New-AzVirtualHub'
-'Set-AzVirtualHub'
-'Update-AzVirtualHub'
Made arguments '-MinScaleUnits' and '-MaxScaleUnits' optional in 'Set-
AzExpressRouteGateway'
Added new cmdlets to support Mutual Authentication and SSL Profiles on
Application Gateway
'Get-AzApplicationGatewayClientAuthConfiguration'
'New-AzApplicationGatewayClientAuthConfiguration'
'Remove-AzApplicationGatewayClientAuthConfiguration'
'Set-AzApplicationGatewayClientAuthConfiguration'
'Add-AzApplicationGatewayTrustedClientCertificate'
'Get-AzApplicationGatewayTrustedClientCertificate'
'New-AzApplicationGatewayTrustedClientCertificate'
'Remove-AzApplicationGatewayTrustedClientCertificate'
'Set-AzApplicationGatewayTrustedClientCertificate'
'Add-AzApplicationGatewaySslProfile'
'Get-AzApplicationGatewaySslProfile'
'New-AzApplicationGatewaySslProfile'
'Remove-AzApplicationGatewaySslProfile'
'Set-AzApplicationGatewaySslProfile'
'Get-AzApplicationGatewaySslProfilePolicy'
'Remove-AzApplicationGatewaySslProfilePolicy'
'Set-AzApplicationGatewaySslProfilePolicy'

Az.RecoveryServices
Specifying policy BackupTime is in UTC.
Modifying breaking change warning in Get-AzRecoveryServicesBackupJobDetails
cmdlet.
Updating sample script help text for Set-AzRecoveryServicesBackupProtectionPolicy
cmdlet.

Az.Resources

Fixed an issue where What-If shows two resource group scopes with different casing
Updated 'Export-AzResourceGroup' to use the SDK.
Added culture info to parse methods

Az.Sql

Fixed issues where Set-AzSqlDatabaseAudit were not support Hyperscale database


and database edition cannot be determined
Added MaintenanceConfigurationId to 'New-AzSqlInstance' and 'Set-AzSqlInstance'
Fixed a bug in GetAzureSqlDatabaseReplicationLink.cs where PartnerServerName
parameter was being checked for by value instead of key

Az.Websites
Added support for new access restriction features: ServiceTag, multi-ip and http-
headers
Thanks to our community contributors
John Q. Martin (@johnmart82), Adding firewall prerequisite information (#13385)
Manikandan Duraisamy (@madurais-msft), Corrected the PublicSubnetName
argument (#13417)
@mahortas, Update for -HostNames parameter values (#13349)
@MariachiForHire, added supported TrafficAnalyticsInterval values (#13304)
Michael James (@mikejwhat), Allow Get-AzLogicAppRunHistory to return more than
30 entries (#13393)
Shashikant Shakya (@shshakya), Update Restore-AzSqlInstanceDatabase.md
(#13404)

5.0.0 - October 2020

Az.Accounts
[Breaking Change] Removed 'Get-AzProfile' and 'Select-AzProfile'
Replaced Azure Directory Authentication Library with Microsoft Authentication
Library(MSAL)

Az.Aks
[Breaking Change] Removed parameter alias 'ClientIdAndSecret' in 'New-
AzAksCluster' and 'Set-AzAksCluster'.
[Breaking Change] Changed the default value of 'NodeVmSetType' in 'New-
AzAksCluster' from 'AvailabilitySet' to 'VirtualMachineScaleSets'.
[Breaking Change] Changed the default value of 'NetworkPlugin' in 'New-
AzAksCluster' from 'None' to 'azure'.
[Breaking Change] Removed parameter 'NodeOsType' in 'New-AzAksCluster' as it
supports only one value Linux.

Az.Billing

Added 'Get-AzBillingAccount' cmdlet


Added 'Get-AzBillingProfile' cmdlet
Added 'Get-AzInvoiceSection' cmdlet
Added new parameters in 'Get-AzBillingInvoice' cmdlet
Removed properties DownloadUrlExpiry, Type, BillingPeriodNames from the
response of Get-AzBillingInvoice cmdlet
Az.Cdn
Added cmdlets to support multi-origin and private link functionality

Az.CognitiveServices

Updated SDK to 7.4.0-preview.

Az.Compute

Added '-VmssId' parameter to 'New-AzVm'


Added 'PlatformFaultDomainCount' parameter to the 'New-AzVmss' cmdlet.
New cmdlet 'Get-AzDiskEncryptionSetAssociatedResource'
Added 'Tier' and 'LogicalSectorSize' optional parameters to the New-AzDiskConfig
cmdlet.
Added 'Tier', 'MaxSharesCount', 'DiskIOPSReadOnly', and 'DiskMBpsReadOnly'
optional parameters to the 'New-AzDiskUpdateConfig' cmdlet.

Az.ContainerRegistry
[Breaking Change] Updates API version to 2019-05-01
[Breaking Change] Removed SKU 'Classic' and parameter 'StorageAccountName'
from 'New-AzContainerRegistry'
Added New cmdlets: 'Connect-AzContainerRegistry', 'Import-AzContainerRegistry',
'Get-AzContainerRegistryUsage', 'New-AzContainerRegistryNetworkRule', 'Set-
AzContainerRegistryNetworkRule'
Added new parameter 'NetworkRuleSet' to 'Update-AzContainerRegistry'

Az.Databricks

Fixed a bug that may cause updating databricks workspace without -


EncryptionKeyVersion to fail.

Az.DataFactory
Updated ADF .Net SDK version to 4.12.0
Updated ADF encryption client SDK version to 4.14.7587.7
Added 'Stop-AzDataFactoryV2TriggerRun' and 'Invoke-AzDataFactoryV2TriggerRun'
commands
Az.DesktopVirtualization
Require Location property for creating top level arm objects.
* Made
ApplicationGroupType required for New-AzWvdApplicationGroup .
* Made

HostPoolArmPath required for New-AzWvdApplicationGroup .


* Added
PreferredAppGroupType for New-AzWvdHostPool .

Az.Functions
[Breaking Change] Removed 'IncludeSlot' switch parameter from all but one
parameter set of 'Get-AzFunctionApp'. The cmdlet now supports retrieving
deployment slots in the results when '-IncludeSlot' is specified.
Updated 'New-AzFunctionApp':
Fixed -DisableApplicationInsights so that no application insights project is
created when this option is specified. [#12728]
[Breaking Change] Removed support to create PowerShell 6.2 function apps.
[Breaking Change] Changed the default runtime version in Functions version 3 on
Windows for PowerShell function apps from 6.2 to 7.0 when the RuntimeVersion
parameter is not specified.
[Breaking Change] Changed the default runtime version in Functions version 3 on
Windows and Linux for Node function apps from 10 to 12 when the
RuntimeVersion parameter is not specified.
[Breaking Change] Changed the default runtime version in Functions version 3 on
Linux for Python function apps from 3.7 to 3.8 when the RuntimeVersion
parameter is not specified.

Az.HDInsight
For New-AzHDInsightCluster cmdlet:
Replaced parameter 'DefaultStorageAccountName' with
'StorageAccountResourceId'
Replaced parameter 'DefaultStorageAccountKey' with 'StorageAccountKey'
Replaced parameter 'DefaultStorageAccountType' with 'StorageAccountType'
Removed parameter 'PublicNetworkAccessType'
Removed parameter 'OutboundPublicNetworkAccessType'
Added new parameters: 'StorageFileSystem' and
'StorageAccountManagedIdentity' to support ADLSGen2
Added new parameter 'EnableIDBroker' to Support HDInsight ID Broker
Added new parameters: 'KafkaClientGroupId', 'KafkaClientGroupName' and
'KafkaManagementNodeSize' to support Kafka Rest Proxy
For New-AzHDInsightClusterConfig cmdlet:
Replaced parameter 'DefaultStorageAccountName' with
'StorageAccountResourceId'
Replaced parameter 'DefaultStorageAccountKey' with 'StorageAccountKey'
Replaced parameter 'DefaultStorageAccountType' with 'StorageAccountType'
Removed parameter 'PublicNetworkAccessType'
Removed parameter 'OutboundPublicNetworkAccessType'
For Set-AzHDInsightDefaultStorage cmdlet:
Replaced parameter 'StorageAccountName' with 'StorageAccountResourceId'
For Add-AzHDInsightSecurityProfile cmdlet:
Replaced parameter 'Domain' with 'DomainResourceId'
Removed the mandatory requirement for parameter 'OrganizationalUnitDN'

Az.KeyVault
[Breaking Change] Deprecated parameter DisableSoftDelete in 'New-AzKeyVault'
and EnableSoftDelete in 'Update-AzKeyVault'
[Breaking Change] Removed attribute SecretValueText to avoid displaying
SecretValue directly [#12266]
Supported new resource type: managed HSM
CRUD of managed HSM and cmdlets to operate keys on managed HSM
Full HSM backup/restore, AES key creation, security domain backup/restore,
RBAC

Az.ManagedServices
[Breaking Change] Updated parameters naming conventions and associated
examples

Az.Network

[Breaking Change] Removed parameter 'HostedSubnet' and added 'Subnet' instead


Added new cmdlets for Virtual Router Peer Routes
'Get-AzVirtualRouterPeerLearnedRoute'
'Get-AzVirtualRouterPeerAdvertisedRoute'
Updated New-AzFirewall cmdlet:
Added parameter '-SkuTier'
Added parameter '-SkuName' and made Sku as Alias for this
Removed parameter '-Sku'
[Breaking Change] Made 'Connectionlink' argument mandatory in 'Start-
AzVpnConnectionPacketCapture' and 'Stop-AzVpnConnectionPacketCapture'
[Breaking Change] Updated 'New-
AzNetworkWatcherConnectionMonitorEndPointObject' to remove parameter '-Filter'
[Breaking Change] Replaced 'New-
AzNetworkWatcherConnectionMonitorEndpointFilterItemObject' cmdlet with 'New-
AzNetworkWatcherConnectionMonitorEndpointScopeItemObject'
Updated 'New-AzNetworkWatcherConnectionMonitorEndPointObject' cmdlet:
Added parameter '-Type'
Added parameter '-CoverageLevel'
Added parameter '-Scope'
Updated 'New-AzNetworkWatcherConnectionMonitorProtocolConfigurationObject'
cmdlet with new parameter '-DestinationPortBehavior'

Az.RecoveryServices
Fixing Workload Restore for contributor permissions.
Added new parameter sets and validations for Restore-
AzRecoveryServicesBackupItem cmdlet.

Az.Resources
Fixed parsing bug
Updated ARM template What-If cmdlets to remove preview message from results
Fixed an issue where template deployment cmdlets crash if '-WhatIf' is set at a
higher scope [#13038]
Fixed an issue where template deployment cmdlets does not preserve case for
template parameters
Added a default API version to be used in 'Export-AzResourceGroup' cmdlet
Added cmdlets for Template Specs ('Get-AzTemplateSpec', 'Set-AzTemplateSpec',
'New-AzTemplateSpec', 'Remove-AzTemplateSpec', 'Export-AzTemplateSpec')
Added support for deploying Template Specs using existing deployment cmdlets
(via the new -TemplateSpecId parameter)
Updated 'Get-AzResourceGroupDeploymentOperation' to use the SDK.
Removed '-ApiVersion' parameter from '*-AzDeployment' cmdlets.

Az.Sql
Added DiffBackupIntervalInHours to 'Set-
AzSqlDatabaseBackupShortTermRetentionPolicy'
Fixed issue where New-AzSqlDatabaseExport fails if networkIsolation not specified
[#13097]
Fixed issue where New-AzSqlDatabaseExport and New-AzSqlDatabaseImport were
not returning OperationStatusLink in the result object [#13097]
Update Azure Paired Regions URL in Backup Storage Redundancy Warnings

Az.Storage
Removed obsolete property RestorePolicy.LastEnabledTime
'Enable-AzStorageBlobRestorePolicy'
'Disable-AzStorageBlobRestorePolicy'
'Get-AzStorageBlobServiceProperty'
'Update-AzStorageBlobServiceProperty'
Change Type of DaysAfterModificationGreaterThan from int to int?
'Set-AzStorageAccountManagementPolicy'
'Get-AzStorageAccountManagementPolicy'
'Add-AzStorageAccountManagementPolicyAction'
'New-AzStorageAccountManagementPolicyRule'
Supported create/update file share with access tier
'New-AzRmStorageShare'
'Update-AzRmStorageShare'
Supported set/update/remove Acl recursively on Datalake Gen2 item
'Set-AzDataLakeGen2AclRecursive'
'Update-AzDataLakeGen2AclRecursive'
'Remove-AzDataLakeGen2AclRecursive'
Supported Container access policy with new permission x,t
'New-AzStorageContainerStoredAccessPolicy'
'Set-AzStorageContainerStoredAccessPolicy'
Changed the output of get/set Container access policy cmdlet, by change the child
property Permission type from enum to String
'Get-AzStorageContainerStoredAccessPolicy'
'Set-AzStorageContainerStoredAccessPolicy'
Fixed a sample script issue of set management policy with json
'Set-AzStorageAccountManagementPolicy'

Az.Websites
Added support for Premium V3 pricing tier
Updated the WebSites SDK to 3.1.0

Thanks to our community contributors


@atul-ram, Update Get-AzDelegation.md (#13176)
@dineshreddy007, Get the App Roles assigned correctly in case of Stack HCI
registration using WAC token. (#13249)
@kongou-ae, Update New-AzOffice365PolicyProperty.md (#13217)
Lohith Chowdary Chilukuri (@Lochiluk), Update Set-AzApplicationGateway.md
(#13150)
Matthew Burleigh (@mburleigh)
Add links to PowerShell cmdlets referenced in the document (#13203)
Add links to PowerShell cmdlets referenced in the document (#13190)
Add links to PowerShell cmdlets referenced in the document (#13189)
add links to referenced cmdlets (#13137)
Add links to PowerShell cmdlets referenced in the document (#13204)
Add links to PowerShell cmdlets referenced in the document (#13205)

4.8.0 - October 2020

Az.Accounts
Fixed DateTime parse issue in common libraries [#13045]

Az.CognitiveServices
Added 'New-AzCognitiveServicesAccountApiProperty' cmdlet.
Supported 'ApiProperty' parameter for 'New-AzCognitiveServicesAccount' and 'Set-
AzCognitiveServicesAccount'

Az.Compute
Fixed issue in 'Update-ASRRecoveryPlan' by populating FailoverTypes
Added the '-Top' and '-OrderBy' optional parameters to the 'Get-AzVmImage'
cmdlet.

Az.Databricks

General availability of 'Az.Databricks' module


Added support for virtual network peering

Az.DataFactory
Fixed typo in output messages
Az.EventHub
Added optional switch parameter 'TrustedServiceAccessEnabled' to 'Set-
AzEventHubNetworkRuleSet' cmdlet

Az.HDInsight
Added warning message for planning to deprecate the parameters
'PublicNetworkAccessType' and 'OutboundPublicNetworkAccessType'
Added warning message for planning to replace the parameter
'DefaultStorageAccountName' with 'StorageAccountResourceId'
Added warning message for planning to replace the parameter
'DefaultStorageAccountKey' with 'StorageAccountKey'
Added warning message for planning to replace the parameter
'DefaultStorageAccountType' with 'StorageAccountType'
Added warning message for planning to replace the parameter
'DefaultStorageContainer' with 'StorageContainer'
Added warning message for planning to replace the parameter
'DefaultStorageRootPath' with 'StorageRootPath'

Az.IotHub

Updated devices sdk.

Az.KeyVault

Provided the detailed date of removing property SecretValueText

Az.ManagedServices

Updated breaking change warnings on cmdlets of managed services assignment


and definition

Az.Monitor
Fixed the bug that warning message cannot be suppressed. [#12889]
Supported 'SkipMetricValidation' parameter in alert rule criteria. Allows creating an
alert rule on a custom metric that isn't yet emitted, by causing the metric validation
to be skipped.
Az.Network
Added Office365 Policy to VPNSite Resource
'New-AzO365PolicyProperty'

Az.RecoveryServices
Added container name validation for workload backup.

Az.RedisCache
Made 'New-AzRedisCache' and 'Set-AzRedisCache' cmdlets not fail because of
permission issue related to registering Microsoft.Cache RP

Az.Sql

Added BackupStorageRedundancy to the following:


'Restore-AzureRmSqlDatabase'
'New-AzSqlDatabaseCopy'
'New-AzSqlDatabaseSecondary'
Removed case sensitivity for BackupStorageRedundancy parameter for all SQL DB
references
Updated BackupStorageRedundancy warning message names

Az.Storage
Supported enable/disable/get share soft delete properties on file Service of a
Storage account
'Update-AzStorageFileServiceProperty'
'Get-AzStorageFileServiceProperty'
Supported list file shares include the deleted ones of a Storage account, and Get
single file share usage
'Get-AzRmStorageShare'
Supported restore a deleted file share
'Restore-AzRmStorageShare'
Changed the cmdlets for modify blob service properties, won't get the original
properties from server, but only set the modified properties to server.
'Enable-AzStorageBlobDeleteRetentionPolicy'
'Disable-AzStorageBlobDeleteRetentionPolicy'
'Enable-AzStorageBlobRestorePolicy'
'Disable-AzStorageBlobRestorePolicy'
'Update-AzStorageBlobServiceProperty'
Fixed help issue for New-AzStorageAccount parameter -Kind default value [#12189]
Fixed issue by add example to show how to set correct ContentType in blob upload
[#12989]

Thanks to our community contributors


@felickz, Clarify escaping special characters in Subject (#13028)
Martin Zurita (@Gorgoras), Corrected some typos in messages. (#12999)
@kingsleyAzure
Add managed hsm uri in regex matching (#12912)
Add Managed HSM support for SQL (#13073)
@MasterKuat, Fixed complaint on Managed instance's system database for
vulnerability assessment (#12971)

4.7.0 - September 2020

Az.Accounts
Formatted the upcoming breaking change messages
Updated Azure.Core to 1.4.1

Az.Aks
Added client side parameter validation logic for 'New-AzAksCluster', 'Set-
AzAksCluster' and 'New-AzAksNodePool'. [#12372]
Added support for add-ons in 'New-AzAksCluster'. [#11239]
Added cmdlets 'Enable-AzAksAddOn' and 'Disable-AzAksAddOn' for add-ons.
[#11239]
Added parameter 'GenerateSshKey' for 'New-AzAksCluster'. [#12371]
Updated api version to 2020-06-01.

Az.CognitiveServices

Showed additional legal terms for certain APIs.

Az.Compute

Added the '-EncryptionType' optional parameter to 'New-


AzVmDiskEncryptionSetConfig'
New cmdlets for new resource type: DiskAccess 'Get-AzDiskAccess', 'New-
AzDiskAccess', 'Get-AzDiskAccess'
Added optional parameters '-DiskAccessId' and '-NetworkAccessPolicy' to 'New-
AzSnapshotConfig'
Added optional parameters '-DiskAccessId' and '-NetworkAccessPolicy' to 'New-
AzDiskConfig'
Added 'PatchStatus' property to VirtualMachine Instance View
Added 'VMHealth' property to the virtual machine's instance view, which is the
returned object when 'Get-AzVm' is invoked with '-Status'
Added 'AssignedHost' field to 'Get-AzVM' and 'Get-AzVmss' instance views. The
field shows the resource id of the virtual machine instance
Added optional parameter '-SupportAutomaticPlacement' to 'New-AzHostGroup'
Added the '-HostGroupId' parameter to 'New-AzVm' and 'New-AzVmss'

Az.DataFactory
Updated ADF .Net SDK version to 4.11.0

Az.EventHub
Added new Cluster cmdlets - 'New-AzEventHubCluster', 'Set-AzEventHubCluster',
'Get-AzEventHubCluster', 'Remove-AzEventHubCluster', 'Get-
AzEventHubClustersAvailableRegions'.
Fixed for issue #10722 : Fix for assigning only 'Listen' to AuthorizationRule rights.

Az.Functions
Removed the ability to create v2 Functions in regions that do not support it.
Deprecated PowerShell 6.2. Added a warning for when a user creates a PowerShell
6.2 function app that advises them to create a PowerShell 7.0 function app instead.

Az.HDInsight
Supported creating cluster with Autoscale configuration
Add new parameter 'AutoscaleConfiguration' to the cmdlet 'New-
AzHDInsightCluster'
Supported operating cluster's Autoscale configuration
Add new cmdlet 'Get-AzHDInsihgtClusterAutoscaleConfiguration'
Add new cmdlet 'New-AzHDInsihgtClusterAutoscaleConfiguration'
Add new cmdlet 'Set-AzHDInsihgtClusterAutoscaleConfiguration'
Add new cmdlet 'Remove-AzHDInsihgtClusterAutoscaleConfiguration'
Add new cmdlet 'New-AzHDInsihgtClusterAutoscaleScheduleCondition'

Az.KeyVault
Added support for RBAC authorization [#10557]
Enhanced error handling in 'Set-AzKeyVaultAccessPolicy' [#4007]

Az.Kusto

General availability of 'Az.Kusto' module

Az.Network

[Breaking Change] Updated below cmdlets to align resource virtual router and
virtual hub
'New-AzVirtualRouter':
Added -HostedSubnet parameter to support IP configuration child resource
deleted -HostedGateway and -HostedGatewayId
'Get-AzVirtualRouter':
Added subscription level parameter set
'Remove-AzVirtualRouter'
'Add-AzVirtualRouterPeer'
'Get-AzVirtualRouterPeer'
'Remove-AzVirtualRouterPeer'
Added new cmdlet for Azure Express Route Port
'New-AzExpressRoutePortLOA'
Added RemoteBgpCommunities property to the VirtualNetwork Peering Resource
Modified the warning message for 'New-AzLoadBalancerFrontendIpConfig', 'New-
AzPublicIpAddress' and 'New-AzPublicIpPrefix'.
Added VpnGatewayIpConfigurations to 'Get-AzVpnGateway' output
Fixed bug for 'Set-AzApplicationGatewaySslCertificate' [#9488]
Added 'AllowActiveFTP' parameter to 'AzureFirewall'
Updated below commands for feature: Enable internet security set/remove on
VirtualWan P2SVpnGateway.

Updated 'New-AzP2sVpnGateway': Added optional switch parameter


'EnableInternetSecurityFlag' for customers to set true to enable internet security on
P2SVpnGateway, which will be applied for Point to site clients.
Updated 'Update-AzP2sVpnGateway': Added optional switch parameters
'EnableInternetSecurityFlag' or 'DisableInternetSecurityFlag' for customers to set
true/false to enable/disable internet security on P2SVpnGateway, which will be
applied for Point to site clients.

Added new cmdlet 'Reset-AzP2sVpnGateway' for customers to reset/reboot their


VirtualWan P2SVpnGateway for troubleshooting.
Added new cmdlet 'Reset-AzVpnGateway' for customers to reset/reboot their
VirtualWan VpnGateway for troubleshooting.
Updated 'Set-AzVirtualNetworkSubnetConfig'
Set NSG and Route Table properties of subnet to null if explicitly set in
parameters [#1548][#9718]

Az.RecoveryServices

Fixed the Delete State for workload Backup Items.

Az.Resources

Added missing check for Set-AzRoleAssignment


Added breaking change attribute to 'SubscriptionId' parameter of 'Get-
AzResourceGroupDeploymentOperation'
Updated ARM template What-If cmdlets to show 'Ignore' resource changes last
Fixed secure and array parameter serialization issues for deployment cmdlets
[#12773]

Az.ServiceFabric

Added new cmdlets for managed clusters and node types:


'New-AzServiceFabricManagedCluster'
'Get-AzServiceFabricManagedCluster'
'Set-AzServiceFabricManagedCluster'
'Remove-AzServiceFabricManagedCluster'
'Add-AzServiceFabricManagedClusterClientCertificate'
'Remove-AzServiceFabricManagedClusterClientCertificate'
'New-AzServiceFabricManagedNodeType'
'Get-AzServiceFabricManagedNodeType'
'Set-AzServiceFabricManagedNodeType'
'Remove-AzServiceFabricManagedNodeType'
'Add-AzServiceFabricManagedNodeTypeVMExtension'
'Add-AzServiceFabricManagedNodeTypeVMSecret'
'Remove-AzServiceFabricManagedNodeTypeVMExtension'
'Restart-AzServiceFabricManagedNodeTyp'
Upgraded Service Fabric SDK to version 1.2.0 which uses service fabric resource
provider api-version 2020-03-01 for the current model and 2020-01-01-preview for
managed clusters.

Az.Sql
Added BackupStorageRedundancy to 'New-AzSqlInstance' and 'Get-AzSqlInstance'
Added cmdlet 'Get-AzSqlServerActiveDirectoryOnlyAuthentication'
Added cmdlet 'Enable-AzSqlServerActiveDirectoryOnlyAuthentication'
Added Force parameter to 'New-AzSqlInstance'
Added cmdlets for Managed Database Log Replay service
'Start-AzSqlInstanceDatabaseLogReplay'
'Get-AzSqlInstanceDatabaseLogReplay'
'Complete-AzSqlInstanceDatabaseLogReplay'
'Stop-AzSqlInstanceDatabaseLogReplay'
Added cmdlet 'Get-AzSqlInstanceActiveDirectoryOnlyAuthentication'
Added cmdlet 'Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication'
Added cmdlet 'Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication'
Updated cmdlets 'New-AzSqlDatabaseImport' and 'New-AzSqlDatabaseExport' to
support network isolation functionality
Added cmdlet 'New-AzSqlDatabaseImportExisting'
Updated Databases cmdlets to support backup storage type specification
Added Force parameter to 'New-AzSqlDatabase'
Added warning for BackupStorageRedundancy configuration in select regions in
'New-AzSqlDatabase'
Updated ActiveDirectoryOnlyAuthentication cmdlets for server and instance to
include ResourceId and InputObject

Az.Storage
Fixed upload blob fail by upgrade to Microsoft.Azure.Storage.DataMovement 2.0.0
[#12220]
Supported Point In Time Restore
'Enable-AzStorageBlobRestorePolicy'
'Disable-AzStorageBlobRestorePolicy'
'New-AzStorageBlobRangeToRestore'
'Restore-AzStorageBlobRange'
Supported get blob restore status of Storage account by run get-
AzureRMStorageAccount with parameter -IncludeBlobRestoreStatus
'Get-AzureRMStorageAccount'
Added breaking change warning message for upcoming cmdlet output change
'Get-AzStorageContainerStoredAccessPolicy'
'Set-AzStorageContainerStoredAccessPolicy'
'Set-AzStorageAccountManagementPolicy'
'Get-AzStorageAccountManagementPolicy'
'Add-AzStorageAccountManagementPolicyAction'
'New-AzStorageAccountManagementPolicyRule'
Upgraded Microsoft.Azure.Cosmos.Table SDK to 1.0.8

Thanks to our community contributors


Thomas Van Laere (@ThomVanL), Add Dockerfile-alpine-3.10 (#12911)
Lohith Chowdary Chilukuri (@Lochiluk), Update Remove-
AzNetworkInterfaceIpConfig.md (#12807)
Roberth Strand (@roberthstrand), Get-AzResourceGroup - New example, and
cleanup (#12828)
Ravi Mishra (@inmishrar), update Azure Web App runtime stack to DOTNETCORE
(#12833)
@jack-education, Updated Set-AzVirtualNetworkSubnetConfig to allow NSG and
Route Table to be removed from subnet (#12351)
@hagop-globanet, Update Add-AzApplicationGatewayCustomError.md (#12784)
Joshua Van Daalen (@greenSacrifice)
Update spelling of Property to Property (#12821)
Update New-AzResourceLock.md examples (#12806)
Eragon Riddle (@eragonriddle), Corrected parameter field name in the example
(#12825)
@rossifumax, Fix typo in New-AzConfigurationAssignment.md (#12701)

4.6.1 - August 2020

Az.Compute
Patched '-EncryptionAtHost' parameter in 'New-AzVm' to remove default value of
false [#12776]

4.6.0 - August 2020

Az.Accounts
Loaded all public cloud environments when discovery endpoint doesn't return
default AzureCloud or other public environments [#12633]
Exposed SubscriptionPolicies in 'Get-AzSubscription' [#12551]

Az.Automation
Added '-RunOn' parameters to 'Set-AzAutomationWebhook' to specify a Hybrid
Worker Group

Az.Compute

Added '-EncryptionAtHost' parameter to 'New-AzVm', 'New-AzVmss', 'New-


AzVMConfig', 'New-AzVmssConfig', 'Update-AzVM', and 'Update-AzVmss'
Added 'SecurityProfile' to 'Get-AzVM' and 'Get-AzVmss' return object
Added '-InstanceView' switch as optional parameter to 'Get-AzHostGroup'
Added new cmdlet 'Invoke-AzVmPatchAssessment'

Az.DataFactory
Added missing properties to PSPipelineRun class.

Az.HDInsight
Supported creating cluster with encryption at host feature.

Az.KeyVault
Added warning messages for planning to disable soft delete
Added warning messages for planning to remove attribute SecretValueText

Az.Maintenance
Added optional schedule related fields to 'New-AzMaintenanceConfiguration'
Added new cmdlet for 'Get-AzMaintenancePublicConfiguration'

Az.ManagedServices

Added breaking change warnings on cmdlets of managed services assignment and


definition
Az.Monitor
Extended the parameter set in 'Set-AzDiagnosticSetting' for separation of Logs and
Metrics enablement [#12482]
Fixed bug for 'Add-AzMetricAlertRuleV2' when getting metric alert from pipeline

Az.Resources

Updated 'Get-AzPolicyAlias' response to include information indicating whether the


alias is modifiable by Azure Policy.
Created new cmdlet 'Set-AzRoleAssignment'
Added 'Get-AzDeploymentManagementGroupWhatIfResult' for getting ARM
template What-If results at management Group scope
Added 'Get-AzTenantWhatIfResult' new cmdlet for getting ARM template What-If
results at tenant scope
Overrode '-WhatIf' and '-Confirm' for 'New-AzManagementGroupDeployment' and
'New-AzTenantDeployment' to use ARM template What-If results
Fixed the behaviors of '-WhatIf' and '-Confirm' for new deployment cmdlets so they
comply with False and
Fixed serialization error for '-TemplateObject' and 'TemplateParameterObject'
[#1528] [#6292]
Added breaking change attribute to 'Get-AzResourceGroupDeploymentOperation'
for the upcoming output type change

Az.SignalR
Fixed 'Restart-AzSignalR' and 'Update-AzSignalR' help files errors
Added cmdlets 'Update-AzSignalRNetworkAcl', 'Set-AzSignalRUpstream'

Az.Storage

Supported blob query acceleration


'Get-AzStorageBlobQueryResult'
'New-AzStorageBlobQueryConfig'
Updated help file, added more description, and fixed typo
'Start-AzStorageBlobCopy'
'Get-AzDataLakeGen2Item'
Fixed download blob fail when related sub directory not exist [#12592]
'Get-AzStorageBlobContent'
Supported Set/Get/Remove Object Replication Policy on Storage accounts
'New-AzStorageObjectReplicationPolicyRule'
'Set-AzStorageObjectReplicationPolicy'
'Get-AzStorageObjectReplicationPolicy'
'Remove-AzStorageObjectReplicationPolicy'
Supported enable/disable ChangeFeed on Blob Service of a Storage account
'Update-AzStorageBlobServiceProperty'

4.5.0 - August 2020

Az.Accounts

Updated 'Connect-AzAccount' to accept parameter 'MaxContextPopulation' [#9865]


Updated SubscriptionClient version to 2019-06-01 and display tenant domains
[#9838]
Supported home tenant and managedBy tenant information of subscription
Corrected module name, version info in telemetry data
Adjusted SqlDatabaseDnsSuffix and ServiceManagementUrl if environment
metadata endpoint returns incompatible value

Az.Aks

Removed 'ClientIdAndSecret' to 'ServicePrincipalIdAndSecret' and set


'ClientIdAndSecret' as an alias [#12381].
Removed 'Get-AzAks'/'New-AzAks'/'Remove-AzAks'/'Set-AzAks' to 'Get-
AzAksCluster'/'New-AzAksCluster'/'Remove-AzAksCluster'/'Set-AzAksCluster' and
set the original ones as alias [#12373].

Az.ApiManagement

Added new 'Add-AzApiManagementApiToGateway' cmdlet.


Added new 'Get-AzApiManagementGateway' cmdlet.
Added new 'Get-AzApiManagementGatewayHostnameConfiguration' cmdlet.
Added new 'Get-AzApiManagementGatewayKey' cmdlet.
Added new 'New-AzApiManagementGateway' cmdlet.
Added new 'New-AzApiManagementGatewayHostnameConfiguration' cmdlet.
Added new 'New-AzApiManagementResourceLocationObject' cmdlet.
Added new 'Remove-AzApiManagementApiFromGateway' cmdlet.
Added new 'Remove-AzApiManagementGateway' cmdlet.
Added new 'Remove-AzApiManagementGatewayHostnameConfiguration' cmdlet.
Added new 'Update-AzApiManagementGateway' cmdlet.
Added new optional [-GatewayId] parameter to the 'Get-AzApiManagementApi'
cmdlet.

Az.CognitiveServices

Used 'Deny' specifically as NetworkRules default action.

Az.FrontDoor

Fixed an issue where an exception is being thrown when Enum.Parse tries to coerce
a null value to an Enabled or Disabled enum values [#12344]

Az.HDInsight
Supported creating cluster with encryption in transit feature.
Add new parameter 'EncryptionInTransit' to the cmdlet 'New-AzHDInsightCluster'
Add new parameter 'EncryptionInTransit' to the cmdlet 'New-
AzHDInsightClusterConfig'
Supported creating cluster with private link feature:
Add new parameter 'PublicNetworkAccessType' and
'OutboundPublicNetworkAccessType' to the cmdlet 'New-AzHDInsightCluster'
Add new parameter 'PublicNetworkAccessType' and
'OutboundPublicNetworkAccessType' to the cmdlet 'New-
AzHDInsightClusterConfig'
Returned virtual network information when calling 'New-AzHDInsightCluster' or
'Get-AzHDInsightCluster'

Az.Network

Added support for AddressPrefixType parameter to 'Remove-


AzExpressRouteCircuitConnectionConfig'
Added non-breaking changes: PeerAddressType functionality for Private Peering in
'Remove-AzExpressRouteCircutPeeringConfig'.
Code changed to ignore case for AddressPrefixType and PeerAddressType
parameter.
Modified the warning message for 'New-AzLoadBalancerFrontendIpConfig', 'New-
AzPublicIpAddress' and 'New-AzPublicIpPrefix'.

Az.OperationalInsights
Added '-ForceDelete' option for 'Remove-AzOperationalInsightsworkspace'
Added new cmdlet 'Get-AzOperationalInsightsDeletedWorkspace'
Added new cmdlet 'Restore-AzOperationalInsightsWorkspace'

Az.RecoveryServices

Improved the Azure Backup container/item discovery experience.

Az.Resources

Added properties 'Condition', 'ConditionVersion' and 'Description' to 'New-


AzRoleAssignment'
This included all the relevant changes to the data models

Az.Sql

Fixed potential server name case insensitive error in 'New-AzSqlServer' and 'Set-
AzSqlServer'
Fixed wrong database name returned on existing database error in 'New-
AzSqlDatabaseSecondary'

Az.Storage

Supported create container/blob Sas token with new permission x,t


'New-AzStorageBlobSASToken'
'New-AzStorageContainerSASToken'
Supported create account Sas token with new permission x,t,f
'New-AzStorageAccountSASToken'
Supported get single file share usage
'Get-AzRmStorageShare'

4.4.0 - July 2020

Az.Accounts

Added new cmdlet 'Invoke-AzRestMethod'


Fixed an issue that may cause authentication errors in multi-process scenarios such
as running multiple Azure PowerShell cmdlets using 'Start-Job' [#9448]

Az.Aks
Fixed bug 'Get-AzAks' doesn't get all clusters [#12296]

Az.AnalysisServices
Removed project reference to Authentication

Az.Automation
Fixed the issue that string with escape chars cannot be converted into json object.

Az.Compute
Added warning when using 'New-AzVmss' without 'latest' image version

Az.DataFactory
Added global parameters to Data Factory.

Az.EventGrid
Updated to use the 2020-06-01 API version.
Added new features:
Input mapping
Event Delivery Schema
Private Link
Cloud Event V10 Schema
Service Bus Topic As Destination
Azure Function As Destination
WebHook Batching
Secure webhook (AAD support)
IpFiltering
Updated cmdlets:
'New-AzEventGridSubscription'/'Update-AzEventGridSubscription':
Add new optional parameters to support webhook batching.
Add new optional parameters to support secured webhook using AAD.
Add new enum for EndpointType parameter to support azure function and
service bus topic as new destinations.
Add new optional parameter for delivery schema.
'New-AzEventGridTopic'/'Update-AzEventGridTopic' and 'New-
AzEventGridDomain'/'Update-AzEventGridDomain':
Add new optional parameters to support IpFiltering.
'New-AzEventGridTopic'/'New-AzEventGridDomain':
Add new optional parameters to support Input mapping.

Az.FrontDoor

Updated module to use API 2020-05-01


Added Private link support for Storage, Keyvault and Web App Service resources

Az.HDInsight
Supported creating cluster with ADLSGen1/2 storage in national clouds.

Az.Monitor
Fixed bug for 'Get-AzDiagnosticSetting' when metrics or logs are null [#12272]

Az.Network
Fixed parameters swap in VWan HubVnet connection
Added new cmdlets for Azure Network Virtual Appliance Sites
'Get-AzVirtualApplianceSite'
'New-AzVirtualApplianceSite'
'Remove-AzVirtualApplianceSite'
'Update-AzVirtualApplianceSite'
'New-AzOffice365PolicyProperty'
Added new cmdlets for Azure Network Virtual Appliance
'Get-AzNetworkVirtualAppliance'
'New-AzNetworkVirtualAppliance'
'Remove-AzNetworkVirtualAppliance'
'Update-AzNetworkVirtualAppliance'
'Get-AzNetworkVirtualApplianceSku'
'New-AzVirtualApplianceSkuProperty'
Onboarded Application Gateway to Private Link Common Cmdlets
Onboarded StorageSync to Private Link Common Cmdlets
Onboarded SignalR to Private Link Common Cmdlets

Az.RecoveryServices

Removed project reference to Authentication


Azure Backup tuned cmdlets help text to be more accurate.
Azure Backup added support for fetching MAB agent jobs using 'Get-
AzRecoveryServicesBackupJob' cmdlet.

Az.Resources

Updated 'Save-AzResourceGroupDeploymentTemplate' to use the SDK.


Added 'Unregister-AzResourceProvider' cmdlet.

Az.Sql
Added support for Service principal and guest users in Set-
AzSqlInstanceActiveDirectoryAdministrator cmdlet'
Fixed a bug in Data Classification cmdlets.'
Added support for Azure SQL Managed Instance failover: 'Invoke-
AzSqlInstanceFailover'

Az.Storage

Fixed the issue that UserAgent is not added for some data plane cmdlets.
Supported create/update Storage account with MinimumTlsVersion and
AllowBlobPublicAccess
'New-AzStorageAccount'
'Set-AzStorageAccount'
Support enable/disable versioning on Blob Service of a Storage account
'Update-AzStorageBlobServiceProperty'
Support list blobs with blob versions
'Get-AzStorageBlob'
Support get/remove single blob snapshot or blob version
'Get-AzStorageBlob'
'Remove-AzStorageBlob'
Support pipeline from blob object generated from Azure.Storage.Blobs V12
'Get-AzStorageBlobContent'
'New-AzStorageBlobSASToken'
'Remove-AzStorageBlob'
'Set-AzStorageBlobContent'
'Start-AzStorageBlobCopy'

Az.StorageSync

Added a new version StorageSync SDK targeting ApiVersion 2020-03-01


Added Update Storage Sync Service cmdlet
'Set-AzStorageSyncService'
Added IncomingTrafficPolicy and PrivateEndpointConnections to
StorageSyncService cmdlets.

Az.Websites
Added support to perform operations for Slots not in the same resource group as
the App Service Plan

4.3.0 - June 2020

Az.Accounts
Supported discovering environment setting by default and adding environment via
'Add-AzEnvironment'
Update preloaded assemblies [#12024], [#11976]
Updated Azure.Core assembly
Fixed an issue that may cause 'Connect-AzAccount' to fail in multi-threaded
execution [#11201]

Az.Aks
Replaced usage of old AccessProfile API with calls to ListClusterAdmin and
ListClusterUser APIs

Az.Batch
Updated Az.Batch to use 'Microsoft.Azure.Management.Batch' SDK version to 11.0.0
Added the ability to set the BatchAccount Identity in the 'New-AzBatchAccount'
cmdlet

Az.CognitiveServices
Supported displaying account capabilities.
Supported modifying PublicNetworkAccess.

Az.Compute

Added SimulateEviction parameter to Set-AzVM and Set-AzVmssVM cmdlets.


Added 'Premium_LRS' to the argument completer of StorageAccountType
parameter for New-AzGalleryImageVersion cmdlet.
Added Substatuses to VMCustomScriptExtension [#11297]
Added 'Delete' to the argument completer of EvictionPolicy parameter for New-
AzVM and New-AzVMConfig cmdlets.
Fixed name of new VM Extension for SAP

Az.DataFactory
Updated ADF .Net SDK version to 4.9.0

Az.EventHub
Added Managed Identity parameters to 'New-AzEventHubNamespace' and 'Set-
AzEventHubNamespace' cmdlets

Az.Functions

Added support to create PowerShell 7.0 and Java 11 function apps

Az.HDInsight

Supported listing hosts and restart specific hosts of the HDInsight cluster.

Az.HealthcareApis

Updated the SDK version to 1.1.0


Added support for Export settings and Managed Identity

Az.Monitor
Fixed input object parameter for 'Set-AzActivityLogAlert'
Fixed 'InputObject' parameter for 'Set-AzActionGroup' [#10868]

Az.Network
Added support for AddressPrefixType parameter to 'Remove-
AzExpressRouteCircuitConnectionConfig'
Added new cmdlets for Azure FirewallPolicy
'New-AzFirewallPolicyDnsSetting'
Support for Destination FQDN in Network Rules for Firewall Policy
Added support for backend address pool operations
'New-AzLoadBalancerBackendAddressConfig'
'New-AzLoadBalancerBackendAddressPool'
'Set-AzLoadBalancerBackendAddressPool'
'Remove-AzLoadBalancerBackendAddressPool'
'Get-AzLoadBalancerBackendAddressPool'
Added name validation for 'New-AzIpGroup'
Added new cmdlets for Azure FirewallPolicy
'New-AzFirewallPolicyThreatIntelWhitelist'
Updated below commands for feature: Custom dns servers set/remove on
VirtualWan P2SVpnGateway.
Updated New-AzP2sVpnGateway: Added optional parameter '-CustomDnsServer'
for customers to specify their dns servers to set on P2SVpnGateway, which can
be used by Point to site clients.
Updated Update-AzP2sVpnGateway: Added optional parameter '-
CustomDnsServer' for customers to specify their dns servers to set on
P2SVpnGateway, which can be used by Point to site clients.
Updated 'Update-AzVpnGateway'
Added optional parameter '-BgpPeeringAddress' for customers to specify their
custom bgps to set on VpnGateway.
Added new cmdlet to support resetting the routing state of a VirtualHub resource:
'Reset-AzHubRouter'
Updated below things based on recent swagger change for Firewall Policy
Changes names for RuleGroup, RuleCollectionGroup and RuleType
Added support for Firewall Policy NAT Rule Collections to support multiple NAT
Rule Collection
[Breaking Change] Added mandatory parameter 'SourceIpGroup' for 'New-
AzFirewallPolicyApplicationRule' and 'New-AzFirewallPolicyNetworkRule'.
[Breaking Change] Fixed 'New-AzFirewallPolicyApplicationRule', parameter
'SourceAddress' to be mandatory.
[Breaking Change] Fixed 'New-AzFirewallPolicyApplicationRule', parameter
'SourceAddress' to be mandatory.
[Breaking Change] Removed mandatory parameters: 'TranslatedAddress',
'TranslatedPort' for 'New-AzFirewallPolicyNatRuleCollection'.
Added new cmdlets to support PrivateLink On Application Gateway
'New-AzApplicationGatewayPrivateLinkConfiguration'
'Get-AzApplicationGatewayPrivateLinkConfiguration'
'New-AzApplicationGatewayPrivateLinkConfiguration'
'Set-AzApplicationGatewayPrivateLinkConfiguration'
'Remove-AzApplicationGatewayPrivateLinkConfiguration'
'New-AzApplicationGatewayPrivateLinkIpConfiguration'
Added new cmdlets for HubRouteTables child resource of VirtualHub.
'New-AzVHubRoute'
'New-AzVHubRouteTable'
'Get-AzVHubRouteTable'
'Update-AzVHubRouteTable'
'Remove-AzVHubRouteTable'
Updated existing cmdlets to support optional RoutingConfiguration input
parameter for custom routing in VirtualWan.
'New-AzExpressRouteConnection'
'Set-AzExpressRouteConnection'
'New-AzVirtualHubVnetConnection'
'Update-AzVirtualHubVnetConnection'
'New-AzVpnConnection'
'Update-AzVpnConnection'
'New-AzP2sVpnGateway'
'Update-AzP2sVpnGateway'

Az.OperationalInsights

Fixed bug PSWorkspace doesn't implement IOperationalInsightsWorkspace


[#12135]
Added 'pergb2018' to valid value set of parameter 'Sku' in 'Set-
AzOperationalInsightsWorkspace'
Added alias 'FunctionParameters' for parameter 'FunctionParameter' to
'New-AzOperationalInsightsSavedSearch'
'Set-AzOperationalInsightsSavedSearch'

Az.RecoveryServices
Azure Backup added support for fetching MAB items.
Azure Site Recovery supports disk type 'StandardSSD_LRS'

Az.Resources

Added 'UsageLocation', 'GivenName', 'Surname', 'AccountEnabled', 'MailNickname',


'Mail' on 'PSADUser' [#10526] [#10497]
Fixed issue that '-Mail' doesn't work on 'Get-AzADUser' [#11981]
Added '-ExcludeChangeType' parameter to 'Get-AzDeploymentWhatIfResult' and
'Get-AzResourceGroupDeploymentWhatIfResult'
Added '-WhatIfExcludeChangeType' parameter to 'New-AzDeployment' and 'New-
AzResourceGroupDeployment'
Updated 'Test-Az*Deployment' cmdlets to show better error messages
Fixed help message for '-Name' parameter of deployment create and What-If
cmdlets

Az.Sql
Added support for service principal for Set SQL Server Azure Active Directory Admin
cmdlet
Fixed sync issue in Data Classification cmdlets.
Supported searching user by mail on 'Set-AzSqlServerActiveDirectoryAdministrator'
[#12192]

Az.Storage

Supported create Storage account with RequireInfrastructureEncryption


'New-AzStorageAccount'
Moved the logic of loading Azure.Core to Az.Accounts

Az.Websites
Added safeguard to delete created webapp if restore failed in 'Restore-
AzDeletedWebApp'
Added 'SourceWebApp.Location' for 'New-AzWebApp' and 'New-AzWebAppSlot'
Fixed bug that prevented changing Container settings in 'Set-AzWebApp' and 'Set-
AzWebAppSlot'
Fixed bug to get SiteConfig when -Name is not given for Get-AzWebApp
Added a support to create ASP for Linux Apps
Added exceptions for clone across resource groups

4.2.0 - June 2020

Az.Accounts

Fixed an issue that may cause Az to skip logs in Azure Automation or PowerShell
jobs [#11492]

Az.AnalysisServices
Updated assembly version of data plane cmdlets

Az.ApiManagement
Updated assembly version of service management cmdlets

Az.Billing
Updated assembly version of consumption cmdlets

Az.CognitiveServices
Support PrivateEndpoint and PublicNetworkAccess control.

Az.DataFactory
Updated assembly version of data factory V2 cmdlets

Az.DataShare
General availability of ''Az.DataShare'' module

Az.DesktopVirtualization
General availability of ''Az.DesktopVirtualization'' module

Az.OperationalInsights
Upgraded SDK to 0.21.0
Added optional parameters to
'New-AzOperationalInsightsSavedSearch'
'Set-AzOperationalInsightsSavedSearch'

Az.PolicyInsights
Corrected example 3 for 'Start-AzPolicyComplianceScan'

Az.PowerBIEmbedded
Updated assembly version of PowerBI cmdlets
Az.PrivateDns
Corrected verbose output string formatting for Remove-AzPrivateDnsRecordSet

Az.RecoveryServices

Azure Site Recovery support for creating recovery plan for zone to zone replication
from xml input.
Updated assembly version of SiteRecovery and Backup cmdlets

Az.Resources

Added Tail parameter to Get-AzDeploymentScriptLog and Save-


AzDeploymentScriptLog cmdlets
Formatted Output property and show it on the Get-AzDeploymentScript cmdlet
output
Renamed -DeploymentScriptInputObject parameter to -DeploymentScriptObject
Fixed missing file/target name in cmdlet messages.
Updated assembly version of resource manager and tags cmdlets

Az.Sql
Added UsePrivateLinkConnection to 'New-AzSqlSyncGroup', 'Update-
AzSqlSyncGroup', 'New-AzSqlSyncMember' and 'Update-AzSqlSyncMember'
Added SyncMemberAzureDatabaseResourceId to 'New-AzSqlSyncMember' and
'Update-AzSqlSyncMember'
Added Guest user lookup support to Set SQL Server Azure Active Directory Admin
cmdlet

Az.Storage
Updated assembly version of data plane cmdlets

4.1.0 - May 2020

Highlights since the last release


Supported PowerShell versions: Windows PowerShell 5.1, PowerShell Core 6.2.4+,
PowerShell 7
General availability of Az.Functions
Az.ApiManagement, Az.Batch, Az.Compute, Az.KeyVault, Az.Monitor, Az.Network,
Az.OperationalInsights, Az.Resources, and Az.Storage have major release

Az.Accounts

Updated 'Add-AzEnvironment' and 'Set-AzEnvironment' to accept parameters


'AzureSynapseAnalyticsEndpointResourceId' and
'AzureSynapseAnalyticsEndpointSuffix'
Added Azure.Core related assemblies into Az.Accounts, supported PowerShell
platforms include Windows PowerShell 5.1, PowerShell Core 6.2.4, PowerShell 7+

Az.Aks
Upgraded API Version to 2019-10-01
Supported to create AKS using Windows container
Provided new cmdlets: 'New-AzAksNodePool', 'Update-AzAksNodePool', 'Remove-
AzAksNodePool',
'Get-AzAksNodePool', 'Install-AzAksKubectl', 'Get-AzAksVersion'

Az.ApiManagement

'New-AzApiManagement' and 'Set-AzApiManagement': [-AssignIdentity] parameter


renamed as [-SystemAssignedIdentity]
'New-AzApiManagement' and 'Set-AzApiManagement': New parameter added: [ -
UserAssignedIdentity <String[]> ]
'Get-AzApiManagementProperty': renamed as 'Get-
AzApiManagementNamedValue'. PropertyId parameter renamed as NamedValueId.
'New-AzApiManagementProperty': renamed as 'New-
AzApiManagementNamedValue'. PropertyId parameter renamed as NamedValueId.
'Set-AzApiManagementProperty': renamed as 'Set-AzApiManagementNamedValue'.
PropertyId parameter renamed as NamedValueId.
'Remove-AzApiManagementProperty': renamed as 'Remove-
AzApiManagementNamedValue'. PropertyId parameter renamed as NamedValueId.
Added new 'Get-AzApiManagementAuthorizationServerClientSecret' cmdlet and
'Get-AzApiManagementAuthorizationServer' will not return client secret anymore.
Added new 'Get-AzApiManagementNamedValueSecretValue' cmdlet and 'Get-
AzApiManagementNamedValue' will not return secret value.
Added new 'Get-AzApiManagementOpenIdConnectProviderClientSecret' cmdlet
and 'Get-AzApiManagementOpenIdConnectProvider' will not return client secret
anymore.
Added new 'Get-AzApiManagementSubscriptionKey' cmdlet and 'Get-
AzApiManagementSubscription' will not return subscription keys anymore.
Added new 'Get-AzApiManagementTenantAccessSecret' cmdlet and 'Get-
AzApiManagementTenantAccess' will not return keys anymore.
Added new 'Get-AzApiManagementTenantGitAccessSecret' cmdlet and 'Get-
AzApiManagementTenantGitAccess' will not return keys anymore.

Az.ApplicationInsights

Added Parameters: 'RetentionInDays' 'PublicNetworkAccessForIngestion'


'PublicNetworkAccessForQuery' for 'New-AzApplicationInsights'
Created cmdlet 'Update-AzApplicationInsights'
Created cmdlets for Linked Storage Account

Az.Batch

Updated Az.Batch to use 'Microsoft.Azure.Batch' SDK version 13.0.0 and


'Microsoft.Azure.Management.Batch' SDK version 9.0.0.
Added the ability to select the kind of certificate being added using the new '-
CertificateKind' parameter to 'New-AzBatchCertificate'.
Removed 'ApplicationPackages' property from 'PSApplication' which was previously
always ''.
The specific packages inside of an application now can be retrieved using 'Get-
AzBatchApplicationPackage'. For example: 'Get-AzBatchApplication -
AccountName myaccount -ResourceGroupName myresourcegroup -
ApplicationId myapplication'.
When creating a pool using 'New-AzBatchPool', the 'VirtualMachineImageId'
property of 'PSImageReference' can now only refer to a Shared Image Gallery
image.
When creating a pool using 'New-AzBatchPool', the pool can be provisioned
without a public IP using the new 'PublicIPAddressConfiguration' property of
'PSNetworkConfiguration'.
The 'PublicIPs' property of 'PSNetworkConfiguration' has moved in to
'PSPublicIPAddressConfiguration' as well. This property can only be specified if
'IPAddressProvisioningType' is 'UserManaged'.

Az.Compute
Added HostId parameter to 'Update-AzVM' cmdlet
Updated Help documents for 'New-AzVMConfig', 'New-AzVmssConfig', 'Update-
AzVmss', 'Set-AzVMOperatingSystem' and 'Set-AzVmssOsProfile' cmdlets.
Breaking changes
FilterExpression parameter is removed from 'Get-AzVMImage' cmdlet.
AssignIdentity parameter is removed from 'New-AzVmssConfig', 'New-
AzVMConfig' and 'Update-AzVM' cmdlets.
AutomaticRepairMaxInstanceRepairsPercent is removed from 'New-
AzVmssConfig' and 'Update-AzVmss' cmdlets.
AvailabilitySetsColocationStatus, VirtualMachinesColocationStatus and
VirtualMachineScaleSetsColocationStatus properties are removed from
ProximityPlacementGroup.
MaxInstanceRepairsPercent property is removed from AutomaticRepairsPolicy.
The types of AvailabilitySets, VirtualMachines and VirtualMachineScaleSets are
changed from IList<SubResource> to IList<SubResourceWithColocationStatus> .
Description for 'Get-AzVM' cmdlet has been updated to better describe it.

Az.DataFactory
Supported CRUD of data flow runtime properties in Managed IR.

Az.FrontDoor
Added new cmdlets for creation, update, retreival, and deletion of Front Door Rules
Engine object
Added helper cmdlets for construction of Front Door Rules Engine object
Added Rules Engine reference to Front Door Routing Rule object.
Added Private Link parameters to Front Door Backend object

Az.Functions
General availability of ''Az.Functions'' module

Az.HDInsight

Supported Customer-managed key disk encryption.

Az.HealthcareApis

Access policies are no longer defaulted to the current principal

Az.IotHub

Added cmdlet to invoke a query in an IoT hub to retrieve information using a SQL-
like language.
Fix issue that 'Add-AzIotHubDevice' fails to create Edge Enabled Device without
child devices [#11597]
Added cmdlet to generate SAS token for Iot Hub, device or module.
Added cmdlet to invoke configuration metrics query.
Manage IoT Edge automatic deployment at scale. New cmdlets are:
'Add-AzIotHubDeployment'
'Get-AzIotHubDeployment'
'Remove-AzIotHubDeployment'
'Set-AzIotHubDeployment'
Added cmdlet to invoke an IoT Edge deployment metrics query.
Added cmdlet to apply the configuration content to the specified edge device.

Az.KeyVault
Removed two aliases: 'New-AzKeyVaultCertificateAdministratorDetails' and 'New-
AzKeyVaultCertificateOrganizationDetails'
Enabled soft delete by default when creating a key vault
Network rules can be set to govern the accessibility from specific network locations
when creating a key vault
Added support to bring your own key (BYOK)
'Add-AzKeyVaultKey' supports generating a key exchange key
'Get-AzKeyVaultKey' supports downloading a public key in PEM format
Updated the 'KeyOps' part of the help document of 'Add-AzKeyVaultKey'

Az.Monitor

Fixed bug for 'Set-AzDiagnosticSettings', retention policy won't apply to all


categories [#11589]
Supported WebTest availability criteria for metric alert V2
'New-AzMetricAlertRuleV2Criteria': an option to create webtest availability
criteria was added
'Add-AzMetricAlertRuleV2': supports the new webtest availability criteria
Removed redundant definition for RetentionPolicy in PSLogProfile [#7608]
Removed redundant properties difined in PSEventData [#11353]
Renamed 'Get-AzLog' to 'Get-AzActivityLog'

Az.Network

Added breaking change attribute to notify that Zone default behaviour will be
changed
'New-AzPublicIpAddress'
'New-AzPublicIpPrefix'
'New-AzLoadBalancerFrontendIpConfig'
Added support for a new top level resource SecurityPartnerProvider
New cmdlets added:
New-AzSecurityPartnerProvider
Remove-AzSecurityPartnerProvider
Get-AzSecurityPartnerProvider
Set-AzSecurityPartnerProvider
Added 'RequiredZoneNames' on 'PSPrivateLinkResource' and 'GroupId' on
'PSPrivateEndpointConnection'
Fixed incorrect type of SuccessThresholdRoundTripTimeMs parameter for New-
AzNetworkWatcherConnectionMonitorTestConfigurationObject
Updated VirtualWan cmdlets to set default value of AllowVnetToVnetTraffic
argument to True.
'New-AzVirtualWan'
'Update-AzVirtualWan'
Added new cmdlets to support DNS zone group for private endpoint
'New-AzPrivateDnsZoneConfig'
'Get-AzPrivateDnsZoneGroup'
'New-AzPrivateDnsZoneGroup'
'Set-AzPrivateDnsZoneGroup'
'Remove-AzPrivateDnsZoneGroup'
Added 'DNSEnableProxy', 'DNSRequireProxyForNetworkRules' and 'DNSServers'
parameters to 'AzureFirewall'
Added 'EnableDnsProxy', 'DnsProxyNotRequiredForNetworkRule' and 'DnsServer'
parameters to 'AzureFirewall'
Updated cmdlet:
New-AzFirewall

Az.OperationalInsights
Updated legacy code to apply new generated SDK
Deleted cmdlets due to deprecated APIs
'Get-AzOperationalInsightsSavedSearchResult' (alias 'Get-
AzOperationalInsightsSavedSearchResults')
'Get-AzOperationalInsightsSearchResult' (alias 'Get-
AzOperationalInsightsSearchResults')
'Get-AzOperationalInsightsLinkTarget' (alias 'Get-
AzOperationalInsightsLinkTargets')
Added parameters for 'Set-AzOperationalInsightsWorkspace' and 'New-
AzOperationalInsightsWorkspace'
Created cmdlets for Linked Stoarge Account
Created cmdlets for Clusters and Linked Service

Az.RecoveryServices

Azure Site Recovery added support for protecting proximity placement group virtual
machines for Azure to Azure provider.
Azure Site Recovery added support for zone to zone replication.
Azure Backup Added Long term retention support for Azure FileShare Recovery
Points.
Azure Backup Added disk exclusion properties to 'Get-
AzRecoveryServicesBackupItem' cmdlet output.
Added private endpoint for Vault credential file for site recovery service.

Az.Resources

Added message warning about view delay when creating a new Role Definition
Changed policy cmdlets to output strongly-typed objects
Removed '-TenantLevel' parameter used for on the 'Get-AzResourceLock' cmdlet
[#11335]
Fixed 'Remove-AzResourceGroup -Id ResourceId'[#9882]
Added new cmdlet for getting ARM template What-If results at resource group
scope: 'Get-AzDeploymentResourceGroupWhatIfResult'
Added new cmdlet for getting ARM template What-If results at subscription scope:
'Get-AzDeploymentWhatIfResult'
Alias: 'Get-AzSubscriptionDeploymentWhatIf'
Overrode '-WhatIf' and '-Confirm' parameters for 'New-AzDeployment' and 'New-
AzResourceGroupDeployment' to use ARM template What-If results
Added deprecation message for 'ApiVersion' parameter in deployment cmdlets
Added capability to show improved error messages for deployment failures
Added correlationId logging for deployment failures
Added 'error' property to the deployment script output
Updated nuget Microsoft.Azure.Management.ResourceManager to '3.7.1-preview'
Removed specific test cases as Error property in DeploymentValidateResult has
changed to readonly from nuget 3.7.1-preview
Brought GenericResourceExpanded from SDK ResourceManager 3.7.1-preview
Added tag support for all Get cmdlets for deployment, as well as
'New-AzDeployment'
'New-AzManagementGroupDeployment'
'New-AzResourceGroupDeployment'
'New-AzTenantDeployment'
Az.ServiceFabric
Fixed bug in add certificate using --SecretIdentifier that was getting the wrong
certificate thumbprint

Az.Sql
Enhance performance of:
'Set-AzSqlDatabaseSensitivityClassification'
'Set-AzSqlInstanceDatabaseSensitivityClassification'
'Remove-AzSqlDatabaseSensitivityClassification'
'Remove-AzSqlInstanceDatabaseSensitivityClassification'
'Enable-AzSqlDatabaseSensitivityRecommendation'
'Enable-AzSqlInstanceDatabaseSensitivityRecommendation'
'Disable-AzSqlDatabaseSensitivityRecommendation'
'Disable-AzSqlInstanceDatabaseSensitivityRecommendation'
Removed client-side validation of 'RetentionDays' parameter from cmdlet 'Set-
AzSqlDatabaseBackupShortTermRetentionPolicy'
Auditing to a storage account in Vnet, fixing a bug when creating a Storage Blob
Data Contributor role.

Az.Storage
Added '-AsJob' to get/list account cmdlet 'Get-AzStorageAccount'
Make KeyVersion to optional when update Storage account with
KeyvaultEncryption, to support key auto-rotation
'Set-AzStorageAccount'
Fixed remove Azure File Directory fail with pipeline
'Remove-AzStorageDirectory'
Fixed [#9880]: Change NetWorkRule DefaultAction value defination to align with
swagger.
'Update-AzStorageAccountNetworkRuleSet'
'Get-AzStorageAccountNetworkRuleSet'
Fixed [#11624]: Skip duplicated rules when add NetworkRules, to avoid server
failure
'Add-AzStorageAccountNetworkRule'
Upgraded Microsoft.Azure.Cosmos.Table SDK to 1.0.7
Added a warning message to remind user to list again with ContinuationToken
when only part items are returned in list DataLake Gen2 Items,
'Get-AzDataLakeGen2ChildItem'
Supported to create or update Storage account with Azure Files Active Directory
Domain Service Authentication
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported to new or list Kerberos keys of Storage account
'New-AzStorageAccountKey'
'Get-AzStorageAccountKey'
Supported failover Storage account
'Invoke-AzStorageAccountFailover'
Updated help of 'Get-AzStorageBlobCopyState'
Updated help of 'Get-AzStorageFileCopyState' and 'Start-AzStorageBlobCopy'
Integrated Storage client library v12 to Queue and File cmdlets
Changed output type from CloudFile to AzureStorageFile, the original output will
become a child property of the new output
'Get-AzStorageFile'
'Remove-AzStorageFile'
'Get-AzStorageFileContent'
'Set-AzStorageFileContent'
'Start-AzStorageFileCopy'
Changed output type from CloudFileDirectory to AzureStorageFileDirectory, the
original output will become a child property of the new output
'New-AzStorageDirectory'
'Remove-AzStorageDirectory'
Changed output type from CloudFileShare to AzureStorageFileShare, the original
output will become a child property of the new output
'Get-AzStorageShare'
'New-AzStorageShare'
'Remove-AzStorageShare'
Changed output type from FileShareProperties to AzureStorageFileShare, the
original output will become a sub child property of the new output
'Set-AzStorageShareQuota'

Az.TrafficManager

Fixed incorrect profile name in 'DisableAzureTrafficManagerEndpoint' verbose


output

Az.Websites

Fixed typo on help of 'Update-AzWebAppAccessRestrictionConfig'.


3.8.0 - April 2020

Az.Accounts

Updated Azure PowerShell survey URL in 'Resolve-AzError' [#11507]

Az.ApiManagement
Added breaking change notice for Azure File cmdlets output change in a future
release
'Set-AzApiManagementGroup' Updated documentation to specify the GroupId
parameter

Az.Cdn

Fixed ChinaCDN related pricing SKU display

Az.CognitiveServices

Supported Identity, Encryption, UserOwnedStorage

Az.Compute

Added 'Set-AzVmssOrchestrationServiceState' cmdlet.


'Get-AzVmss' with -InstanceView shows OrchestrationService states.

Az.IotHub

Manage IoT device twin configuration, New cmdlets are:


'Get-AzIotHubDeviceTwin'
'Update-AzIotHubDeviceTwin'
Added cmdlet to invoke direct method on a device in an Iot Hub.
Manage IoT device module twin configuration, New cmdlets are:
'Get-AzIotHubModuleTwin'
'Update-AzIotHubModuleTwin'
Manage IoT automatic device management configuration at scale. New cmdlets are:
'Add-AzIotHubConfiguration'
'Get-AzIotHubConfiguration'
'Remove-AzIotHubConfiguration'
'Set-AzIotHubConfiguration'
Added cmdlet to invoke an edge module method in an Iot Hub.

Az.KeyVault
Added a new cmdlet 'Update-AzKeyVault' that can enable soft delete and purge
protection on a vault
Added support to Microsoft.PowerShell.SecretManagement [#11178]
Fixed error in the examples of 'Remove-AzKeyVaultManagedStorageSasDefinition'
[#11479]
Added support to private endpoint

Az.Maintenance
Publishing release version of Maintenance cmdlets for GA

Az.Monitor
Added cmdlets for private link scope
'Get-AzInsightsPrivateLinkScope'
'Remove-AzInsightsPrivateLinkScope'
'New-AzInsightsPrivateLinkScope'
'Update-AzInsightsPrivateLinkScope'
'Get-AzInsightsPrivateLinkScopedResource'
'New-AzInsightsPrivateLinkScopedResource'
'Remove-AzInsightsPrivateLinkScopedResource'

Az.Network
Updated cmdlets to enable connection on private IP for Virtual Network Gateway.
'New-AzVirtualNetworkGateway'
'Set-AzVirtualNetworkGateway'
'New-AzVirtualNetworkGatewayConnection'
'Set-AzVirtualNetworkGatewayConnection'
Updated cmdlets to enable FQDN based LocalNetworkGateways and VpnSites
'New-AzLocalNetworkGateway'
'New-AzVpnSiteLink'
Added support for IPv6 address family in ExpressRouteCircuitConnectionConfig
(Global Reach)
Added 'Set-AzExpressRouteCircuitConnectionConfig'
allows setting of all the existing properties including the
IPv6CircuitConnectionProperties
Updated 'Add-AzExpressRouteCircuitConnectionConfig'
Added another optional parameter AddressPrefixType to specify the address
family of address prefix
Updated cmdlets to enable setting of DPD Timeout on Virtual Network Gateway
Connections.
New-AzVirtualNetworkGatewayConnection
Set-AzVirtualNetworkGatewayConnection

Az.PolicyInsights

Added 'Start-AzPolicyComplianceScan' cmdlet for triggering policy compliance


scans
Added policy definition, set definition, and assignment versions to 'Get-
AzPolicyState' output

Az.ServiceFabric
Improved code formatting and usability of 'New-AzServiceFabricCluster' examples

Az.Sql
Added cmdlets 'Get-AzSqlInstanceOperation' and 'Stop-AzSqlInstanceOperation'
Supported auditing to a storage account in VNet.

Az.Storage
Added breaking change notice for Azure File cmdlets output change in a future
release
Supported new SkuName StandardGZRS, StandardRAGZRS when create/update
Storage account
'New-AzStorageAccount'
'Set-AzStorageAccount'
Supported DataLake Gen2
'New-AzDataLakeGen2Item'
'Get-AzDataLakeGen2Item'
'Get-AzDataLakeGen2ChildItem'
'Move-AzDataLakeGen2Item'
'Set-AzDataLakeGen2ItemAclObject'
'Update-AzDataLakeGen2Item'
'Get-AzDataLakeGen2ItemContent'
'Remove-AzDataLakeGen2Item'
0.10.0-preview - April 2020

General
Az modules is now available in preview on Azure Stack Hub. This allows for cross-
platform compatibility with Linux and macOs. Azure Stack Hub now supports
PowerShell core with the Az modules, more information here
Az modules support profile 2019-03-01-hybrid:
Az.Billing
Az.Compute
Az.DataBoxEdge
Az.EventHub
Az.IotHub
Az.KeyVault
Az.Monitor
Az.Network
Az.Resources
Az.Storage
Az.Websites
Three new PowerShell modules for az have been introduced that work with Azure
Stack Hub, which are Az.Databox, Az.IotHub, and Az.EventHub
Commands remain relatively the same, with minor changes such as changing
AzureRM to Az
Updated link to PowerShell documentation for Azure Stack Hub can be found
here

Az.Accounts
Upgrade from ADAL to MSAL

3.7.0 - March 2020

Az.Accounts

Fixed 'Get-AzTenant'/'Get-AzDefault'/'Set-AzDefault' throw NullReferenceException


when not login [#10292]

Az.Compute
Added the following parameters to 'New-AzDiskConfig' cmdlet:
DiskIOPSReadOnly, DiskMBpsReadOnly, MaxSharesCount, GalleryImageReference
Allowed Encryption property to Target parameter of 'New-AzGalleryImageVersion'
cmdlet.
Fixed tempDisk issue for 'Set-AzVmss' -Reimage and 'Invoke-AzVMReimage'
cmdlets. [#11354]
Added support to below cmdlets for new SAP Extension
'Set-AzVMAEMExtension'
'Get-AzVMAEMExtension'
'Remove-AzVMAEMExtension'
'Update-AzVMAEMExtension'
Fixed errors in examples of help document
Showed the exact string value for VM PowerState in the table format.
'New-AzVmssConfig': fixed serialization of AutomaticRepairs property when
SinglePlacementGroup is disabled. [#11257]

Az.DataFactory
Updated ADF .Net SDK version to 4.8.0
Added optional parameters to 'Invoke-AzDataFactoryV2Pipeline' command to
support rerun

Az.DataLakeStore

Added breaking change description for 'Export-AzDataLakeStoreItem' and 'Import-


AzDataLakeStoreItem'
Added option of Byte encoding for 'New-AzDataLakeStoreItem', 'Add-
AzDAtaLakeStoreItemContent', and 'Get-AzDAtaLakeStoreItemContent'

Az.HDInsight
Supported specifying minimal supported TLS version when creating cluster.

Az.IotHub
Added support to manage distributed settings per-device. New Cmdlets are:
'Get-AzIotHubDistributedTracing'
'Set-AzIotHubDistributedTracing'

Az.KeyVault
Added breaking change attributes to 'New-AzKeyVault'

Az.Monitor
Updated documentation for 'New-AzScheduledQueryRuleLogMetricTrigger'

Az.Network
Updated cmdlets to allow cross-tenant VirtualHubVnetConnections
'New-AzVirtualHubVnetConnection'
'Update-AzVirtualHubVnetConnection'
'New-AzVirtualHub'
'Update-AzVirtualHub'
Removed Sql Management SDK dependency
Updated cmdlets to allow force firewallPolicy association
'New-AzApplicationGateway'

Az.PolicyInsights
Improved error messages

Az.RecoveryServices
Azure Site Recovery added support for doing reprotect and updated vm properties
for Azure disk encrypted Virtual Machines.
Added Azure Site Recovery VmwareToAzure properties DR monitoring
Azure Backup added support for retrying policy update for failed items.
Azure Backup Added support for disk exclusion settings during backup and restore.
Azure Backup Added Support for Restoring Multiple files/folders in AzureFileShare
Azure Backup Added support for User-specified Resourcegroup support while
updating IaasVM Policy

Az.Resources

Fixed 'Get-AzResource -ResourceGroupName -Name -ExpandProperties -


ResourceType' to use actual apiVersion of resources instead of default apiVersion
[#11267]
Added correlationId logging for error scenarios
Small documentation change to 'Get-AzResourceLock'. Added example.
Escaped single quote in parameter value of 'Get-AzADUser' [#11317]
Added new cmdlets for Deployment Scripts ('Get-AzDeploymentScript', 'Get-
AzDeploymentScriptLog', 'Save-AzDeploymentScriptLog', 'Remove-
AzDeploymentScript')

Az.Sql
Added readable secondary parameter to 'Invoke-AzSqlDatabaseFailover'
Added cmdlet 'Disable-AzSqlServerActiveDirectoryOnlyAuthentication'
Saved sensitivity rank when classifying columns in the database.

Az.Support
General availability of 'Az.Support' module

Az.Websites

Added support for working with webapp Traffic Routing Rules via below new
cmdlets
'Get-AzWebAppTrafficRouting'
'Update-AzWebAppTrafficRouting'
'Add-AzWebAppTrafficRouting'
'Remove-AzWebAppTrafficRouting'

3.6.1 - March 2020

Az.Accounts
Open Azure PowerShell survey page in 'Send-Feedback' [#11020]
Display Azure PowerShell survey URL in 'Resolve-Error' [#11021]
Added Az version in UserAgent

Az.ApiManagement
Added support for retrieving and configuring Custom Domain on the
DeveloperPortal Endpoint [#11007]
'Export-AzApiManagementApi' Added support for downloading Api Definition in
Json format [#9987]
'Import-AzApiManagementApi' Added support for importing OpenApi 3.0 definition
from Json document
'New-AzApiManagementIdentityProvider' and 'Set-
AzApiManagementIdentityProvider' Added support for configuring 'Signin Tenant'
for AAD B2C Provider [#9784]

Az.DataLakeStore
Added reference to System.Buffers explicitly in csproj and psd1.

Az.IotHub
Added support to manage devices in an Iot Hub. New Cmdlets are:
'Add-AzIotHubDevice'
'Get-AzIotHubDevice'
'Remove-AzIotHubDevice'
'Set-AzIotHubDevice'
Added support to manage modules on a target Iot device in an Iot Hub. New
Cmdlets are:
'Add-AzIotHubModule'
'Get-AzIotHubModule'
'Remove-AzIotHubModule'
'Set-AzIotHubModule'
Added cmdlet to get the connection string of a target IoT device in an Iot Hub.
Added cmdlet to get the connection string of a module on a target IoT device in an
Iot Hub.
Added support to get/set parent device of an IoT device. New Cmdlets are:
'Get-AzIotHubDeviceParent'
'Set-AzIotHubDeviceParent'
Added support to manage device parent-child relationship.

Az.Monitor
Fixed output value for 'Get-AzMetricDefinition' [#9714]

Az.Network
Updated Sql Management SDK.
Fixed a naming-difference issue in PrivateLinkServiceConnectionState class.
Mapping the field ActionsRequired to ActionRequired.
Added PublicNetworkAccess to 'New-AzSqlServer' and 'Set-AzSqlServer'
Az.Resources
Fixed for null reference bug in 'Get-AzRoleAssignment'
Marked switch '-Force' and '-PassThru' optional in 'Remove-AzADGroup' [#10849]
Fixed issue that 'MailNickname' doesn't return in 'Remove-AzADGroup' [#11167]
Fixed issue that 'Remove-AzADGroup' pipe operation doesn't work [#11171]
Fixed for null reference bug in GetAzureRoleAssignmentCommand
Added breaking change attributes for upcoming changes to policy cmdlets
Updated 'Get-AzResourceGroup' to perform resource group tag filtering on server-
side
Extended Tag cmdlets to accept -ResourceId
Get-AzTag -ResourceId
New-AzTag -ResourceId
Remove-AzTag -ResourceId
Added new Tag cmdlet
Update-AzTag -ResourceId
Brought ScopedDeployment from SDK 3.3.0

Az.Sql

Added PublicNetworkAccess to 'New-AzSqlServer' and 'Set-AzSqlServer'


Added support for Long Term Retention backup configuration for Managed
Databases
Get/Set LTR policy on a managed database
Get LTR backup(s) by managed database, managed instance, or by location
Remove an LTR backup
Restore an LTR backup to create a new managed database
Added MinimalTlsVersion to New-AzSqlServer and Set-AzSqlServer
Added MinimalTlsVersion to New-AzSqlInstance and Set-AzSqlInstance
Bumped SQL SDK version for Az.Network

Az.Storage
Supported AllowProtectedAppendWrite in ImmutabilityPolicy
'Set-AzRmStorageContainerImmutabilityPolicy'
Added breaking change warning message for AzureStorageTable type change in a
future release
'New-AzStorageTable'
'Get-AzStorageTable'

Az.Websites
Added Tag parameter for 'New-AzAppServicePlan' and 'Set-AzAppServicePlan'
Stop cmdlet execution if an exception is thrown when adding a custom domain to a
website
Added support to perform operations for App Services not in the same resource
group as the App Service Plan
Applied access restriction to WebApp/Function in different resource groups
Fixed issue to set custom hostnames for WebAppSlots

3.5.0 - February 2020

Highlights since the last major release


Updated client side telemetry.
Az.IotHub added cmdlets to support to manage devices.
Az.SqlVirtualMachine added cmdlets for Availability Group Listener.

Az.Resource

Fixed bug preventing correct tenant-level resource id generation.


Fixed typo.

Az.Accounts
Added SubscriptionId, TenantId, and execution time into data of client side
telemetry

Az.Automation
Fixed typo in Example 1 in reference documentation for 'New-
AzAutomationSoftwareUpdateConfiguration'

Az.CognitiveServices

Updated SDK to 7.0


Improved error message when server responses empty body

Az.Compute
Allowed empty value for ProximityPlacementGroupId during update
Az.FrontDoor
Added cmdlet to get managed rule definitions that can be used in WAF

Az.IotHub

Added support to manage devices in an Iot Hub. New Cmdlets are:


'Add-AzIotHubDevice'
'Get-AzIotHubDevice'
'Remove-AzIotHubDevice'
'Set-AzIotHubDevice'

Az.KeyVault

Fixed duplicated text for Add-AzKeyVaultKey.md

Az.Monitor
Fixed description of the Get-AzLog cmdlet.
A new parameter called ActionGroupId was added to 'New-AzMetricAlertRuleV2'
command.
The user can provide either ActionGroupId(string) or
ActionGorup(ActivityLogAlertActionGroup).

Az.Network
Added one extra parameter note for parameter '-EnableProxyProtocol' for 'New-
AzPrivateLinkService' cmdlet.
Fixed FilterData example in Start-
AzVirtualNetworkGatewayConnectionPacketCapture.md and Start-
AzVirtualnetworkGatewayPacketCapture.md.
Added Packet Capture example for capture all inner and outer packets in Start-
AzVirtualNetworkGatewayConnectionPacketCapture.md and Start-
AzVirtualnetworkGatewayPacketCapture.md.
Supported Azure Firewall Policy on VNet Firewalls
No new cmdlets are added. Relaxing the restriction for firewall policy on VNet
firewalls

Az.RecoveryServices
Added Support for Restore-as-files for SQL Databases.
Az.Resources
Refactored template deployment cmdlets
Added new cmdlets for managing deployments at management group: *-
AzManagementGroupDeployment
Added new cmdlets for managing deployments at tenant scope: *-
AzTenantDeployment
Refactored *-AzDeployment cmdlets to work specifically at subscription scope
Created aliases *-AzSubscriptionDeployment for *-AzDeployment cmdlets
Fixed 'Update-AzADApplication' when parameter 'AvailableToOtherTenants' is not
set
Removed ApplicationObjectWithoutCredentialParameterSet to avoid
AmbiguousParameterSetException.
Regenerated help files

Az.Sql
Added support for cross subscription point in time restore on Managed Instances.
Added support for changing existing Sql Managed Instance hardware generation
Fixed 'Update-AzSqlServerVulnerabilityAssessmentSetting' help examples:
parameter/property output - EmailAdmins

Az.SqlVirtualMachine

Added cmdlets for Availability Group Listener

Az.StorageSync

Updated supported character sets in 'Invoke-AzStorageSyncCompatibilityCheck'.

3.4.0 - February 2020

Az.CosmosDB
Added cmdlets for Gremlin, MongoDB, Cassandra and Table APIs.
Updated .NET SDK Version to 1.0.1
Added parameters ConflictResolutionPolicyMode, ConflictResolutionPolicyPath and
ConflictResolutionPolicyPath in Set-AzCosmosDBSqlContainer.
Added new cmdlets for Sql API : New-CosmosDBSqlSpatialSpec, New-
CosmosDBSqlCompositePath, New-CosmosDBSqlIncludedPathIndex, New-
CosmosDBSqlIncludedPath

Az.Accounts
Disable context auto saving when AzureRmContext.json not available
Update the reference to Azure Powershell Common to 1.3.5-preview

Az.ApiManagement

Get-AzApiManagementApiSchema Fixed getting Open-Api Schema associated with


an API
https://github.com/Azure/azure-powershell/issues/10626
New-AzApiManagementProduct* and Set-AzApiManagementProduct
Fix documentation for https://github.com/Azure/azure-
powershell/issues/10472
Set-AzApiManagementApi
Added example to show how to update the ServiceUrl
using the cmdlet

Az.Compute
Limit the number of VM status to 100 to avoid throttling when Get-AzVM -Status is
performed without VM name.
Add Update-AzDiskEncryptionSet cmdlet
Add EncryptionType and DiskEncryptionSetId parameters to the following cmdlets:
New-AzDiskUpdateConfig, New-AzSnapshotUpdateConfig
Add ColocationStatus parameter to Get-AzProximityPlacementGroup cmdlet.

Az.DataFactory
Update ADF .Net SDK version to 4.7.0

Az.DeploymentManager
Adds LIST operations for resources
Adds capability for performing operations on Health Check steps

Az.HDInsight
Fix document error of New-AzHDInsightCluster.

Az.KeyVault
Add Name alias to VaultName attribute to make Remove-AzureKeyVault consistent
with New-AzureKeyVault.

Az.Network

New example added to Set-AzNetworkWatcherConfigFlowLog.md to demonstrate


Traffic Analytics disable scenario.
Add support for assigning management IP configuration to Azure Firewall - a
dedicated subnet and Public IP that the firewall will use for its management traffic
Updated New-AzFirewall cmdlet:
Added parameter -ManagementPublicIpAddress (not mandatory) which
accepts a Public IP Address object
Added method SetManagementIpConfiguration on firewall object - requires a
subnet and a Public IP address as input - subnet name must be
'AzureFirewallManagementSubnet'
Corrected Get-AzNetworkSecurityGroup examples to show examples for NSG's
instead of network interfaces.
Fixed typo in New-AzVpnSite command that was preventing resource id completer
from completing a parameter.
Added support for Url Confiugration in Rewrite Rules Action Set in the Application
Gateway
New cmdlets added:
New-AzApplicationGatewayRewriteRuleUrlConfiguration
Cmdlets updated with optional parameter - UrlConfiguration
New-AzApplicationGatewayRewriteRuleActionSet
Add suppport for NetworkWatcher ConnectionMonitor version 2 resources

Az.PolicyInsights

Support evaluating compliance prior to determining what resource to remediate


Add '-ResourceDiscoverMode' parameter to Start-AzPolicyRemediation
Add Get-AzPolicyMetadata cmdlet for getting policy metadata resources
Updated Get-AzPolicyState and Get-AzPolicyStateSummary for API version 2019-10-
01

Az.RecoveryServices
Azure Site Recovery support for removing a replicated disk.
Azure Backup added support for adding tags while creating a Recovery Services
Vault.
Az.Resources
Make -Scope optional in *-AzPolicyAssignment cmdlets with default to context
subscription
Add examples of creating ADServicePrincipal with password and key credential

Az.Sql

Fix New-AzSqlDatabaseSecondary cmdlet to check for PartnerDatabaseName existence


instead of DatabaseName existence.

Az.Storage
Support set Table/Queue Encryption Keytype in Create Storage Account
New-AzStorageAccount
Show RequestId when StorageException don't have ExtendedErrorInformation
Fix the Example 6 of cmdlet Start-AzStorageBlobCopy

Az.Websites
Set-AzWebapp and Set-AzWebappSlot supports AlwaysOn, MinTls and FtpsState
properties
Fixing issue where setting HttpsOnly along with changing AppservicePlan at the
same time using the single Set-AzWebApp Command, was resetting HttpsOnly to
default value

3.3.0 - January 2020

Az.Accounts
Updated Add-AzEnvironment and Set-AzEnvironment to accept parameters
AzureAttestationServiceEndpointResourceId and
AzureAttestationServiceEndpointSuffix

Az.Cdn
Display error response detail in New-AzCdnEndpoint cmdlet

Az.Compute
Fix Set-AzVMCustomScriptExtension cmdlet for a VM with managed OD disk which
does not have OS profile.

Az.ContainerInstance

Fixed parameter names used by example of New-AzContainerGroup

Az.DataBoxEdge

Added cmdlet 'Get-AzDataBoxEdgeStorageContainer'


Get the Edge Storage Container
Added cmdlet 'New-AzDataBoxEdgeStorageContainer'
Create new Edge Storage Container
Added cmdlet 'Remove-AzDataBoxEdgeStorageContainer'
Remove the Edge Storage Container
Added cmdlet 'Invoke-AzDataBoxEdgeStorageContainer'
Invoke action to refresh data on Edge Storage Container
Added cmdlet 'Get-AzDataBoxEdgeStorageAccount'
Get the Edge Storage Account
Added cmdlet 'New-AzDataBoxEdgeStorageAccount'
Create new Edge Storage Account
Added cmdlet 'Remove-AzDataBoxEdgeStorageAccount'
Remove the Edge Storage Account
Invoke cmdlet 'Invoke-AzDataBoxEdgeShare'
Invoke action to refresh data on share
Added cmdlet 'Set-AzDataBoxEdgeStorageAccountCredential'
Set the az databoxedge storage account credential

Az.DataFactory

Add AutoUpdateETA, LatestVersion, PushedVersion, TaskQueueId and VersionStatus


properties for Get-AzDataFactoryV2IntegrationRuntime cmd
Update ADF .Net SDK version to 4.6.0
Add parameter 'PublicIPs' for 'Set-AzDataFactoryV2IntegrationRuntime' cmd
to
enable create Azure-SSIS IR with static public IP addresses.

Az.DevTestLabs
Remove the broken link in Get-AzDtlAllowedVMSizesPolicy.md
Az.EventHub
Fix for issue 10634 : Fix the null Object reference for remove eventhubnamespace

Az.HDInsight

Fix Invoke-AzHDInsightHiveJob.md error.

Az.MachineLearning

Removed below cmdlets because MachineLearningCompute is not available any


longer
Get-AzMlOpCluster
Get-AzMlOpClusterKey
New-AzMlOpCluster
Remove-AzMlOpCluster
Set-AzMlOpCluster
Test-AzMlOpClusterSystemServicesUpdateAvailability
Update-AzMlOpClusterSystemService

Az.Network
Upgrade dependency of Microsoft.Azure.Management.Sql from 1.36-preview to
1.37-preview

Az.RecoveryServices
Azure Site Recovery change support for managed disk vms encrypted at rest with
customer managed leys for Azure to Azure provider.
Azure Site Recovery support to input disk encryption Set Id as optional input at
enabling protection for Vmware to Azure.
Azure Site Recovery support to input disk encryption Set Id as optional input at disk
level to enable protection for Vmware to Azure.
Azure Site Recovery support to update replication protected item with disk
encryption set Map for HyperV to Azure.

Az.Resources
Fix an error in help document of 'Remove-AzTag'.
Az.Sql
Fix vulnerability assessment set baseline cmdlets functionality to work on master db
for azure database and limit it on managed instance system databases.
Fix an error when creating SQL instance failover group

Az.SqlVirtualMachine

Add DR as a new valid License type

Az.Storage

Add breaking change warning message for DefaultAction Value change in a future
release
Update-AzStorageAccountNetworkRuleSet
Support Get last sync time of Storage account by run get-AzStorageAccount with
parameter -IncludeGeoReplicationStats
Get-AzStorageAccount

3.2.0 - December 2019

General
Update references in .psd1 to use relative path for all modules

Az.Accounts

Set correct UserAgent for client-side telemetry for Az 4.0 preview


Display user friendly error message when context is null in Az 4.0 preview

Az.Batch
Fix issue #10602, where New-AzBatchPool did not properly send
'VirtualMachineConfiguration.ContainerConfiguration' or
'VirtualMachineConfiguration.DataDisks' to the server.

Az.DataFactory

Update ADF .Net SDK version to 4.5.0


Az.FrontDoor
Added WAF managed rules exclusion support
Add SocketAddr to auto-complete

Az.HealthcareApis
Exception Handling

Az.KeyVault
Fixed error accessing value that is potentially not set
Elliptic Curve Cryptography Certificate Managment
Added support to specify the Curve for Certificate Policies

Az.Monitor
Adding optional argument to the Add Diagnostic Settings command. A switch
argument that if present indicates that the export to Log Analytics must be to a
fixed schema (a.k.a. dedicated, data type)

Az.Network

Support for IpGroups in AzureFirewall Application,Nat & Network Rules.

Az.RecoveryServices

Added SoftDelete feature for VM and added tests for softdelete


Azure Site Recovery support for Azure Disk Encryption One Pass for Azure to Azure.

Az.Resources
Fix an issue where template deployment fails to read a template parameter if its
name conflicts with some built-in parameter name.
Updated policy cmdlets to use new api version 2019-09-01 that introduces
grouping support within policy set definitions.

Az.Sql
Upgraded storage creation in Vulnerability Assessment auto enablement to
StorageV2
Az.Storage
Support generate Blob/Constainer Idenity based SAS token with Storage Context
based on Oauth authentication
New-AzStorageContainerSASToken
New-AzStorageBlobSASToken
Support revoke Storage Account User Delegation Keys, so all Idenity SAS tokens are
revoked
Revoke-AzStorageAccountUserDelegationKeys
Upgrade to Microsoft.Azure.Management.Storage 14.2.0, to support new API
version 2019-06-01.
Support Share QuotaGiB more than 5120 in Management plane File Share cmdlets,
and add parameter alias 'Quota' to parameter 'QuotaGiB'
New-AzRmStorageShare
Update-AzRmStorageShare
Add parameter alias 'QuotaGiB' to parameter 'Quota'
Set-AzStorageShareQuota
Fix the issue that Set-AzStorageContainerAcl can clean up the stored Access Policy
Set-AzStorageContainerAcl

3.1.0 - November 2019

Highlights since the last major release


Az.DataBoxEdge 1.0.0 released
Az.SqlVirtualMachine 1.0.0 released

Az.Compute

VM Reapply feature
Add Reapply parameter to Set-AzVM cmdlet
VM Scale Set AutomaticRepairs feature:
Add EnableAutomaticRepair, AutomaticRepairGracePeriod, and
AutomaticRepairMaxInstanceRepairsPercent parameters to the following cmdlets:
New-AzVmssConfig
Update-AzVmss
Cross tenant gallery image support for New-AzVM
Add 'Spot' to the argument completer of Priority parameter in New-AzVM, New-
AzVMConfig and New-AzVmss cmdlets
Add DiskIOPSReadWrite and DiskMBpsReadWrite parameters to Add-
AzVmssDataDisk cmdlet
Change SourceImageId parameter of New-AzGalleryImageVersion cmdlet to
optional
Add OSDiskImage and DataDiskImage parameters to New-AzGalleryImageVersion
cmdlet
Add HyperVGeneration parameter to New-AzGalleryImageDefinition cmdlet
Add SkipExtensionsOnOverprovisionedVMs parameters to New-AzVmss, New-
AzVmssConfig and Update-AzVmss cmdlets

Az.DataBoxEdge

Added cmdlet Get-AzDataBoxEdgeOrder


Get the Order
Added cmdlet New-AzDataBoxEdgeOrder
Create new Order
Added cmdlet Remove-AzDataBoxEdgeOrder
Remove the Order
Change in cmdlet New-AzDataBoxEdgeShare
Now creates Local Share
Added cmdlet Set-AzDataBoxEdgeRole
Now IotRole can be mapped to Share
Added cmdlet Invoke-AzDataBoxEdgeDevice
Invoke scan update, download update, install updates on the device
Added cmdlet Get-AzDataBoxEdgeTrigger
Gets the information about Triggers
Added cmdlet New-AzDataBoxEdgeTrigger
Create new Triggers
Added cmdlet Remove-AzDataBoxEdgeTrigger
Remove the Triggers

Az.DataFactory

Update ADF .Net SDK version to 4.4.0


Add parameter 'ExpressCustomSetup' for 'Set-AzDataFactoryV2IntegrationRuntime'
cmd to enable setup configurations and 3rd party components without custom
setup script.

Az.DataLakeStore

Update documentation of Get-AzDataLakeStoreDeletedItem and Restore-


AzDataLakeStoreDeletedItem
Az.EventHub
Fix for issue 10301 : Fix the SAS Token date format

Az.FrontDoor

Add MinimumTlsVersion parameter to Enable-AzFrontDoorCustomDomainHttps


and New-AzFrontDoorFrontendEndpointObject
Add HealthProbeMethod and EnabledState parameters to New-
AzFrontDoorHealthProbeSettingObject
Add new cmdlet to create BackendPoolsSettings objec to pass into creation/update
of Front Door
New-AzFrontDoorBackendPoolsSettingObject

Az.Network
Change 'Start-AzVirtualNetworkGatewayConnectionPacketCapture.md' and 'Start-
AzVirtualnetworkGatewayPacketCapture.md' FilterData option examples.

Az.PrivateDns

Updated PrivateDns .net sdk to version 1.0.0

Az.RecoveryServices

Azure Site Recovery support to select disk type at enabling protection.


Azure Site Recovery bug fix for recovery plan action edit.
Azure Backup SQL Restore support to accept filestream DBs.

Az.RedisCache
Added 'MinimumTlsVersion' parameter in 'New-AzRedisCache' and 'Set-
AzRedisCache' cmdlets. Also, added 'MinimumTlsVersion' in the output of 'Get-
AzRedisCache' cmdlet.
Added validation on '-Size' parameter for 'Set-AzRedisCache' and 'New-
AzRedisCache' cmdlets

Az.Resources
Updated policy cmdlets to use new api version 2019-06-01 that has new
EnforcementMode property in policy assignment.
Updated create policy definition help example
Fix bug Remove-AZADServicePrincipal -ServicePrincipalName, throw null reference
when service principal name not found.
Fix bug New-AZADServicePrincipal, throw null reference when tenant doesn't have
any subscription.
Change New-AzAdServicePrincipal to add credentials only to associated application.

Az.Sql
Added support for database ReadReplicaCount.
Fixed Set-AzSqlDatabase when zone redundancy not set

3.0.0 - November 2019

General
Az.PrivateDns 1.0.0 released

Az.Accounts

Add a deprecation message for 'Resolve-Error' alias.

Az.Advisor

Added new category 'Operational Excellence' to Get-AzAdvisorRecommendation


cmdlet.

Az.Batch
Renamed CoreQuota on BatchAccountContext to DedicatedCoreQuota . There is also a
new LowPriorityCoreQuota .
This impacts Get-AzBatchAccount.
New-AzBatchTask -ResourceFile parameter now takes a collection of
PSResourceFile objects, which can be constructed using the new New-
AzBatchResourceFile cmdlet.
New New-AzBatchResourceFile cmdlet to help create PSResourceFile objects.
These can be supplied to New-AzBatchTask on the -ResourceFile parameter.
This supports two new kinds of resource file in addition to the existing HttpUrl
way:
AutoStorageContainerName based resource files download an entire auto-

storage container to the Batch node.


StorageContainerUrl based resource files download the container specified in

the URL to the Batch node.


Removed ApplicationPackages property of PSApplication returned by Get-
AzBatchApplication.
The specific packages inside of an application now can be retrieved using Get-
AzBatchApplicationPackage. For example: Get-AzBatchApplication -AccountName
myaccount -ResourceGroupName myresourcegroup -ApplicationId myapplication .
Renamed ApplicationId to ApplicationName on Get-AzBatchApplicationPackage,
New-AzBatchApplicationPackage, Remove-AzBatchApplicationPackage, Get-
AzBatchApplication, New-AzBatchApplication, Remove-AzBatchApplication, and
Set-AzBatchApplication.
ApplicationId now is an alias of ApplicationName .
Added new PSWindowsUserConfiguration property to PSUserAccount .
Renamed Version to Name on PSApplicationPackage .
Renamed BlobSource to HttpUrl on PSResourceFile .
Removed OSDisk property from PSVirtualMachineConfiguration .
Removed Set-AzBatchPoolOSVersion. This operation is no longer supported.
Removed TargetOSVersion from PSCloudServiceConfiguration .
Renamed CurrentOSVersion to OSVersion on PSCloudServiceConfiguration .
Removed DataEgressGiB and DataIngressGiB from PSPoolUsageMetrics .
Removed Get-AzBatchNodeAgentSku and replaced it with Get-
AzBatchSupportedImage.
Get-AzBatchSupportedImage returns the same data as Get-
AzBatchNodeAgentSku but in a more friendly format.
New non-verified images are also now returned. Additional information about
Capabilities and BatchSupportEndOfLife for each image is also included.

Added ability to mount remote file-systems on each node of a pool via the new
MountConfiguration parameter of New-AzBatchPool.

Now support network security rules blocking network access to a pool based on the
source port of the traffic. This is done via the SourcePortRanges property on
PSNetworkSecurityGroupRule .

When running a container, Batch now supports executing the task in the container
working directory or in the Batch task working directory. This is controlled by the
WorkingDirectory property on PSTaskContainerSettings .
Added ability to specify a collection of public IPs on PSNetworkConfiguration via the
new PublicIPs property. This guarantees nodes in the Pool will have an IP from the
list user provided IPs.
When not specified, the default value of WaitForSuccess on PSSTartTask is now
$True (was $False ).
When not specified, the default value of Scope on PSAutoUserSpecification is now
Pool (was Task on Windows and Pool on Linux).

Az.Cdn

Introduced UrlRewriteAction and CacheKeyQueryStringAction to RulesEngine.


Fixed several bugs like missing 'Selector' Input in New-AzDeliveryRuleCondition
cmdlet.

Az.Compute
Disk Encryption Set feature
New cmdlets:
New-AzDiskEncryptionSetConfig
New-AzDiskEncryptionSet
Get-
AzDiskEncryptionSet
Remove-AzDiskEncryptionSet
DiskEncryptionSetId parameter is added to the following cmdlets:
Set-
AzImageOSDisk
Set-AzVMOSDisk
Set-AzVmssStorageProfile
Add-
AzImageDataDisk
New-AzVMDataDisk
Set-AzVMDataDisk
Add-AzVMDataDisk
Add-AzVmssDataDisk
Add-AzVmssVMDataDisk
DiskEncryptionSetId and EncryptionType parameters are added to the following
cmdlets:
New-AzDiskConfig
New-AzSnapshotConfig
Add PublicIPAddressVersion parameter to New-AzVmssIPConfig
Move FileUris of custom script extension from public setting to protected setting
Add ScaleInPolicy to New-AzVmss, New-AzVmssConfig and Update-AzVmss
cmdlets
Breaking changes
UploadSizeInBytes parameter is used instead of DiskSizeGB for New-
AzDiskConfig when CreateOption is Upload
PublishingProfile.Source.ManagedImage.Id is replaced with
StorageProfile.Source.Id in GalleryImageVersion object

Az.DataFactory
Update ADF .Net SDK version to 4.3.0

Az.DataLakeStore
Update ADLS SDK version (https://github.com/Azure/azure-data-lake-store-
net/blob/preview-alpha/CHANGELOG.md#version-123-alpha ), brings following
fixes
Avoid throwing exception while unable to deserialize the creationtime of the trash
or directory entry.
Expose setting per request timeout in adlsclient
Fix passing the original syncflag for badoffset recovery
Fix EnumerateDirectory to retrieve continuation token once response is checked
Fix Concat Bug

Az.FrontDoor

Fixed miscellaneous typos across module

Az.HDInsight

Fixed the bug that customer will get 'Not a valid Base-64 string' error when using
Get-AzHDInsightCluster to get the cluster with ADLSGen1 storage.
Add a parameter named 'ApplicationId' to three cmdlets Add-
AzHDInsightClusterIdentity, New-AzHDInsightClusterConfig and New-
AzHDInsightCluster so that customer can provide the service principal application id
for accessing Azure Data Lake.
Changed Microsoft.Azure.Management.HDInsight from 2.1.0 to 5.1.0
Removed five cmdlets:
Get-AzHDInsightOMS
Enable-AzHDInsightOMS
Disable-AzHDInsightOMS
Grant-AzHDInsightRdpServicesAccess
Revoke-AzHDInsightRdpServicesAccess
Added three cmdlets:
Get-AzHDInsightMonitoring to replace Get-AzHDInsightOMS.
Enable-AzHDInsightMonitoring to replace Enable-AzHDInsightOMS.
Disable-AzHDInsightMonitoring to replace Disable-AzHDInsightOMS.
Fixed cmdlet Get-AzHDInsightProperties to support get capabilities information
from a specific location.
Removed parameter sets('Spark1', 'Spark2') from Add-AzHDInsightConfigValue.
Add examples to the help documents of cmdlet Add-AzHDInsightSecurityProfile.
Changed output type of the following cmdlets:
Changed the output type of Get-AzHDInsightProperties from
CapabilitiesResponse to AzureHDInsightCapabilities.
Changed the output type of Remove-AzHDInsightCluster from
ClusterGetResponse to bool.
Changed the output type of Set-AzHDInsightGatewaySettings
HttpConnectivitySettings to GatewaySettings.
Added some scenario test cases.
Remove some alias: 'Add-AzHDInsightConfigValues', 'Get-AzHDInsightProperties'.

Az.IotHub

Breaking changes:
The cmdlet 'Add-AzIotHubEventHubConsumerGroup' no longer supports the
parameter 'EventHubEndpointName' and no alias was found for the original
parameter name.
The parameter set '__AllParameterSets' for cmdlet 'Add-
AzIotHubEventHubConsumerGroup' has been removed.
The cmdlet 'Get-AzIotHubEventHubConsumerGroup' no longer supports the
parameter 'EventHubEndpointName' and no alias was found for the original
parameter name.
The parameter set '__AllParameterSets' for cmdlet 'Get-
AzIotHubEventHubConsumerGroup' has been removed.
The property 'OperationsMonitoringProperties' of type
'Microsoft.Azure.Commands.Management.IotHub.Models.PSIotHubProperties'
has been removed.
The property 'OperationsMonitoringProperties' of type
'Microsoft.Azure.Commands.Management.IotHub.Models.PSIotHubInputProperties'
has been removed.
The cmdlet 'New-AzIotHubExportDevice' no longer supports the alias 'New-
AzIotHubExportDevices'.
The cmdlet 'New-AzIotHubImportDevice' no longer supports the alias 'New-
AzIotHubImportDevices'.
The cmdlet 'Remove-AzIotHubEventHubConsumerGroup' no longer supports the
parameter 'EventHubEndpointName' and no alias was found for the original
parameter name.
The parameter set '__AllParameterSets' for cmdlet 'Remove-
AzIotHubEventHubConsumerGroup' has been removed.
The cmdlet 'Set-AzIotHub' no longer supports the parameter
'OperationsMonitoringProperties' and no alias was found for the original
parameter name.
The parameter set 'UpdateOperationsMonitoringProperties' for cmdlet 'Set-
AzIotHub' has been removed.

Az.RecoveryServices
Azure Site Recovery support to configure networking resources like NSG, public IP
and internal load balancers for Azure to Azure.
Azure Site Recovery Support to write to managed disk for vMWare to Azure.
Azure Site Recovery Support to NIC reduction for vMWare to Azure.
Azure Site Recovery Support to accelerated networking for Azure to Azure.
Azure Site Recovery Support to agent auto update for Azure to Azure.
Azure Site Recovery Support to Standard SSD for Azure to Azure.
Azure Site Recovery Support to Azure Disk Encryption two pass for Azure to Azure.
Azure Site Recovery Support to protect newly added disk for Azure to Azure.
Added SoftDelete feature for VM and added tests for softdelete

Az.Resources
Update dependency assembly Microsoft.Extensions.Caching.Memory from 1.1.1 to
2.2

Az.Network
Change all cmdlets for PrivateEndpointConnection to support generic service
provider.
Updated cmdlet:
Approve-AzPrivateEndpointConnection
Deny-AzPrivateEndpointConnection
Get-AzPrivateEndpointConnection
Remove-AzPrivateEndpointConnection
Set-AzPrivateEndpointConnection
Add new cmdlet for PrivateLinkResource and it also support generic service
provider.
New cmdlet:
Get-AzPrivateLinkResource
Add new fields and parameter for the feature Proxy Protocol V2.
Add property EnableProxyProtocol in PrivateLinkService
Add property LinkIdentifier in PrivateEndpointConnection
Updated New-AzPrivateLinkService to add a new optional parameter
EnableProxyProtocol.
Fix incorrect parameter description in 'New-AzApplicationGatewaySku' reference
documentation
New cmdlets to support the azure firewall policy
Add support for child resource RouteTables of VirtualHub
New cmdlets added:
Add-AzVirtualHubRoute
Add-AzVirtualHubRouteTable
Get-AzVirtualHubRouteTable
Remove-AzVirtualHubRouteTable
Set-AzVirtualHub
Add support for new properties Sku of VirtualHub and VirtualWANType of
VirtualWan
Cmdlets updated with optional parameters:
New-AzVirtualHub : added parameter Sku
Update-AzVirtualHub : added parameter Sku
New-AzVirtualWan : added parameter VirtualWANType
Update-AzVirtualWan : added parameter VirtualWANType
Add support for EnableInternetSecurity property for HubVnetConnection,
VpnConnection and ExpressRouteConnection
New cmdlets added:
Update-AzVirtualHubVnetConnection
Cmdlets updated with optional parameters:
New-AzVirtualHubVnetConnection : added parameter EnableInternetSecurity
New-AzVpnConnection : added parameter EnableInternetSecurity
Update-AzVpnConnection : added parameter EnableInternetSecurity
New-AzExpressRouteConnection : added parameter EnableInternetSecurity
Set-AzExpressRouteConnection : added parameter EnableInternetSecurity
Add support for Configuring TopLevel WebApplicationFirewall Policy
New cmdlets added:
New-AzApplicationGatewayFirewallPolicySetting
New-AzApplicationGatewayFirewallPolicyExclusion
New-AzApplicationGatewayFirewallPolicyManagedRuleGroupOverride
New-AzApplicationGatewayFirewallPolicyManagedRuleOverride
New-AzApplicationGatewayFirewallPolicyManagedRule
New-AzApplicationGatewayFirewallPolicyManagedRuleSet
Cmdlets updated with optional parameters:
New-AzApplicationGatewayFirewallPolicy : added parameter PolicySetting,
ManagedRule
Added support for Geo-Match operator on CustomRule
Added GeoMatch to the operator on the FirewallCondition
Added support for perListener and perSite Firewall policy
Cmdlets updated with optional parameters:
New-AzApplicationGatewayHttpListener : added parameter FirewallPolicy,
FirewallPolicyId
New-AzApplicationGatewayPathRuleConfig : added parameter FirewallPolicy,
FirewallPolicyId
Fix required subnet with name AzureBastionSubnet in 'PSBastion' can be case
insensitive
Support for Destination FQDNs in Network Rules and Translated FQDN in NAT Rules
for Azure Firewall
Add support for top level resource RouteTables of IpGroup
New cmdlets added:
New-AzIpGroup
Remove-AzIpGroup
Get-AzIpGroup
Set-AzIpGroup

Az.ServiceFabric
Remove Add-AzServiceFabricApplicationCertificate cmdlet as this scenario is
covered by Add-AzVmssSecret.

Az.Sql
Added support for restore of dropped databases on Managed Instances.
Deprecated from code old auditing cmdlets.
Removed deprecated aliases:
Get-AzSqlDatabaseIndexRecommendations (use Get-
AzSqlDatabaseIndexRecommendation instead)
Get-AzSqlDatabaseRestorePoints (use Get-AzSqlDatabaseRestorePoint instead)
Remove Get-AzSqlDatabaseSecureConnectionPolicy cmdlet
Remove aliases for deprecated Vulnerability Assessment Settings cmdlets
Deprecate Advanced Threat Detection Settings cmdlets
Adding cmdlets to Disable and enable sensitivity recommendations on columns in a
database.

Az.Storage
Support enable Large File share when create or update Storage account
New-AzStorageAccount
Set-AzStorageAccount
When close/get File handle, skip check the input path is File directory or File, to
avoid failure with object in DeletePending status
Get-AzStorageFileHandle
Close-AzStorageFileHandle
2.8.0 - October 2019

General
Az.HealthcareApis 1.0.0 release

Az.Accounts
Update telemetry and url rewriting for generated modules, fix windows unit tests.

Az.ApiManagement
Set-AzApiManagementApi - Added support for Updating Api into ApiVersionSet
Fix for issue https://github.com/Azure/azure-powershell/issues/10068

Az.Automation
Fixed New-AzureAutomationSoftwareUpdateConfiguration cmdlet for Linux reboot
setting parameter.

Az.Batch

Get-AzBatchNodeAgentSku is deprecated and will be replaced by Get-


AzBatchSupportImage in version 2.0.0.

Az.Compute
Add Priority, EvictionPolicy, and MaxPrice parameters to New-AzVM and New-
AzVmss cmdlets
Fix warning message and help document for Add-AzVMAdditionalUnattendContent
and Add-AzVMSshPublicKey cmdlets
Fix -skipVmBackup exception for Linux VMs with managed disks for Set-
AzVMDiskEncryptionExtension.
Fix bug in update encryption settings in Set-AzVMDiskEncryptionExtension, two
pass scenario.

Az.DataFactory

Adding CRUD commands for ADF V2 data flow: Set-AzDataFactoryV2DataFlow,


Remove-AzDataFactoryV2DataFlow, and Get-AzDataFactoryV2DataFlow.
Adding action commands for ADF V2 data flow debug Session: Start-
AzDataFactoryV2DataFlowDebugSession, Get-
AzDataFactoryV2DataFlowDebugSession, Add-
AzDataFactoryV2DataFlowDebugSessionPackage, Invoke-
AzDataFactoryV2DataFlowDebugSessionCommand and Stop-
AzDataFactoryV2DataFlowDebugSession.
Update ADF .Net SDK version to 4.2.0

Az.DataLakeStore

Fix account validation so that accounts with '-' can be passed without domain

Az.HealthcareApis

Updated the powershell version to 1.0.0


Updated the SDK version to 1.0.2
Update in tests to refer to new SDK version
Updated the output structure from nested to flattened.

Az.IotHub
Add new routing source: DigitalTwinChangeEvents
Minor bug fix: Get-AzIothub not returning subscriptionId

Az.Monitor
New action group receivers added for action group
-ItsmReceiver
-VoiceReceiver
-
ArmRoleReceiver
-AzureFunctionReceiver
-LogicAppReceiver
-
AutomationRunbookReceiver
-AzureAppPushReceiver
Use common alert schema enabled for the receivers. This is not applicable for SMS,
Azure App push , ITSM and Voice recievers
Webhooks now supports Azure active directory authentication .

Az.Network
Add new cmdlet Get-AzAvailableServiceAlias which can be called to get the aliases
that can be used for Service Endpoint Policies.
Added support for the adding traffic selectors to Virtual Network Gateway
Connections
New cmdlets added:
New-AzureRmTrafficSelectorPolicy
Cmdlets updated with optional parameter -TrafficSelectorPolicies
-New-
AzVirtualNetworkGatewayConnection
-Set-AzVirtualNetworkGatewayConnection
Add support for ESP and AH protocols in network security rule configurations
Updated cmdlets:
Add-AzNetworkSecurityRuleConfig
New-AzNetworkSecurityRuleConfig
Set-AzNetworkSecurityRuleConfig
Improve handling of exceptions in Cortex cmdlets
New Generations and SKUs for VirtualNetworkGateways
Introduce new Generations for VirtualNetworkGateways.
Introduce new high throughput SKUs for VirtualNetworkGateways.

Az.RedisCache
Updated 'Set-AzRedisCache' reference documentation to include missing values for
'-Size' parameter

Az.Sql

Add support for setting Active Directory Administrator on Managed Instance

Az.Storage

Upgrade Storage Client Library to 11.1.0


List containers with Management plane API, will list with NextPageLink
Get-AzRmStorageContainer
List Storage accounts from subscription, will list with NextPageLink
Get-AzStorageAccount

Az.StorageSync
Fix Issue 9810 in Reset-AzStorageSyncServerCertificate.

Az.Websites
Set-AzWebApp updating ASP of an app was failing

2.7.0 - September 2019


Az.ApiManagement
Update '-Format' parameter description in 'Set-AzApiManagementPolicy' reference
documentation
Removed references of deprecated cmdlet 'Update-AzApiManagementDeployment'
from reference documentation. Use 'Set-AzApiManagement' instead.

Az.Automation
Fixed example typo in reference documentation for 'Register-
AzAutomationDscNode'
Added clarification on OS restriction to Register-AzAutomationDSCNode
Fixed Start-AzAutomationRunbook cmdlet Null reference exception for -Wait
option.

Az.Compute

Add UploadSizeInBytes parameter tp New-AzDiskConfig


Add Incremental parameter to New-AzSnapshotConfig
Add a low priority virtual machine feature:
MaxPrice, EvictionPolicy and Priority parameters are added to New-AzVMConfig.
MaxPrice parameter is added to New-AzVmssConfig, Update-AzVM and Update-
AzVmss cmdlets.
Fix VM reference issue for Get-AzAvailabilitySet cmdlet when it lists all availability
sets in the subscription.
Fix the null exception for Get-AzRemoteDesktopFile.
Fix VHD Seek method for end-relative position.
Fix UltraSSD issue for New-AzVM and Update-AzVM.

Az.DataFactory

Adding 3 new commands for ADF V2 - Add-AzDataFactoryV2TriggerSubscription,


Remove-AzDataFactoryV2TriggerSubscription, and Get-
AzDataFactoryV2TriggerSubscriptionStatus
Updated ADF .Net SDK version to 4.1.3

Az.HDInsight

Call out breaking changes

Az.IotHub
Add support to invoke failover for an IotHub to the geo-paired disaster recovery
region.
Add support to manage message enrichment for an IotHub. New cmdlets are:
Add-AzIotHubMessageEnrichment
Get-AzIotHubMessageEnrichment
Remove-AzIotHubMessageEnrichment
Set-AzIotHubMessageEnrichment

Az.Monitor

Pointing to the most recent Monitor SDK, i.e. 0.24.1-preview


Adds non-braking changes to the Metrics cmdlets, i.e. the Unit enumeration
supports several new values. These are read-only cmdlets, so there would be no
change in the input of the cmdlets.
The api-version of the ActionGroups requests is now 2019-06-01, before it was
2018-03-01. The scenario tests have been updated to accommodate for this
change.
The constructors for the classes EmailReceiver and WebhookReceiver added one
new mandatory argument, i.e. a Boolean value called useCommonAlertSchema.
Currently, the value is fixed to false to hide this breaking change from the
cmdlets. NOTE: this is a temporary change that must be validated by the Alerts
team.
The order of the arguments for the constructor of the class Source (related to the
ScheduledQueryRuleSource class) changed from the previous SDK. This change
required two unit tests to the be fixed: they compiled, but failed to pass the tests.
The order of the arguments for the constructor of the class AlertingAction
(related to the ScheduledQueryRuleSource class) changed from the previous
SDK. This change required two unit tests to the be fixed: they compiled, but
failed to pass the tests.
Support Dynamic Threshold criteria for metric alert V2
New-AzMetricAlertRuleV2Criteria: now creats dynamic threshold criteria also
Add-AzMetricAlertRuleV2: now accept dynamic threshold criteria also
Improvements in Scheduled Query Rule cmdlets (SQR)

Cmdlets will accept 'Location' paramater in both formats, either the location (e.g.
eastus) or the location display name (e.g. East US)
Illustrated 'Enabled' parameter in help files properly
Added examples for 'ActionGroup' optional parameter
Overall improved help files

Fix bug in determining scope type for 'Set-AzActionRule'


Az.Network
Fix incorrect example in 'New-AzApplicationGateway' reference documentation
Add note in 'Get-AzNetworkWatcherPacketCapture' reference documentation about
retrieving all properties for a packet capture
Fixed example in 'Test-AzNetworkWatcherIPFlow' reference documentation to
correctly enumerate NICs
Improved cloud exception parsing to display additional details if they are present
Improved cloud exception parsing to handle additional type of SDK exception
Fixed incorrect mapping of Security Rule models
Added properties to network interface for private ip feature
Added property 'PrivateEndpoint' as type of PSResourceId to PSNetworkInterface
Added property 'PrivateLinkConnectionProperties' as type of
PSIpConfigurationConnectivityInformation to PSNetworkInterfaceIPConfiguration
Added new model class PSIpConfigurationConnectivityInformation
Added new ApplicationRuleProtocolType 'mssql' for Azure Firewall resource
MultiLink support in Virtual WAN
New cmdlets
New-AzVpnSiteLink
New-AzVpnSiteLinkConnection
Updated cmdlet:
New-VpnSite
Update-VpnSite
New-VpnConnection
Update-VpnConnection
Fixed documents for some PowerShell examples to use Az cmdlets instead of
AzureRM cmdlets

Az.RecoveryServices

Update AzureVMpolicy Object with ProtectedItemsCount Attribute


Added Tests for VM policy and Original Storage Account Restore

Az.Resources
Fix bug where New-AzRoleAssignment could not be called without parameter
Scope.

Az.ServiceFabric
Fixed typo in example for 'Update-AzServiceFabricReliability' reference
documentation
Adding new cmdlets to manage appliaction and services:
New-AzServiceFabricApplication
New-AzServiceFabricApplicationType
New-AzServiceFabricApplicationTypeVersion
New-AzServiceFabricService
Update-AzServiceFabricApplication
Get-AzServiceFabricApplication
Get-AzServiceFabricApplicationType
Get-AzServiceFabricApplicationTypeVersion
Get-AzServiceFabricService
Remove-AzServiceFabricApplication
Remove-AzServiceFabricApplicationType
Remove-AzServiceFabricApplicationTypeVersion
Remove-AzServiceFabricServic
Upgraded Service Fabric SDK to version 1.2.0 which uses service fabric resource
provider api-version 2019-03-01.

Az.SignalR
Add Update, Restart, CheckNameAvailability, GetUsage Cmdlets

Az.Sql
Update example in reference documentation for 'Get-AzSqlElasticPool'
Added vCore example to creating an elastic pool (New-AzSqlElasticPool).
Remove the validation of EmailAddresses and the check that EmailAdmins is not
false in case EmailAddresses is empty in Set-
AzSqlServerAdvancedThreatProtectionPolicy and Set-
AzSqlDatabaseAdvancedThreatProtectionPolicy
Enabled removal of server/database auditing settings when multiple diagnostic
settings that enable audit category exist.
Fix email addresses validation in multiple Sql Vulnerability Assessment cmdlets
(Update-AzSqlDatabaseVulnerabilityAssessmentSetting, Update-
AzSqlServerVulnerabilityAssessmentSetting, Update-
AzSqlInstanceDatabaseVulnerabilityAssessmentSetting and Update-
AzSqlInstanceVulnerabilityAssessmentSetting).

Az.Storage
Updated example in reference documentation for 'Get-AzStorageAccountKey'
In upload/Downalod Azure File,support perserve the source File SMB properties (File
Attributtes, File Creation Time, File Last Write Time) in the destination file
Set-AzStorageFileContent
Get-AzStorageFileContent
Fix Upload block blob with properties/metadate fail on container enabled
ImmutabilityPolicy.
Set-AzStorageBlobContent
Support manage Azure File shares with Management plane API
New-AzRmStorageShare
Get-AzRmStorageShare
Update-AzRmStorageShare
Remove-AzRmStorageShare

Az.Websites
Fixing issue where webapp Tags were getting deleted when migrating App to new
ASPwhere webapp Tags were getting deleted when migrating App to new ASP
Fixing the Publish-AzureWebapp to work across Linux and windows
Update example in 'Get-AzWebAppPublishingProfile' reference documentation

2.6.0 - August 2019

General
Fixed miscellaneous typos across numerous modules

Az.Accounts

Added support for user-assigned MSI in Azure Functions authentication (#9479)

Az.Aks

Fixed issue with output for 'Get-AzAks' (#9847 )

Az.ApiManagement

Fixed issue with whitespace in productId , apiId , groupId , userId (#9351 )


Get-AzApiManagementProduct - Added support for querying products using API
(#9482 )
New-AzApiManagementApiRevision - Fixed issue where ApiRevisionDescription
was not set when creating new API revision (#9752 )
Fixed typo in model PsApiManagementOAuth2AuthrozationServer to
PsApiManagementOAuth2AuthorizationServer

Az.Batch

Fixed typos in help message and documentation

Az.Cdn

Fixed a typo in CDN module conversion helper

Az.Compute

Added VmssId to New-AzVMConfig cmdlet


Added TerminateScheduledEvents and
TerminateScheduledEventNotBeforeTimeoutInMinutes parameters to New-

AzVmssConfig and Update-AzVmss


Added HyperVGeneration property to VM image object
Added Host and HostGroup features
New cmdlets:
New-AzHostGroup
New-AzHost
Get-AzHostGroup
Get-AzHost
Remove-AzHostGroup
Remove-AzHost
Added HostId parameter to New-AzVMConfig and New-AzVM
Updated example in Invoke-AzVMRunCommand documentation to use correct
parameter name
Updated -VolumeType description in Set-AzVMDiskEncryptionExtension and Set-
AzVmssDiskEncryptionExtension reference documentation

Az.DataFactory
Fixed typos in New-AzDataFactoryEncryptValue documentation
Updated ADF .Net SDK version to 4.1.2
Added parameters to Set-AzureRmDataFactoryV2IntegrationRuntime to enable
Self-Hosted Integration Runtime as a proxy for SSIS Integration Runtime:
DataProxyIntegrationRuntimeName

DataProxyStagingLinkedServiceName
DataProxyStagingPath

Updated PSTriggerRun to show the triggered pipelines, message and properties,


and PSActivityRun to show the activity type

Az.DataLakeStore
Fixed issue where Get-DataLakeStoreDeletedItem would hang on errors and
remote exceptions

Az.EventHub
Fixed typo VirtualNteworkRule in Set-AzEventHubNetworkRuleSet (#9658 )
Fixed issue where Set-AzEventHubNamespace used PATCH instead of PUT
(#9558 )
Added EnableKafka parameter to Set-AzEventHubNamespace cmdlet
Fixed issue with creating rules with Listen rights (#9786 )

Az.MarketplaceOrdering
Fixed documentation typos

Az.Monitor

Fixed incorrect parameter name in help documentation

Az.Network

Updated New-AzPrivateLinkServiceIpConfig:
Deprecated the parameter PublicIpAddress since this is never used in the server
side.
Added optional parameter Primary that indicates if the current IP configuration
is the primary one
Improved handling of request error exception from SDK
Fixed validation logic for Ipv6 IP Prefix to check for correct IPv6 prefix length
Added parameter set to get by subnet resource id to Get-
AzVirtualNetworkSubnetConfig
Updated description of Location parameter for AzNetworkServiceTag
Az.OperationalInsights
Updated documentation for New-AzOperationalInsightsLinuxSyslogDataSource:
Added example
Updated description for -Name parameter
Added an example for New-AzOperationalInsightsWindowsEventDataSource
Changed the description of the -Name parameter for New-
AzOperationalInsightsWindowsEventDataSource

Az.RecoveryServices
Updated documentation for Get-AzRecoveryServicesBackupJobDetail

Az.Resources

Added support for new API version 2019-05-10 for Microsoft.Resource


Add support for 'copy.count = 0' for variables, resources and properties
Resources with 'condition = false' or 'copy.count = 0' will be deleted in complete
mode
Added an example of assigning policy at the subscription level

Az.ServiceBus

Fixed typo VirtualNetworkRule parameter in Set-AzServiceBusNetworkRuleSet Fix


for issue #9658 : Typo
Fixed issue with creating Listen -only rules (#9786 )
Added new command Test-AzServiceBusNameAvailability to check the name
availability for queue and topic

Az.ServiceFabric
Fixed NullReferenceException when a resource group has a VMSS not related to the
service fabric cluster (#8681 )
Fixed bug where cmdlets failed if virtualNetwork was in a different resource group
than the cluster (#8407 )
Deprecated Add-AzServiceFabricApplicationCertificate cmdlet

Az.Sql

Updated documentation for old Auditing cmdlets


Az.Storage
Updated help for Close-AzStorageFileHandle and Get-AzStorageFileHandle, added
more scenarios to cmdlet examples and updated parameter descriptions
Added support for StandardBlobTier in blob uploads and copies
Added support for Rehydrate priority in blob copy

Az.Websites
Added clarification around -AppSettings parameter for Set-AzWebApp and Set-
AzWebAppSlot

2.5.0 - July 2019

Az.Accounts
Update common code to use latest version of ClientRuntime

Az.ApplicationInsights
Fix example typo in 'Remove-AzApplicationInsightsApiKey' documentation

Az.Automation

Fix typo in resource string

Az.CognitiveServices

Added NetworkRuleSet support.

Az.Compute

Add missing properties (ComputerName, OsName, OsVersion and


HyperVGeneration) of VM instance view object.

Az.ContainerRegistry
Fix typo in Remove-AzContainerRegistryReplication for Replication parameter
More information here https://github.com/Azure/azure-
powershell/issues/9633
Az.DataFactory
Updated ADF .Net SDK version to 4.1.0
Fix typo in documentation for 'Get-AzDataFactoryV2PipelineRun'

Az.EventHub
Added new cmmdlet added for generating SAS token : New-
AzEventHubAuthorizationRuleSASToken
added verification and error message for authorizationrules rights if only 'Manage'
is assigned

Az.KeyVault

Added support to specify the KeySize for Certificate Policies

Az.LogicApp
Fix for Get-AzIntegrationAccountMap to list all map types
Added new MapType parameter for filtering

Az.ManagedServices

Added support for api version 2019-06-01 (GA)

Az.Network

Add support for private endpoint and private link service


New cmdlets
Set-AzPrivateEndpoint
Set-AzPrivateLinkService
Approve-AzPrivateEndpointConnection
Deny-AzPrivateEndpointConnection
Get-AzPrivateEndpointConnection
Remove-AzPrivateEndpointConnection
Test-AzPrivateLinkServiceVisibility
Get-AzAutoApprovedPrivateLinkService
Updated below commands for feature:
PrivateEndpointNetworkPolicies/PrivateLinkServiceNetworkPolicies flag on Subnet in
Virtualnetwork
Updated New-AzVirtualNetworkSubnetConfig/Set-
AzVirtualNetworkSubnetConfig/Add-AzVirtualNetworkSubnetConfig
Added optional parameter -PrivateEndpointNetworkPoliciesFlag to indicate
that enable or disable apply network policies on pivate endpoint in this
subnet.
Added optional parameter -PrivateLinkServiceNetworkPoliciesFlag to indicate
that enable or disable apply network policies on private link service in this
subnet.
AzPrivateLinkService's cmdlet parameter 'ServiceName' was renamed to 'Name' with
an alias 'ServiceName' for backward compatibility
Enable ICMP protocol for network security rule configurations
Updated cmdlets
Add-AzNetworkSecurityRuleConfig
New-AzNetworkSecurityRuleConfig
Set-AzNetworkSecurityRuleConfig
Add ConnectionProtocolType (Ikev1/Ikev2) as a configurable parameter for New-
AzVirtualNetworkGatewayConnection
Add PrivateIpAddressVersion in LoadBalancerFrontendIpConfiguration
Updated cmdlet:
New-AzLoadBalancerFrontendIpConfig
Add-AzLoadBalancerFrontendIpConfig
Set-AzLoadBalancerFrontendIpConfig
Application Gateway New-AzApplicationGatewayProbeConfig command update for
supporting custom port in Probe
Updated New-AzApplicationGatewayProbeConfig: Added optional parameter
Port which is used for probing backend server. This parameter is applicable for
Standard_V2 and WAF_V2 SKU.

Az.OperationalInsights
Updated default version for saved searches to be 1.
Fixed custom log null regex handling

Az.RecoveryServices
Update 'Get-AzRecoveryServicesBackupJob.md'
Update 'Get-AzRecoveryServicesBackupContainer.md'
Update 'Get-AzRecoveryServicesVault.md'
Update 'Wait-AzRecoveryServicesBackupJob.md'
Update 'Set-AzRecoveryServicesVaultContext.md'
Update 'Get-AzRecoveryServicesBackupItem.md'
Update 'Get-AzRecoveryServicesBackupRecoveryPoint.md'
Update 'Restore-AzRecoveryServicesBackupItem.md'
Updated service call for Unregistering container for Azure File Share
Update 'Set-AzRecoveryServicesAsrAlertSetting.md'

Az.Resources

Remove missing cmdlet referenced in 'New-AzResourceGroupDeployment'


documentation
Updated policy cmdlets to use new api version 2019-01-01

Az.ServiceBus
Added new cmmdlet added for generating SAS token : New-
AzServiceBusAuthorizationRuleSASToken
added verification and error message for authorizationrules rights if only 'Manage'
is assigned

Az.Sql

Fix missing examples for Set-AzSqlDatabaseSecondary cmdlet


Fix set Vulnerability Assessment recurring scans without providing any email
addresses
Fix a small typo in a warining message.

Az.Storage

Update example in reference documentation for 'Get-AzStorageAccount' to use


correct parameter name

Az.StorageSync
Adding Invoke-AzStorageSyncChangeDetection cmdlet.
Fix Issue 9551 for honoring TierFilesOlderThanDays

Az.Websites
Fixing a bug where some SiteConfig properties were not returned by Get-
AzWebApp and Set-AzWebApp
Adds a new Location parameter to Get-AzDeletedWebApp and Restore-
AzDeletedWebApp
Fixes a bug with cloning web app slots using New-AzWebApp -
IncludeSourceWebAppSlots

2.4.0 - July 2019

Az.Accounts
Add support for profile cmdlets
Add support for environments and data planes in generated cmdlets
Fix bug where incorrect endpoint was being used in some cases for data plane
cmdlets in Windows PowerShell

Az.Advisor
GA release of Az.Advisor
This module is now included as a part of the roll-up Az module

Az.ApiManagement

Fix for issue https://github.com/Azure/azure-powershell/issues/8671


Get-AzApiManagementSubscription
Added support for querying subscriptions by User and Product
Added support for querying using Scope '/', '/apis', '/apis/echo-api'
Fix for issue https://github.com/Azure/azure-powershell/issues/9307 and
https://github.com/Azure/azure-powershell/issues/8432
Import-AzApiManagementApi
Added support for specifiying 'ApiVersion' and 'ApiVersionSetId' when
importing Apis

Az.Automation
Fixed Set-AzAutomationConnectionFieldValue cmdlet bug to handle string value.

Az.Compute
Add HyperVGeneration parameter to New-AzImageConfig

Az.DataFactory
Updating the output of get activity runs, get pipeline runs, and get trigger runs ADF
cmdlets to support Select-Object pipe.

Az.EventGrid

Fix typo in 'New-AzEventGridSubscription' documentation

Az.IotHub

Add support to regenerate authorization policy keys.

Az.Network

Added 'RoutingPreference' to public ip tags


Improve examples for 'Get-AzNetworkServiceTag' reference documentation

Az.PolicyInsights
Fix null reference issue in Get-AzPolicyState
More information here: https://github.com/Azure/azure-
powershell/issues/9446

Az.OperationalInsights

Fixed CustomLog datasource model returned in Get-


AzOperationalInsightsDataSource

Az.RecoveryServices
Fix for get-policy command for IaaSVMs

Az.Resources
Fix help text for Get-AzPolicyState -Top parameter
Add client-side paging support for Get-AzPolicyAlias
Add new parameters for Set-AzPolicyAssignment , -PolicyParameters and -
PolicyParametersObject

Handful of doc and example updates for Policy cmdlets

Az.ServiceBus
Fix for issue #4938 - New-AzServiceBusQueue returns BadRequest when setting
MaxSizeInMegabytes

Az.Sql

Add Instance Failover Group cmdlets from preview release to public release
Support Azure SQL Server\Database Auditing with new cmdlets.
Set-AzSqlServerAudit
Get-AzSqlServerAudit
Remove-AzSqlServerAudit
Set-AzSqlDatabaseAudit
Get-AzSqlDatabaseAudit
Remove-AzSqlDatabaseAudit
Remove email constraints from Vulnerability Assessment settings

Az.Storage
Change 2 parameters '-IndexDocument' and '-ErrorDocument404Path' from
required to optional in cmdlet:
Enable-AzStorageStaticWebsite
Update help of Get-AzStorageBlobContent by add an example
Show more error information when cmdlet failed with StorageException
Support create or update Storage account with Azure Files AAD DS Authentication
New-AzStorageAccount
Set-AzStorageAccount
Support list or close file handles of a file share, file directory or a file
Get-AzStorageFileHandle
Close-AzStorageFileHandle

Az.StorageSync
This module is now included as a part of the roll-up Az module

2.3.2 - June 2019

Az.Accounts
Fix bug with incorrect URL being used in some cases for Functions calls
More information here: https://github.com/Azure/azure-
powershell/issues/8983
Fix Issue with aliases from AzureRM to Az cmdlets
Set-AzureRmVMBootDiagnostics -> Set-AzVMBootDiagnostic
Export-AzureRMLogAnalyticThrottledRequests -> Export-
AzLogAnalyticThrottledRequest

Az.Compute

New-AzVm and New-AzVmss simple parameter sets now accept the


'ProximityPlacementGroup' parameter.
Fix typo in 'New-AzVM' reference documentation

Az.Dns
Fixed a typo in 'Set-AzDnsZone' help examples.

Az.EventGrid
Updated to use the 2019-06-01 API version.
New cmdlets:
New-AzEventGridDomain
Creates a new Azure Event Grid Domain.
Get-AzEventGridDomain
Gets the details of an Event Grid Domain, or gets a list of all Event Grid
Domains in the current Azure subscription.
Remove-AzEventGridDomain
Removes an Azure Event Grid Domain.
New-AzEventGridDomainKey
Regenerates the shared access key for an Azure Event Grid Domain.
Get-AzEventGridDomainKey
Gets the shared access keys used to publish events to an Event Grid Domain.
New-AzEventGridDomainTopic:
Creates a new Azure Event Grid Domain Topic.
Get-AzEventGridDomainTopic
Gets the details of an Event Grid Domain Topic, or gets a list of all Event Grid
Domain Topics under specific Event Grid Domain in the current Azure
Remove-AzEventGridDomainTopic:
Removes an existing Azure Event Grid Domain Topic.
Updated cmdlets:
New-AzEventGridSubscription/Update-AzEventGridSubscription:
Add new mandatory parameters to support piping for the new Event Grid
Domain and Event Grid Domain Topic to allow creating new event subscription
under these resources.
Add new mandatory parameters for specifying the new Event Grid Domain
name and/or Event Grid Domain Topic name to allow creating new event
subscription under these resources.
Add new Parameter sets for domains and domain topics to allow reusing
existing parameters (e.g., EndPointType, SubjectBeginsWith, etc).
Add new optional parameters for specifying:
Event subscription expiration date,
Advanced filtering parameters.
Add new enum for servicebusqueue as destination.
Disallow usage of 'All' in -IncludedEventType option and replace it with
Get-AzEventGridTopic, Get-AzEventGridDomain, Get-AzEventGridDomainTopic,
Get-AzEventGridSubscription:
Add new optional parameters (Top, ODataQuery and NextLink) to support
results pagination and filtering.
Remove-AzEventGridSubscription
Add new mandatory parameters to support piping for Event Grid Domain and
Event Grid Domain Topic to allow removing existing event subscription under
these resources.
Add new mandatory parameters for specifying the Event Grid Domain name
and/or Event Grid Domain Topic name to allow removing existing event
subscription under these resources.

Az.FrontDoor

New-AzFrontDoorWafMatchConditionObject
Add transforms support and new operator auto-complete value (RegEx)
New-AzFrontDoorWafManagedRuleObject
Add new auto-complete values

Az.Network
Add support for Virtual Network Gateway Resource
New cmdlets
Get-AzVirtualNetworkGatewayVpnClientConnectionHealth
Add AvailablePrivateEndpointType
New cmdlets
Get-AzAvailablePrivateEndpointType
Add PrivatePrivateLinkService
New cmdlets
Get-AzPrivateLinkService
New-AzPrivateLinkService
Remove-AzPrivateLinkService
New-AzPrivateLinkServiceIpConfig
Set-AzPrivateEndpointConnection
Add PrivateEndpoint
New cmdlets
Get-AzPrivateEndpoint
New-AzPrivateEndpoint
Remove-AzPrivateEndpoint
New-AzPrivateLinkServiceConnection
Updated below commands for feature: UseLocalAzureIpAddress flag on
VpnConnection
Updated New-AzVpnConnection: Added optional parameter -
UseLocalAzureIpAddress to indicate that local azure ip address should be used as
source address while initiating connection.
Updated Set-AzVpnConnection: Added optional parameter -
UseLocalAzureIpAddress to indicate that local azure ip address should be used as
source address while initiating connection.
Added readonly field PeeredConnections in ExpressRoute peering.
Added readonly field GlobalReachEnabled in ExpressRoute.
Added breaking change attribute to call out deprecation of AllowGlobalReach field
in ExpressRouteCircuit model
Fixed Issue 8756 Error using TargetListenerID with
AzApplicationGatewayRedirectConfiguration cmdlets
Fixed bug in New-AzApplicationGatewayPathRuleConfig that prevented the rewrite
ruleset from being set.
Fixed displaying of VirtualNetworkTaps in NetworkInterfaceIpConfiguration
Fixed Cortex Get cmdlets for list all part
Fixed VirtualHub reference creation for ExpressRouteGateways, VpnGateway
Added support for Availability Zones in AzureFirewall and NatGateway
Added cmdlet Get-AzNetworkServiceTag
Add support for multiple public IP addresses for Azure Firewall
Updated New-AzFirewall cmdlet:
Added parameter -PublicIpAddress which accepts one or more Public IP
Address objects
Added parameter -VirtualNetwork which accepts a Virtual Network object
Added methods AddPublicIpAddress and RemovePublicIpAddress on firewall
object - these accept a Public IP Address object as input
Deprecated parameters -PublicIpName and -VirtualNetworkName
Updated below commands for feature: Set VpnClient AAD authentication options to
Virtual network gateway resource.
Updated New-AzVirtualNetworkGateway: Added optional parameters
AadTenantUri,AadAudienceId,AadIssuerUri to set VpnClient AAD authentication
options on Gateway.
Updated Set-AzVirtualNetworkGateway: Added optional parameter
AadTenantUri,AadAudienceId,AadIssuerUri to set VpnClient AAD authentication
options on Gateway.
Updated Set-AzVirtualNetworkGateway: Added optional switch parameter
RemoveAadAuthentication to remove VpnClient AAD authentication options
from Gateway.

Az.OperationalInsights

Enable pergb2018 pricing tier in 'New-AzOperationalInsightsWorkspace' command

Az.Resources

Support for additional Template Export options


Add '-SkipResourceNameParameterization' parameter to Export-
AzResourceGroup
Add '-SkipAllParameterization' parameter to Export-AzResourceGroup
Add '-Resource' parameter to Export-AzResourceGroup for exported resource
filtering

Az.ServiceFabric

Fix add certificate ByExistingKeyVault getting the wrong thumbprint in some cases

Az.Sql

Fix Advanced Threat Protection storage endpoint suffix


Fix Advanced Data Security enable overrides Advanced Threat Protection policy
New Cmdlets for Management.Sql to allow customers to add TDE keys and set TDE
protector for managed instances
Add-AzSqlInstanceKeyVaultKey
Get-AzSqlInstanceKeyVaultKey
Remove-AzSqlInstanceKeyVaultKey
Get-AzSqlInstanceTransparentDataEncryptionProtector
Set-AzSqlInstanceTransparentDataEncryptionProtector

Az.Storage
Support Kind FileStorage and SkuName Premium_ZRS when create Storage account
New-AzStorageAccount
Clarified description of blob immutability cmdlet
Remove-AzRmStorageContainerImmutabilityPolicy

Az.Websites

Optimizes Get-AzWebAppCertificate to filter by resource group on the server


instead of the client
Adds -UseDisasterRecovery switch parameter to Get-AzWebAppSnapshot

2.2.0 - June 2019

Az.Cdn

Updated cmdlets to support rulesEngine feature based on API version 2019-04-15.

Az.Compute

Added NoWait parameter that starts the operation and returns immediately, before
the operation is completed.
Updated cmdlets:
Export-AzLogAnalyticRequestRateByInterval
Export-
AzLogAnalyticThrottledRequest
Remove-AzVM
Remove-AzVMAccessExtension
Remove-AzVMAEMExtension
Remove-AzVMChefExtension
Remove-
AzVMCustomScriptExtension
Remove-AzVMDiagnosticsExtension
Remove-
AzVMDiskEncryptionExtension
Remove-AzVMDscExtension
Remove-
AzVMSqlServerExtension
Restart-AzVM
Set-AzVM
Set-AzVMAccessExtension
Set-
AzVMADDomainExtension
Set-AzVMAEMExtension
Set-AzVMBginfoExtension
Set-AzVMChefExtension
Set-AzVMCustomScriptExtension
Set-
AzVMDiagnosticsExtension
Set-AzVMDscExtension
Set-AzVMExtension
Start-
AzVM
Stop-AzVM
Update-AzVM

Az.EventHub
Fix for #9231 - Get-AzEventHubNamespace does not return tags
Fix for #9230 - Get-AzEventHubNamespace returns ResourceGroup instead of
ResourceGroupName

Az.Network
Update ResourceId and InputObject for Nat Gateway
Add alias for ResourceId and InputObject

Az.PolicyInsights

Fix Null reference issue in Get-AzPolicyEvent

Az.RecoveryServices

IaaSVM policy minimum retention in days changed to 7 from 1

Az.ServiceBus

Fix for issue #9182 - Get-AzServiceBusNamespace returns ResourceGroup instead of


ResourceGroupName

Az.ServiceFabric
Fix typo in error message for 'Update-AzServiceFabricReliability'
Fix missing character in Service Fabric cmdlines

Az.Sql
Add DnsZonePartner Parameter for New-AzureSqlInstance cmdlet to support
AutoDr for Managed Instance.
Deprecating Get-AzSqlDatabaseSecureConnectionPolicy cmdlet
Rename Threat Detection cmdlets to Advanced Threat Protection
New-AzSqlInstance -StorageSizeInGB and -LicenseType parameters are now
optional.

Az.Websites
fixes the issue where using Set-AzWebApp and Set-AzWebAppSlot with -WebApp
property was removing the tags

2.1.0 - May 2019

Az.ApiManagement
Created new Cmdlets for managing diagnostics at the global and API Scope
Get-AzApiManagementDiagnostic - Get the diagnostics configured a global or
api Scope
New-AzApiManagementDiagnostic - Create new diagnostics at the global scope
or api Scope
New-AzApiManagementHttpMessageDiagnostic - Create diagnostic setting for
which Headers to log and the size of Body Bytes
New-AzApiManagementPipelineDiagnosticSetting - Create Diagnostic settings
for incoming/outgoing HTTP messages to the Gateway.
New-AzApiManagementSamplingSetting - Create Sampling Setting for the
requests/response for a diagnostic
Remove-AzApiManagementDiagnostic - Remove a diagnostic entity at global or
api scope
Set-AzApiManagementDiagnostic - Update a diagnostic Entity at global or api
scope
Created new Cmdlets for managing Cache in ApiManagement service
Get-AzApiManagementCache - Get the details of the Cache specified by
identifier or all caches
New-AzApiManagementCache - Create a new 'default' Cache or Cache in a
particular azure 'region'
Remove-AzApiManagementCache - Remove a cache
Update-AzApiManagementCache - Update a cache
Created new Cmdlets for managing API Schema
New-AzApiManagementSchema - Create a new Schema for an API
Get-AzApiManagementSchema - Get the schemas configured in the API
Remove-AzApiManagementSchema - Remove the schema configured in the API
Set-AzApiManagementSchema - Update the schema configured in the API
Created new Cmdlet for generating a User Token.
New-AzApiManagementUserToken - Generate a new User Token valid for 8
hours by default.Token for the 'GIT' user can be generated using this cmdlet./
Created a new cmdlet to retrieving the Network Status
Get-AzApiManagementNetworkStatus - Get the Network status connectivity of
resources on which API Management service depends on. This is useful when
deploying ApiManagement service into a Virtual Network and validing whether
any of the dependencies are broken.
Updated cmdlet New-AzApiManagement to manage ApiManagement service
Added support for the new 'Consumption' SKU
Added support to turn the 'EnableClientCertificate' flag on for 'Consumption'
SKU
The new cmdlet New-AzApiManagementSslSetting allows configuring 'TLS/SSL'
setting on the 'Backend' and 'Frontend'. This can also be used to configure
'Ciphers' like '3DES' and 'ServerProtocols' like 'Http2' on the 'Frontend' of an
ApiManagement service.
Added support for configuring the 'DeveloperPortal' hostname on
ApiManagement service.
Updated cmdlets Get-AzApiManagementSsoToken to take 'PsApiManagement'
object as input
Updated the cmdlet to display Error Messages inline
PS D:\github\azure-powershell> Set-AzApiManagementPolicy -Context -

PolicyFilePath C:\wrongpolicy.xml -ApiId httpbin


Set-AzApiManagementPolicy :

Error Code: ValidationError

Error Message: One or more fields contain incorrect values:


Error Details: [Code=ValidationError, Message=Error in element 'log-to-

eventhub' on line 3, column 10: Logger not found, Target=log-to-eventhub]


Updated cmdlet Export-AzApiManagementApi to export APIs in 'OpenApi 3.0'
format
Updated cmdlet Import-AzApiManagementApi
To import Api from 'OpenApi 3.0' document specification
To override the 'PsApiManagementSchema' property specified in any ('Swagger',
'Wadl', 'Wsdl', 'OpenApi') document.
To override the 'ServiceUrl' property specified in any document.
Updated cmdlet Get-AzApiManagementPolicy to return policy in Non-Xml escaped
'format' using 'rawxml'
Updated cmdlet Set-AzApiManagementPolicy to accept policy in Non-Xml escaped
'format' using 'rawxml' and Xml escaped using 'xml'
Updated cmdlet New-AzApiManagementApi
To configure API with 'OpenId' authorization server.
To create an API in an 'ApiVersionSet'
To clone an API using 'SourceApiId' and 'SourceApiRevision'.
Ability to configure 'SubscriptionRequired' at the Api scope.
Updated cmdlet Set-AzApiManagementApi
To configure API with 'OpenId' authorization server.
To updated an API into an 'ApiVersionSet'
Ability to configure 'SubscriptionRequired' at the Api scope.
Updated cmdlet New-AzApiManagementRevision
To clone (copy tags, products, operations and policies) an existing revision using
'SourceApiRevision'. The new Revision assumes the 'ApiId' of the parent.
To provide an 'ApiRevisionDescription'
To override the 'ServiceUrl' when cloning an API.
Updated cmdlet New-AzApiManagementIdentityProvider
To configure 'AAD' or 'AADB2C' with an 'Authority'
To setup 'SignupPolicy', 'SigninPolicy', 'ProfileEditingPolicy' and
'PasswordResetPolicy'
Updated cmdlet New-AzApiManagementSubscription
To account for the new SubscriptonModel using 'Scope' and 'UserId'
To account for the old subscription model using 'ProductId' and 'UserId'
Add support to enable 'AllowTracing' at the subscription level.
Updated cmdlet Set-AzApiManagementSubscription
To account for the new SubscriptonModel using 'Scope' and 'UserId'
To account for the old subscription model using 'ProductId' and 'UserId'
Add support to enable 'AllowTracing' at the subscription level.
Updated following cmdlets to accept 'ResourceId' as input
'New-AzApiManagementContext'
New-AzApiManagementContext -ResourceId
/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManageme

nt/service/contoso

'Get-AzApiManagementApiRelease'
Get-AzApiManagementApiRelease -ResourceId

/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManageme
nt/service/contoso/apis/echo-api/releases/releaseId

'Get-AzApiManagementApiVersionSet'
Get-AzApiManagementApiVersionSet -ResourceId

/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManageme

nt/service/constoso/apiversionsets/pathversionset
'Get-AzApiManagementAuthorizationServer'
'Get-AzApiManagementBackend'
Get-AzApiManagementBackend -ResourceId

/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManageme

nt/service/contoso/backends/servicefabric
'Get-AzApiManagementCertificate'
'Remove-AzApiManagementApiVersionSet'
'Remove-AzApiManagementSubscription'

Az.Automation
Updated Get-AzAutomationJobOutputRecord to handle JSON and Text record
values.
Fix for issue https://github.com/Azure/azure-powershell/issues/7977
Fix for issue https://github.com/Azure/azure-powershell/issues/8600
Changed behavior for Start-AzAutomationDscCompilationJob to just start the job
instead of waiting for its completion.
Fix for issue https://github.com/Azure/azure-powershell/issues/8347
Fix for Get-AzAutomationDscNode when using -Name returns all node. Now it
returns matching node only.

Az.Compute
Add ProtectFromScaleIn and ProtectFromScaleSetAction parameters to Update-
AzVmssVM cmdlet.
New-AzVM wimple parameter set now uses by default an available location if 'East
US' is not supported

Az.DataLakeStore
Update the ADLS sdk to use httpclient, integrate dataplane testing with azure
framework

Az.Monitor

Fixed incorrect parameter names in help examples

Az.Network

Add DisableBgpRoutePropagation flag to Effective Route Table output


Updated cmdlet:
Get-AzEffectiveRouteTable
Fix double dash in New-AzApplicationGatewayTrustedRootCertificate
documentation

Az.Resources
Add new cmdlet Get-AzDenyAssignment for retrieving deny assignments

Az.Sql
Rename Advanced Threat Protection cmdlets to Advanced Data Security and enable
Vulnerability Assessment by default

2.0.0 - May 2019


Az.Accounts
Update Authentication Library to fix ADFS issues with username/password auth

Az.CognitiveServices

Only display Bing disclaimer for Bing Search Services.


Improve error when create account failed.

Az.Compute
Proximity placement group feature.
The following new cmdlets are added:
New-AzProximityPlacementGroup
Get-
AzProximityPlacementGroup
Remove-AzProximityPlacementGroup
The new parameter, ProximityPlacementGroupId, is added to the following
cmdlets:
New-AzAvailabilitySet
New-AzVMConfig
New-AzVmssConfig
StorageAccountType parameter is added to New-AzGalleryImageVersion.
TargetRegion of New-AzGalleryImageVersion can contain StorageAccountType.
SkipShutdown switch parameter is added to Stop-AzVM and Stop-AzVmss
Breaking changes
Set-AzVMBootDiagnostics is changed to Set-AzVMBootDiagnostic.
Export-AzLogAnalyticThrottledRequests is changed to Export-
AzLogAnalyticThrottledRequests.

Az.DeploymentManager

First Generally Available release of Azure Deployment Manager cmdlets

Az.Dns

Automatic DNS NameServer Delegation


Create DNS zone cmdlet accepts parent zone name as additional optional
parameter.
Adds NS records in the parent zone for newly created child zone.

Az.FrontDoor

First Generally Available Release of Azure FrontDoor cmdlets


Rename WAF cmdlets to include 'Waf'
Get-AzFrontDoorFireWallPolicy --> Get-AzFrontDoorWafPolicy
New-AzFrontDoorCustomRuleObject --> New-AzFrontDoorWafCustomRuleObject
New-AzFrontDoorFireWallPolicy --> New-AzFrontDoorWafPolicy

New-AzFrontDoorManagedRuleObject --> New-AzFrontDoorWafManagedRuleObject


New-AzFrontDoorManagedRuleOverrideObject --> New-

AzFrontDoorWafManagedRuleOverrideObject
New-AzFrontDoorMatchConditionObject --> New-

AzFrontDoorWafMatchConditionObject

New-AzFrontDoorRuleGroupOverrideObject --> New-


AzFrontDoorWafRuleGroupOverrideObject

Remove-AzFrontDoorFireWallPolicy --> Remove-AzFrontDoorWafPolicy


Update-AzFrontDoorFireWallPolicy --> Update-AzFrontDoorWafPolicy

Az.HDInsight
Removed two cmdlets:
Grant-AzHDInsightHttpServicesAccess
Revoke-AzHDInsightHttpServicesAccess
Added a new cmdlet Set-AzHDInsightGatewayCredential to replace Grant-
AzHDInsightHttpServicesAccess
Update cmdlet Get-AzHDInsightJobOutput to distinguish reader role and hdinsight
operator role:
Users with reader role need to specify 'DefaultStorageAccountKey' parameter
explicitly, otherwise error occurs.
Users with hdinsight operator role will not be affected.

Az.Monitor

New cmdlets for SQR API (Scheduled Query Rule)


New-AzScheduledQueryRuleAlertingAction
New-AzScheduledQueryRuleAznsActionGroup
New-AzScheduledQueryRuleLogMetricTrigger
New-AzScheduledQueryRuleSchedule
New-AzScheduledQueryRuleSource
New-AzScheduledQueryRuleTriggerCondition
New-AzScheduledQueryRule
Get-AzScheduledQueryRule
Set-AzScheduledQueryRule
Update-AzScheduledQueryRule
Remove-AzScheduledQueryRule
More information about SQR API
Updated Az.Monitor.md to include cmdlets for GenV2(non classic) metric-based
alert rule

Az.Network

Add support for Nat Gateway Resource


New cmdlets
New-AzNatGateway
Get-AzNatGateway
Set-AzNatGateway
Remove-AzNatGateway
Updated cmdlets
- New-AzureVirtualNetworkSubnetConfigCommand
- Add-
AzureVirtualNetworkSubnetConfigCommand
Updated below commands for feature: Custom routes set/remove on Brooklyn
Gateway.
Updated New-AzVirtualNetworkGateway: Added optional parameter -
CustomRoute to set the address prefixes as custom routes to set on Gateway.
Updated Set-AzVirtualNetworkGateway: Added optional parameter -
CustomRoute to set the address prefixes as custom routes to set on Gateway.

Az.PolicyInsights
Support for querying policy evaluation details.
Add '-Expand' parameter to Get-AzPolicyState. Support '-Expand
PolicyEvaluationDetails'.

Az.RecoveryServices

Support for Cross subscription Azure to Azure site recovery.


Marking upcoming breaking changes for Azure Site Recovery.
Fix for Azure Site Recovery recovery plan end action plan.
Fix for Azure Site Recovery Update network mapping for Azure to Azure.
Fix for Azure Site Recovery update protection direction for Azure to Azure for
managed disk.
Other minor fixes.

Az.Relay
Fix typos in customer-facing messages
Az.ServiceBus
Added new cmdlets for NetworkRuleSet of Namespace

Az.Storage

Upgrade to Storage Client Library 10.0.1 (the namespace of all objects from this SDK
change from 'Microsoft.WindowsAzure.Storage.' to 'Microsoft.Azure.Storage.')
Upgrade to Microsoft.Azure.Management.Storage 11.0.0, to support new API
version 2019-04-01.
The default Storage account Kind in Create Storage account change from 'Storage'
to 'StorageV2'
New-AzStorageAccount
Change the Storage account cmdlet output Sku.Name to be aligned with input
SkuName by add '-', like 'StandardLRS' change to 'Standard_LRS'
New-AzStorageAccount
Get-AzStorageAccount
Set-AzStorageAccount

Az.Websites
'Kind' property will now be set for PSSite objects returned by Get-AzWebApp
Get-AzWebApp*Metrics and Get-AzAppServicePlanMetrics marked deprecated

1.8.0 - April 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added wildcard support to Get cmdlets for Az.Compute and Az.Network
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation
Az.LogicApp: New cmdlets for Integration Account Assemblies and Batch
Configuration
Az.Accounts
Update Uninstall-AzureRm to correctly delete modules in Mac

Az.Batch

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.Cdn

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.CognitiveServices

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.Compute

Fix issue with AEM installation if resource ids of disks had lowercase resourcegroups
in resource id
Updated cmdlets with plural nouns to singular, and deprecated plural names.
Fix documentation for wildcards

Az.DataFactory
Add SsisProperties if NodeCount not null for managed integration runtime.

Az.DataLakeStore

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.EventGrid

Updated the help text for endpoint to indicate that resources should be created
before using the create/update event subscription cmdlets.

Az.EventHub
Added new cmdlets for NetworkRuleSet of Namespace
Az.HDInsight
Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.IotHub

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.KeyVault

Updated cmdlets with plural nouns to singular, and deprecated plural names.
Fix documentation for wildcards

Az.MachineLearning
Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.Media
Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.Monitor
New cmdlets for GenV2(non classic) metric-based alert rule
New-AzMetricAlertRuleV2DimensionSelection
New-AzMetricAlertRuleV2Criteria
Remove-AzMetricAlertRuleV2
Get-AzMetricAlertRuleV2
Add-AzMetricAlertRuleV2
Updated Monitor SDK to version 0.22.0-preview

Az.Network

Updated cmdlets with plural nouns to singular, and deprecated plural names.
Fix documentation for wildcards

Az.NotificationHubs

Updated cmdlets with plural nouns to singular, and deprecated plural names.
Az.OperationalInsights
Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.PowerBIEmbedded

Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.RecoveryServices

Updated cmdlets with plural nouns to singular, and deprecated plural names.
Updated table format for SQL in azure VM
Added alternate method to fetch location in AzureFileShare
Updated ScheduleRunDays in SchedulePolicy object according to timezone

Az.RedisCache
Updated cmdlets with plural nouns to singular, and deprecated plural names.

Az.Resources
Fix documentation for wildcards

Az.Sql
Replace dependency on Monitor SDK with common code
Updated cmdlets with plural nouns to singular, and deprecated plural names.
Enhanced process of multiple columns classification.
Include sku properties (sku name, family, capacity) in response from Get-
AzSqlServerServiceObjective and format as table by default.
Ability to Get-AzSqlServerServiceObjective by location without needing a
preexisting server in the region.
Support for time zone parameter in Managed Instance create.
Fix documentation for wildcards

Az.Websites
fixes the Set-AzWebApp and Set-AzWebAppSlot to not remove the tags on
execution
Updated cmdlets with plural nouns to singular, and deprecated plural names.
Updated the WebSites SDK.
Removed the AdminSiteName property from PSAppServicePlan.

1.7.0 - April 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added wildcard support to Get cmdlets for Az.Compute and Az.Network
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation
Az.LogicApp: New cmdlets for Integration Account Assemblies and Batch
Configuration

Az.Accounts

Updated Add-AzEnvironment and Set-AzEnvironment to accept parameter


AzureAnalysisServicesEndpointResourceId

Az.AnalysisServices

Using ServiceClient in dataplane cmdlets and removing the original authentication


logic
Making Add-AzureASAccount a wrapper of Connect-AzAccount to avoid a breaking
change

Az.Automation
Fixed New-AzAutomationSoftwareUpdateConfiguration cmdlet bug for Inclusions.
Now parameter IncludedKbNumber and IncludedPackageNameMask should work.
Bug fix for azure automation update management dynamic group

Az.Compute

Add HyperVGeneration parameter to New-AzDiskConfig and New-


AzSnapshotConfig
Allow VM creation with galley image from other tenants.

Az.ContainerInstance
Fixed issue in the -Command parameter of New-AzContainerGroup which added a
trailing empty argument

Az.DataFactory

Updated ADF .Net SDK version to 3.0.2


Updated Set-AzDataFactoryV2 cmdlet with extra parameters for RepoConfiguration
related settings.

Az.Resources

Improve handling of providers for 'Get-AzResource' when providing '-ResourceId' or


'-ResourceGroupName', '-Name' and '-ResourceType' parameters
Improve error handling for for 'Test-AzDeployment' and 'Test-
AzResourceGroupDeployment'
Handle errors thrown outside of deployment validation and include them in
output of command instead
More information here: https://github.com/Azure/azure-
powershell/issues/6856
Add '-IgnoreDynamicParameters' switch parameter to set of deployment cmdlets to
skip prompt in script and job scenarios
More information here: https://github.com/Azure/azure-
powershell/issues/6856

Az.Sql

Support Database Data Classification.

Az.Storage

Report detail error when create Storage context with parameter -


UseConnectedAccount, but without login Azure account
New-AzStorageContext
Support Manage Blob Service Properties of a specified Storage account with
Management plane API
Update-AzStorageBlobServiceProperty
Get-AzStorageBlobServiceProperty
Enable-AzStorageBlobDeleteRetentionPolicy
Disable-AzStorageBlobDeleteRetentionPolicy
-AsJob support for Blob and file upload and download cmdlets
Get-AzStorageBlobContent
Set-AzStorageBlobContent
Get-AzStorageFileContent
Set-AzStorageFileContent

1.6.0 - March 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added wildcard support to Get cmdlets for Az.Compute and Az.Network
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation
Az.LogicApp: New cmdlets for Integration Account Assemblies and Batch
Configuration

Az.Automation

Azure automation update management change to support the following new


features :
Dynamic grouping
Pre-Post script
Reboot Setting

Az.Compute

Fix issue with path resolution in Get-AzVmBootDiagnosticsData


Update Compute client library to 25.0.0.

Az.KeyVault

Added wildcard support to KeyVault cmdlets


Az.Network
Add Threat Intelligence support for Azure Firewall
Add Application Gateway Firewall Policy top level resource and Custom Rules
Add Alert action type for Azure Firewall Network and Application Rule Collections
Added support for conditions in RewriteRules in the Application Gateway
New cmdlets added:
New-AzApplicationGatewayRewriteRuleCondition
Cmdlets updated with optional parameter - RuleSequence and Condition
New-AzApplicationGatewayRewriteRule

Az.RecoveryServices

Added SnapshotRetentionInDays in Azure VM policy to support Instant RP


Added pipe support for unregister container

Az.Resources
Update wildcard support for Get-AzResource and Get-AzResourceGroup
Update credentials used when making generic calls to ARM

Az.Sql

changed Threat Detection's cmdlets param (ExcludeDetectionType) from


DetectionType to string[] to make it future proof when new DetectionTypes are
added and to support autocomplete as well.
Add Vulnerability Assessment cmdlets on Server and Managed Instance

Az.Storage

Support Get/Set/Remove Management Policy on a Storage account


Set-AzStorageAccountManagementPolicy
Get-AzStorageAccountManagementPolicy
Remove-AzStorageAccountManagementPolicy
Add-AzStorageAccountManagementPolicyAction
New-AzStorageAccountManagementPolicyFilter
New-AzStorageAccountManagementPolicyRule

Az.Websites
Fix ARM template bug that breaks cloning all slots using 'New-AzWebApp -
IncludeSourceWebAppSlots'

1.5.0 - March 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added wildcard support to Get cmdlets for Az.Compute and Az.Network
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation
Az.LogicApp: New cmdlets for Integration Account Assemblies and Batch
Configuration

Az.Accounts

Add 'Register-AzModule' command to support AutoRest generated cmdlets


Update examples for Connect-AzAccount

Az.Automation
Fixed issue when retreiving certain monthly schedules in several Azure Automation
cmdlets
Fix Get-AzAutomationDscNode returning just top 20 nodes. Now it returns all nodes

Az.Cdn
Added new Powershell cmdlets for Enable/Disable Custom Domain Https and
deprecated the old ones

Az.Compute
Add wildcard support to Get cmdlets
Az.DataFactory
Updated ADF .Net SDK version to 3.0.1

Az.LogicApp

Fix for ListWorkflows only retrieving the first page of results

Az.Network

Add wildcard support to Network cmdlets

Az.RecoveryServices

Added Sql server in Azure VM support


SDK Update
Removed VMappContainer check in Get-ProtectableItem
Added Name and ServerName as parameters for Get-ProtectableItem

Az.Resources
Add -TemplateObject parameter to deployment cmdlets
More information here: https://github.com/Azure/azure-
powershell/issues/2933
Fix issue when piping the result of Get-AzResource to Set-AzResource
More information here: https://github.com/Azure/azure-
powershell/issues/8240
Fix issue with JSON data type change when running Set-AzResource
More information here: https://github.com/Azure/azure-
powershell/issues/7930

Az.Sql
Updating AuditingEndpointsCommunicator.
Fixing the behavior of an edge case while creating new diagnostic settings.

Az.Storage

Support Kind BlockBlobStorage when create Storage account


- New-
AzStorageAccount
1.4.0 - February 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation
Az.LogicApp: New cmdlets for Integration Account Assemblies and Batch
Configuration

Az.AnalysisServices

Deprecated AddAzureASAccount cmdlet

Az.Automation

Update help for Import-AzAutomationDscNodeConfiguration


Added configuration name validation to Import-AzAutomationDscConfiguration
cmdlet
Improved error handling for Import-AzAutomationDscConfiguration cmdlet

Az.CognitiveServices

Added CustomSubdomainName as a new optional parameter for New-


AzCognitiveServicesAccount which is used to specify subdomain for the resource.

Az.Compute
Fix issue with ID parameter sets
Update Get-AzVMExtension to list all installed extension if Name parameter is not
provided
Add Tag and ResourceId parameters to Update-AzImage cmdlet
Get-AzVmssVM without instance ID and with InstanceView can list VMSS VMs with
instance view.
Az.DataLakeStore
Add cmdlets for ADL deleted item enumerate and restore

Az.EventHub

Added new boolean property SkipEmptyArchives to Skip Empty Archives in


CaptureDescription class of Eventhub

Az.KeyVault
Fix tagging on Set-AzKeyVaultSecret

Az.LogicApp
Add in Basic sku for Integration Accounts
Add in XSLT 2.0, XSLT 3.0 and Liquid Map Types
New cmdlets for Integration Account Assemblies
Get-AzIntegrationAccountAssembly
New-AzIntegrationAccountAssembly
Remove-AzIntegrationAccountAssembly
Set-AzIntegrationAccountAssembly
New cmdlets for Integration Account Batch Configuration
Get-AzIntegrationAccountBatchConfiguration
New-AzIntegrationAccountBatchConfiguration
Remove-AzIntegrationAccountBatchConfiguration
Set-AzIntegrationAccountBatchConfiguration
Update Logic App SDK to version 4.1.0

Az.Monitor
Update help for Get-AzMetric

Az.Network
Update help example for Add-AzApplicationGatewayCustomError

Az.OperationalInsights
Additional support for New and Get ApplicationInsights data source.
Added new 'ApplicationInsights' kind to support Get specific and Get all
ApplicationInsights data sources for given workspace.
Added New-AzOperationalInsightsApplicationInsightsDataSource cmdlet for
creating data source by given Application-Insights resource parameters:
subscription Id, resourceGroupName and name.

Az.Resources
Fix for issue https://github.com/Azure/azure-powershell/issues/8166
Fix for issue https://github.com/Azure/azure-powershell/issues/8235
Fix for issue https://github.com/Azure/azure-powershell/issues/6219
Fix bug preventing repeat creation of KeyCredentials

Az.Sql
Add support for SQL DB Hyperscale tier
Fixed bug where restore could fail due to setting unnecessary properties in restore
request

Az.Websites
Correct example in Get-AzWebAppSlotMetrics

1.3.0 - February 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation

Az.Accounts

Update to latest version of ClientRuntime


Az.AnalysisServices
General availability for Az.AnalysisServices module.

Az.Compute

AEM extension: Add support for UltraSSD and P60,P70 and P80 disks
Update help description for Set-AzVMBootDiagnostics
Update help description and example for Update-AzImage

Az.RecoveryServices

General availability for Az.RecoveryServices module.

Az.Resources

Fix tagging for resource groups


More information here: https://github.com/Azure/azure-
powershell/issues/8166
Fix issue where Get-AzRoleAssignment doesn't respect -ErrorAction
More information here: https://github.com/Azure/azure-
powershell/issues/8235

Az.Sql

Add Get/Set AzSqlDatabaseBackupShortTermRetentionPolicy


Fix issue where not being logged into Azure account would result in nullref
exception when executing SQL cmdlets
Fixed null ref exception in Get-AzSqlCapability

1.2.1 - January 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation

Az.Accounts
Release with correct version of Authentication

Az.AnalysisServices
Release with updated Authentication dependency

Az.RecoveryServices
Release with updated Authentication dependency

1.2.0 - January 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Added interactive and username/password authentication for Windows PowerShell
5.1 only
Added support for Python 2 runbooks in Az.Automation

Az.Accounts
Add interactive and username/password authentication for Windows PowerShell 5.1
only
Update incorrect online help URLs
Add warning message in PS Core for Uninstall-AzureRm

Az.Aks
Update incorrect online help URLs
Az.Automation
Added support for Python 2 runbooks
Update incorrect online help URLs

Az.Cdn
Update incorrect online help URLs

Az.Compute
Add Invoke-AzVMReimage cmdlet
Add TempDisk parameter to Set-AzVmss
Fix the warning message of New-AzVM

Az.ContainerRegistry
Update incorrect online help URLs

Az.DataFactory
Updated ADF .Net SDK version to 3.0.0

Az.DataLakeStore
Fix issue with ADLS endpoint when using MSI
More information here: https://github.com/Azure/azure-
powershell/issues/7462
Update incorrect online help URLs

Az.IotHub
Add Encoding format to Add-IotHubRoutingEndpoint cmdlet.

Az.KeyVault
Update incorrect online help URLs

Az.Network
Update incorrect online help URLs
Az.Resources
Fix incorrect examples in 'New-AzADAppCredential' and 'New-AzADSpCredential'
reference documentation
Fix issue where path for '-TemplateFile' parameter was not being resolved before
executing resource group deployment cmdlets
Az.Resources: Correct documentation for New-AzPolicyDefinition -Mode default
value
Az.Resources: Fix for issue https://github.com/Azure/azure-
powershell/issues/7522
Az.Resources: Fix for issue https://github.com/Azure/azure-
powershell/issues/5747
Fix formatting issue with 'PSResourceGroupDeployment' object
More information here: https://github.com/Azure/azure-
powershell/issues/2123

Az.ServiceFabric

Rollback when a certificate is added to VMSS model but an exception is thrown this
is to fix bug: https://github.com/Azure/service-fabric-issues/issues/932
Fix some error messages.
Fix create cluster with default ARM template for New-AzServiceFabriCluster which
was not working with migration to Az.
Fix add cluster/application certificate to only add to VM Scale Sets that correspond
to the cluster by checking cluster id in the extension.

Az.SignalR
Update incorrect online help URLs

Az.Sql
Update incorrect online help URLs
Updated parameter description for LicenseType parameter with possible values
Fix for updating managed instance identity not working when it is the only updated
property
Support for custom collation on managed instance

Az.Storage

Update incorrect online help URLs


Give detail error message when get/set classic Logging/Metric on Premium Storage
Account, since Premium Storage Account not supoort classic Logging/Metric.
Get/Set-AzStorageServiceLoggingProperty
Get/Set-AzStorageServiceMetricsProperty

Az.TrafficManager

Update incorrect online help URLs

Az.Websites

Update incorrect online help URLs


Fixes 'New-AzWebAppSSLBinding' to upload the certificate to the correct
resourcegroup+location if the app is hosted on an ASE.
Fixes 'New-AzWebAppSSLBinding' to not overwrite the tags on binding an SSL
certificate to an app

1.1.0 - January 2019

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/

Az.Accounts

Add 'Local' Scope to Enable-AzureRmAlias

Az.Compute

Name is now optional in ID parameter set for Restart/Start/Stop/Remove/Set-AzVM


and Save-AzVMImage
Updated the description of ID in help files
Fix backward compatibility issue with Az.Accounts module

Az.DataLakeStore
Update the sdk version of dataplane to 1.1.14 for SDK fixes.
Fix handling of negative acesstime and modificationtime for getfilestatus and
liststatus, Fix async cancellation token

Az.EventGrid
Updated to use the 2019-01-01 API version.
Update the following cmdlets to support new scenario in 2019-01-01 API version
New-AzEventGridSubscription: Add new optional parameters for specifying:
Event Time-To-Live,
Maximum number of delivery attempts for the events,
Dead letter endpoint.
Update-AzEventGridSubscription: Add new optional parameters for specifying:
Event Time-To-Live,
Maximum number of delivery attempts for the events,
Dead letter endpoint.
Add new enum values (namely, storageQueue and hybridConnection) for
EndpointType option in New-AzEventGridSubscription and Update-
AzEventGridSubscription cmdlets.
Show warning message if creating or updating the event subscription is expected to
entail manual action from user.

Az.IotHub

Updated to the latest version of the IotHub SDK

Az.LogicApp

Get-AzLogicApp lists all without specified Name

Az.Resources

Fix parameter set issue when providing '-ODataQuery' and '-ResourceId' parameters
for 'Get-AzResource'
More information here: https://github.com/Azure/azure-
powershell/issues/7875
Fix handling of the -Custom parameter in New/Set-AzPolicyDefinition
Fix typo in New-AzDeployment documentation
Made '-MailNickname' parameter mandatory for 'New-AzADUser'
More information here: https://github.com/Azure/azure-
powershell/issues/8220
Az.SignalR
Fix backward compatibility issue with Az.Accounts module

Az.Sql

Converted the Storage management client dependency to the common SDK


implementation.

Az.Storage
Set the StorageAccountName of Storage context as the real Storage Account Name,
when it's created with Sas Token, OAuth or Anonymous
New-AzStorageContext
Create Sas Token of Blob Snapshot Object with '-FullUri' parameter, fix the returned
Uri to be the sanpshot Uri
New-AzStorageBlobSASToken

Az.Websites
Fixed a date parsing bug in 'Get-AzDeletedWebApp'
Fix backward compatibility issue with Az.Accounts module

Version 1.0.0 - December 2018

Highlights since the last major release


General availability of Az module
For more information about the Az module, please visit the following:
https://aka.ms/azps-announce
Added Location, ResourceGroup, and ResourceName completers:
https://azure.microsoft.com/blog/completers-in-azure-powershell/
Upcoming breaking changes in Azure
PowerShell
Article • 07/07/2023

General
Beginning with Az version 10.2, Azure PowerShell will no longer include the *.deps.json
files in
the modules' binary because of two major reasons:

1. The purpose of *.deps.json files is to


guide the default probing of .NET.
However,
Azure PowerShell never utilized that feature.
2. Some code scanning tools rely on *.deps.json files to scan for outdated
dependencies, but the
files are not accurate enough because they describe the
assemblies that Azure PowerShell requires
rather than what it's shipped with. This
inaccuracy caused many false positives to be reported.

Az.Aks

New-AzAksCluster

Parameter breaking-change will happen to all parameter sets


-DockerBridgeCidr

DockerBridgeCidr parameter will be deprecated in Az 11.0.0 without being


replaced.
This change is expected to take effect from Az.Aks version: 6.0.0 and Az
version: 11.0.0

Az.Compute

New-AzDisk

Cmdlet breaking-change will happen to all parameter set


Starting in November 2023 the "New-AzDisk" cmdlet will deploy with the
Trusted Launch configuration by default. This includes defaulting the
"HyperVGeneration" parameter to "v2". To know more about Trusted Launch,
please visit learn.microsoft.com/azure/virtual-machines/trusted-launch
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0

New-AzVM

Cmdlet breaking-change will happen to all parameter set


Consider using the image alias including the version of the distribution you
want to use in the "-Image" parameter of the "New-AzVM" cmdlet. On April 30,
2023, the image deployed using UbuntuLTS will reach its end of life. In October
2023, the aliases UbuntuLTS , CentOS , Debian , and RHEL will be removed.
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0
Starting in November 2023 the "New-AzVM" cmdlet will deploy with the Trusted
Launch configuration by default. To know more about Trusted Launch, please
visit learn.microsoft.com/azure/virtual-machines/trusted-launch
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0

New-AzVmss

Cmdlet breaking-change will happen to all parameter set


Starting November 2023, the "New-AzVmss" cmdlet will default to Trusted
Launch VMSS. For more info, visit aka.ms/trustedLaunchVMSS .
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0
Starting November 2023, the "New-AzVmss" cmdlet will use new defaults:
Flexible orchestration mode and enable NATv2 configuration for Load Balancer.
To learn more about Flexible Orchestration modes, visit
aka.ms/orchestrationModeVMSS .
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0
Consider using the image alias including the version of the distribution you
want to use in the "-ImageName" parameter of the "New-AzVmss" cmdlet. On
April 30, 2023, the image deployed using UbuntuLTS will reach its end of life. In
November 2023, the aliases UbuntuLTS , CentOS , Debian , and RHEL will be
removed.
This change is expected to take effect from Az.Compute version: 7.0.0 and Az
version: 11.0.0
Az.DesktopVirtualization

New-AzWvdScalingPlan

Parameter breaking-change will happen to all parameter sets


-HostPoolType

The parameter : 'HostPoolType' is changing.


The change is expected to take effect from the Az.DesktopVirtualization
version : '4.0.0'

Az.PowerBIEmbedded

Get-AzPowerBIWorkspace

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0

Get-AzPowerBIWorkspaceCollection

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0

Get-AzPowerBIWorkspaceCollectionAccessKey

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0

New-AzPowerBIWorkspaceCollection

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0
Remove-AzPowerBIWorkspaceCollection

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0

Reset-AzPowerBIWorkspaceCollectionAccessKey

Cmdlet breaking-change will happen to all parameter set


The cmdlet is being deprecated. There will be no replacement for it.
This change is expected to take effect from Az.PowerBIEmbedded version: 2.0.0
and Az version: 11.0.0

Az.RecoveryServices

Get-AzRecoveryServicesVaultSettingsFile

Parameter breaking-change will happen to all parameter sets


-Certificate
Parameter is being deprecated without being replaced
This change is expected to take effect from Az.RecoveryServices version: 7.0.0
and Az version: 11.0.0

Az.Storage

New-AzDataLakeGen2SasToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageAccount

Cmdlet breaking-change will happen to all parameter set


Default value of AllowBlobPublicAccess and AllowCrossTenantReplication will be
changed from True to False in a future release.
When AllowBlobPublicAccess is
False on a storage account, it is not permitted to configure container ACLs to
allow anonymous access to blobs within the storage account.
When
AllowCrossTenantReplication is False on a storage account, cross AAD tenant
object replication is not allowed.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageAccountSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageBlobSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageContainerSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageContext

Parameter breaking-change will happen to all parameter sets


-SasToken

The SAS token in created Storage context properties 'ConnectionString' and


'StorageAccount.Credentials' won't have the leading question mark '?' in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0
New-AzStorageFileSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageQueueSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageShareSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

New-AzStorageTableSASToken

Cmdlet breaking-change will happen to all parameter set


The leading question mark '?' of the created SAS token will be removed in a
future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0

Set-AzStorageAccount

Parameter breaking-change will happen to all parameter sets


-EnableLargeFileShare
EnableLargeFileShare parameter will be deprecated in a future release.
This change is expected to take effect from Az.Storage version: 6.0.0 and Az
version: 11.0.0
Configure Azure PowerShell global
settings
Article • 07/04/2023

Azure PowerShell supports several global settings like disabling breaking change
warning messages.
Before Az PowerShell module version 9, there wasn't a centralized or
granular way to configure
global settings for Azure PowerShell.

Centralized configuration
The Az PowerShell module version 9 and higher includes cmdlets for managing the
configuration of
global settings for Azure PowerShell. These *-AzConfig cmdlets are
part of the Az.Accounts
PowerShell module:

Get-AzConfig
Update-AzConfig
Export-AzConfig
Import-AzConfig
Clear-AzConfig

Granular settings
You can apply settings that are only effective in a particular scope. The valid values for
the
Scope parameter are:

Current User . The default when applying a setting.


Process . Setting is only applied to the current PowerShell session.

Default . Readonly scope where the default value hasn't been changed.
Environment . Readonly scope where the value has been configured via an

environment variable.

Besides scopes, you can apply the settings to all Az PowerShell modules or only a single
module.
With the AppliesTo parameter, you can specify how broad you want the setting
applied. The value
Az indicates the setting is applied to all modules available that are
part of Azure PowerShell.

To disable the breaking change warning message for cmdlets in the Az.Compute
module, use the
Update-AzConfig cmdlet with the DisplayBreakingChangeWarning and
AppliesTo parameters as
shown in the following example.
Azure PowerShell

Update-AzConfig -DisplayBreakingChangeWarning $false -AppliesTo Az.Compute

In this scenario, the breaking change warning message remains active for cmdlets in all
Az
PowerShell modules except Az.Compute.

Default subscription
By default, when you authenticate to Azure, all subscriptions that you can access are
retrieved. The
first subscription that's returned by Azure is used unless you specify a
subscription with
Connect-AzAccount . This behavior can be dangerous, for example if the
first subscription returned
is a production environment.

To configure your default subscription, you use the Update-AzConfig cmdlet with the
DefaultSubscriptionForLogin parameter as shown in the following example.

Azure PowerShell

Update-AzConfig -DefaultSubscriptionForLogin <Subscription ID or Name>

7 Note

Not to be confused with the subscription of the default context, the


DefaultSubscriptionForLogin configuration takes effect only when authenticating
to Azure.

Azure region identification


Azure customers can choose to deploy resources in many different regions. In some
cases, customers
may be able to reduce costs by selecting nearby regions offering the
same services. If a nearby
region is identified, a message will display the region to select
for future deployments.

Disabling region recommendation message


In the following example, the Update-AzConfig cmdlet is used to disable the region
recommendation
message:

Azure PowerShell
Update-AzConfig -DisplayRegionIdentified $false

For more information about Azure regions, see


choose the right Azure region for you .

Replicating settings
To replicate your settings from one environment to another, you use the Export-
AzConfig cmdlet to
export the settings to a JSON file.

Azure PowerShell

Export-AzConfig -Path $HOME\AzConfig.json

To import your settings, use the Import-AzConfig cmdlet and reference the previously
exported
JSON file.

Azure PowerShell

Import-AzConfig -Path $HOME\AzConfig.json

Clearing configuration
To reset the configuration setting of one or more Azure PowerShell global settings to
the default,
use the Clear-AzConfig cmdlet. In the following example, the
DefaultSubscriptionForLogin
setting is cleared.

Azure PowerShell

Clear-AzConfig -DefaultSubscriptionForLogin

Intelligent context-aware command


completion with Az Predictor
Article • 07/04/2023

Overview
Az Predictor is a PowerShell
module that helps you navigate the cmdlets and
parameters of the
Az PowerShell module . It provides intelligent
context-aware
suggestions for command completion when using Azure PowerShell.

Az Predictor uses the


subsystem plugin model
available in PowerShell 7.2. This updated
version requires
PSReadLine 2.2.2 or higher to display
suggestions.

Requirements
Required configuration for Az Predictor:

PowerShell 7.2 or higher


PSReadline 2.2.2 or higher

Install the latest version of PSReadLine:

PowerShell

Install-Module -Name PSReadline

Getting started

Install Az Predictor
Install the Az.Tools.Predictor PowerShell module

PowerShell

Install-Module -Name Az.Tools.Predictor

Enable Az Predictor
1. Enable Az Predictor for the current and future PowerShell sessions.

PowerShell

Enable-AzPredictor -AllSession

2. Set your preferred view for suggestions.

Enable list view:

PowerShell

Set-PSReadLineOption -PredictionViewStyle ListView

Enable inline view:

PowerShell

Set-PSReadLineOption -PredictionViewStyle InlineView

7 Note

You can switch between view modes with the F2 key.

Uninstallation
Once installed and enabled, Az Predictor is loaded in the PowerShell profile.
To uninstall
the Az.Tools.Predictor module:

1. Close all PowerShell sessions including VS Code.

2. Launch a PowerShell session with no profile.

PowerShell

pwsh -noprofile

3. Uninstall Az Predictor

PowerShell

Uninstall-Module -Name Az.Tools.Predictor -Force

4. Close PowerShell

Privacy and data collection

Privacy
Az predictor uses the previous two Az cmdlets to make suggestions and ignores any
cmdlet that's not
part of the Az PowerShell module. Only the names of
cmdlets and
parameters are sent to our API to obtain the suggestion. Parameter values are
discarded.
The resource group name and location used are kept locally and reused with
subsequent cmdlets for
convenience but are never sent to the API. In the preview
version, the module generates and sends
anonymized information about the current
session used for predictions to the API. This information
is used to assess the quality of
suggestions.

Data collection
The current version of Az Predictor collects anonymized information about its usage to
identify
common issues and improve the experience of future releases. Az Predictor
doesn't collect any
private or personal data.

For example, the usage data helps identify inaccurate suggestions and issues like
interferences with
PSReadLine. While we appreciate the insights this data provides, we
understand 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.
Use the Az PowerShell module behind a
proxy
Article • 07/04/2023

If a proxy is necessary for HTTP request, the Azure PowerShell team recommends the
following proxy
configuration for different platforms:

Platform Recommended Proxy Settings Comment

Windows System proxy settings Use the system proxy settings (internet
PowerShell options).
5.1

PowerShell System proxy settings Proxy could be configured by setting both


7 on HTTP_PROXY and HTTPS_PROXY
Windows environment variables.

PowerShell System proxy settings Proxy could be configured by setting both


7 on HTTP_PROXY and HTTPS_PROXY
macOS environment variables.

PowerShell Set both HTTP_PROXY and The environment variables should be set
7 on Linux HTTPS_PROXY environment before starting PowerShell, otherwise they
variables, plus optional NO_PROXY may not be respected.

The environment variables used are:

HTTP_PROXY: the proxy server used on HTTP requests.


HTTPS_PROXY: the proxy server used on HTTPS requests.
NO_PROXY: a comma-separated list of hostnames that should be excluded from
proxying.

On systems where environment variables are case-sensitive, the variable names may be
all lowercase
or all uppercase. The lowercase names are checked first.
Sign in with Azure PowerShell
Article • 07/04/2023

Azure PowerShell supports several authentication methods. The easiest way to get
started is with
Azure Cloud Shell, which automatically logs you in. With a local
install,
you can sign in interactively through your browser. When writing scripts for automation,
the recommended approach is to use a service principal
with the necessary permissions.
When you restrict sign-in permissions as much as possible for your
use case, you help
keep your Azure resources secure.

Initially, you're signed into the first subscription Azure returns if you have access to
more than
one subscription. Commands are run against this subscription by default. To
change your active
subscription for a session, use the Set-AzContext
cmdlet. To change
your active subscription and have it persist between sessions on the same system,
use
the Select-AzContext cmdlet.

) Important

Your credentials are shared among multiple PowerShell sessions as long as you
remain signed in.
For more information, see Azure PowerShell context objects.

Sign in interactively
To sign in interactively, use the
Connect-AzAccount cmdlet.

Azure PowerShell

Connect-AzAccount

This cmdlet presents an interactive browser based login prompt by default.

Use the Get-AzContext cmdlet to store your tenant ID


in a variable to be used in the
next two sections of this article.

Azure PowerShell

$tenantId = (Get-AzContext).Tenant.Id

Device code authentication


You can specify the UseDeviceAuthentication parameter to use device code
authentication instead of
a browser control.

Azure PowerShell

Connect-AzAccount -UseDeviceAuthentication

Sign in with a service principal


Service principals are non-interactive Azure accounts. Like other user accounts, their
permissions
are managed with Azure Active Directory. By granting a service principal
only the permissions it
needs, your automation scripts stay secure.

To learn how to create a service principal for use with Azure PowerShell, see
Create an
Azure service principal with Azure PowerShell.

To sign in with a service principal, use the ServicePrincipal parameter of the Connect-
AzAccount
cmdlet. You'll also need the service principal's application ID, sign-in

credentials, and the tenant


ID associate with the service principal. How you sign in with a
service principal depends on whether
it's configured for password-based or certificate-
based authentication.

Password-based authentication
Create a service principal to be used in the examples in this section. For more
information on
creating service principals, see
Create an Azure service principal with
Azure PowerShell.

Azure PowerShell

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName

2 Warning

The provided service principal secret is stored in the AzureRmContext.json file in


your user
profile ( $env:USERPROFILE\.Azure ). Ensure this directory has appropriate
protections.

To get the service principal's credentials as the appropriate object, use the
Get-
Credential cmdlet. This
cmdlet presents a prompt for a username and password. Use the
service principal's applicationID
for the username and convert its secret to plain text
for the password.

Azure PowerShell

# Retrieve the plain text password for use with `Get-Credential` in the next
command.

$sp.PasswordCredentials.SecretText

$pscredential = Get-Credential -UserName $sp.AppId

Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant


$tenantId

For automation scenarios, you need to create credentials from a service principal's
AppId and
SecretText :

Azure PowerShell

$SecureStringPwd = $sp.PasswordCredentials.SecretText | ConvertTo-


SecureString -AsPlainText -Force

$pscredential = New-Object -TypeName


System.Management.Automation.PSCredential -ArgumentList $sp.AppId,
$SecureStringPwd

Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant


$tenantId

Make sure that you use good password storage practices when automating service
principal connections.

Certificate-based authentication
Certificate-based authentication requires that Azure PowerShell can retrieve information
from a
local certificate store based on a certificate thumbprint.

Azure PowerShell

Connect-AzAccount -ApplicationId $appId -Tenant $tenantId -


CertificateThumbprint <thumbprint>

When using a service principal instead of a registered application, specify the


ServicePrincipal
parameter and provide the service principal's Application ID as the
value for the ApplicationId
parameter.

Azure PowerShell
Connect-AzAccount -ServicePrincipal -ApplicationId $servicePrincipalId -
Tenant $tenantId -CertificateThumbprint <thumbprint>

In Windows PowerShell 5.1, the certificate store can be managed and inspected with the
PKI module. For PowerShell 7.x and later, the process is more complicated.
The following
scripts show you how to import an existing certificate into the certificate store
accessible
by PowerShell.

Import a certificate in Windows PowerShell 5.1

PowerShell

# Import a PFX

$credentials = Get-Credential -Message 'Provide PFX private key password'

Import-PfxCertificate -FilePath <path to certificate> -Password


$credentials.Password -CertStoreLocation cert:\CurrentUser\My

Import a certificate in PowerShell 7.x and later

PowerShell

# Import a PFX

$storeName = [System.Security.Cryptography.X509Certificates.StoreName]::My

$storeLocation =
[System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser

$store =
[System.Security.Cryptography.X509Certificates.X509Store]::new($storeName,
$storeLocation)

$certPath = <path to certificate>


$credentials = Get-Credential -Message "Provide PFX private key password"

$flag =
[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exporta
ble

$certificate =
[System.Security.Cryptography.X509Certificates.X509Certificate2]::new($certP
ath, $credentials.Password, $flag)

$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadW
rite)

$store.Add($Certificate)

$store.Close()

Sign in using a managed identity


Managed identities are a feature of Azure Active Directory. Managed identities are
service
principals assigned to resources that run in Azure. You can use a managed
identity service principal
for sign-in, and an app-only access token to access other
resources. Managed identities are only
available on resources running in an Azure cloud.

This example connects using the managed identity of the host environment. For
example, if executed
on a VirtualMachine with an assigned Managed Service Identity,
this allows the code to sign in using
that assigned identity.

Azure PowerShell

Connect-AzAccount -Identity

The following example connects using the Managed Service Identity of


myUserAssignedIdentity . It
adds the user assigned identity to the virtual machine, then
connects using the ClientId of the
user assigned identity. For more information, see
Configure managed identities for Azure resources on an Azure VM.

Azure PowerShell

$identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup'


-Name 'myUserAssignedIdentity'

Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType


UserAssigned -IdentityId $identity.Id

Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the


virtual machine

Account SubscriptionName TenantId Environment

------- ---------------- -------- -----------

yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud

Sign in with a non-default tenant or as a Cloud


Solution Provider (CSP)
If your account is associated with more than one tenant, sign-in requires the Tenant
parameter
to be specified when connecting. This parameter works with any sign-in
method. When logging in, this
parameter value can either be the Azure object ID of the
tenant (Tenant ID) or the fully qualified
domain name of the tenant.

If you're a Cloud Solution Provider (CSP) , the


value for the Tenant parameter must be
a tenant ID.

Azure PowerShell
Connect-AzAccount -Tenant '00000000-0000-0000-0000-000000000000'

Sign in to another Cloud


Azure cloud services offer environments compliant with regional data-handling laws. For
accounts in
a regional cloud, set the environment when you sign in with the
Environment parameter. This
parameter works with any sign-in method. For example, if
your account is in Azure China 21Vianet:

Azure PowerShell

Connect-AzAccount -Environment AzureChinaCloud

The following command returns a list of available environments:

Azure PowerShell

Get-AzEnvironment | Select-Object -Property Name

Create an Azure service principal with


Azure PowerShell
Article • 07/04/2023

Automated tools that use Azure services should always have restricted permissions.
Instead of having
applications sign in as a fully privileged user, Azure offers service
principals.

An Azure service principal is an identity created for use with applications, hosted
services, and
automated tools to access Azure resources. This access is restricted by the
roles assigned to the
service principal, giving you control over which resources can be
accessed and at which level. For
security reasons, it's always recommended to use
service principals with automated tools rather than
allowing them to log in with a user
identity.

This article shows you the steps for creating, getting information about, and resetting a
service
principal with Azure PowerShell.

2 Warning

When you create a service principal using the


New-AzADServicePrincipal
command, the
output includes credentials that you must protect. As an alternative,
consider using
managed identities to avoid
the need to use credentials.

Prerequisites
If you choose to use Azure PowerShell locally:
Install the Az PowerShell module.
Connect to your Azure account using the
Connect-AzAccount cmdlet.
If you choose to use Azure Cloud Shell:
See Overview of Azure Cloud Shell for more information.

Create a service principal


Create a service principal with the
New-AzADServicePrincipal cmdlet. When
creating a
service principal, you choose the type of sign-in authentication it uses.

) Important
Beginning with Az PowerShell module version 7.x,
New-AzADServicePrincipal no
longer
assigns the Contributor role to the
service principal by default. To assign a
specific role to a service principal, see
Steps to add a role assignment.

7 Note

If your account doesn't have permission to create a service principal, New-


AzADServicePrincipal
returns an error message containing "Insufficient privileges

to complete the operation". Contact


your Azure Active Directory admin to create a
service principal.

There are two types of authentication available for service principals: Password-based
authentication, and certificate-based authentication.

Password-based authentication

) Important

The default role for a password-based authentication service principal is


Contributor. This
role has full permissions to read and write to an Azure account.
For information on managing role
assignments, see
Manage service principal
roles.

Without any other authentication parameters, password-based authentication is used


and a random
password created for you. If you want password-based authentication,
this method is recommended.

Azure PowerShell

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName

The returned object contains the PasswordCredentials.SecretText property containing


the generated
password. Make sure that you store this value somewhere secure to
authenticate with the service
principal. Its value won't be displayed in the console
output. If you lose the password,
reset the service principal credentials.

The following code allows you to export the secret:

Azure PowerShell
$sp.PasswordCredentials.SecretText

The object returned from New-AzADServicePrincipal contains the Id and DisplayName


members,
either of which can be used for sign in with the service principal.

) Important

Signing in with a service principal requires the tenant ID which the service principal
was created
under. To get the active tenant when the service principal was created,
run the following command
immediately after service principal creation:

Azure PowerShell

(Get-AzContext).Tenant.Id

Certificate-based authentication

) Important

There is no default role assigned when creating a certificate-based authentication


service
principal. For information on managing role assignments, see
Manage
service principal roles.

Service principals using certificate-based authentication are created with the CertValue
parameter. This parameter takes a base64-encoded ASCII string of the public certificate.
This is
represented by a PEM file, or a text-encoded CRT or CER. Binary encodings of the
public certificate
aren't supported. These instructions assume that you already have a
certificate available.

Azure PowerShell

$cert = <public certificate as base64-encoded string>

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName -CertValue


$cert

The object returned from New-AzADServicePrincipal contains the Id and DisplayName


properties,
either of which can be used for sign in with the service principal. Clients
which sign in with the
service principal also need access to the certificate's private key.
) Important

Signing in with a service principal requires the tenant ID which the service principal
was created
under. To get the active tenant when the service principal was created,
run the following command
immediately after service principal creation:

Azure PowerShell

(Get-AzContext).Tenant.Id

Get an existing service principal


A list of service principals for the active tenant can be retrieved with
Get-
AzADServicePrincipal. By default
this command returns all service principals in a tenant.
For large organizations, it may take
a long time to return results. Instead, using one of
the optional server-side filtering arguments is
recommended:

DisplayNameBeginsWith requests service principals that have a prefix that match the

provided
value. The display name of a service principal is the value set with
DisplayName during
creation.

DisplayName requests an exact match of a service principal name.

Manage service principal roles


Azure PowerShell has the following cmdlets to manage role assignments:

Get-AzRoleAssignment
New-AzRoleAssignment
Remove-AzRoleAssignment

For more information on Role-Based Access Control (RBAC) and roles, see
RBAC: Built-in
roles.

The following example adds the Reader role and removes the Contributor role:

Azure PowerShell

New-AzRoleAssignment -ApplicationId <service principal application ID> -


RoleDefinitionName 'Reader'

Remove-AzRoleAssignment -ObjectId <service principal object ID> -


RoleDefinitionName 'Contributor'

) Important

Role assignment cmdlets don't take the service principal object ID. They take the
associated
application ID, which is generated at creation time. To get the
application ID for a service
principal, use Get-AzADServicePrincipal .

7 Note

If your account doesn't have permission to assign a role, you see an error message
that your
account "doesn't have authorization to perform action
'Microsoft.Authorization/roleAssignments/write'". Contact your Azure Active
Directory admin to
manage roles.

Adding a role doesn't restrict previously assigned permissions. When restricting a service
principal's permissions, the Contributor role should be removed.

The changes can be verified by listing the assigned roles:

Azure PowerShell

Get-AzRoleAssignment -ServicePrincipalName ServicePrincipalName

Sign in using a service principal


Test the new service principal's credentials and permissions by signing in. To sign in with
a
service principal, you need the applicationId value associated with it, and the tenant
it's
created under.

To sign in with a service principal using a password:

Azure PowerShell

# Use the application ID as the username, and the secret as password

$credentials = Get-Credential

Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant <tenant


ID>

Certificate-based authentication requires that Azure PowerShell can retrieve information


from a
local certificate store based on a certificate thumbprint.

Azure PowerShell
Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -
CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

For instructions on importing a certificate into a credential store accessible by


PowerShell, see
Sign in with Azure PowerShell

Reset credentials
If you forget the credentials for a service principal, use
New-AzADSpCredential to add a
new credential
with a random password. This cmdlet doesn't support user-defined
credentials when resetting the
password.

) Important

Before assigning any new credentials, you may want to remove existing credentials
to prevent sign
in with them. To do so, use the
Remove-AzADSpCredential cmdlet:

Azure PowerShell

Remove-AzADSpCredential -DisplayName ServicePrincipalName

Azure PowerShell

$newCredential = New-AzADSpCredential -ServicePrincipalName


ServicePrincipalName

Troubleshooting
If you receive the error: "New-AzADServicePrincipal: Another object with the same value
for
property identifierUris already exists.", verify that a service principal with the same
name
doesn't already exist.

Azure PowerShell

Get-AzAdServicePrincipal -DisplayName ServicePrincipalName

If the existing service principal is no longer needed, you can remove it using the
following
example.

Azure PowerShell
Remove-AzAdServicePrincipal -DisplayName ServicePrincipalName

This error can also occur when you've previously created a service principal for an Azure
Active
Directory application. If you remove the service principal, the application is still
available. This
application prevents you from creating another service principal with the
same name.

You can use the following example to verify that an Azure Active Directory application
with the same
name doesn't exist:

Azure PowerShell

Get-AzADApplication -DisplayName ServicePrincipalName

If an application with the same name does exist and is no longer needed, it can be
removed using the
following example.

Azure PowerShell

Remove-AzADApplication -DisplayName ServicePrincipalName

Otherwise, choose an alternate name for the new service principal that you're
attempting to create.
Azure PowerShell context objects
Article • 07/04/2023

Azure PowerShell uses Azure PowerShell context objects (Azure contexts) to hold
subscription and
authentication information. If you have more than one subscription,
Azure contexts let you select
the subscription to run Azure PowerShell cmdlets on. Azure
contexts are also used to store sign-in
information across multiple PowerShell sessions
and run background tasks.

This article covers managing Azure contexts, not the management of subscriptions or
accounts. If
you're looking to manage users, subscriptions, tenants, or other account
information, see the
Azure Active Directory documentation. To learn about using
contexts for
running background or parallel tasks, see
Run Azure PowerShell cmdlets in
PowerShell Jobs after becoming familiar with
Azure contexts.

Overview of Azure context objects


Azure contexts are PowerShell objects representing your active subscription to run
commands against,
and the authentication information needed to connect to an Azure
cloud. With Azure contexts, Azure
PowerShell doesn't need to reauthenticate your
account each time you switch subscriptions. An Azure
context consists of:

The account that was used to sign in to Azure with


Connect-AzAccount. Azure
contexts treat users,
application IDs, and service principals the same from an
account perspective.
The active subscription, a service agreement with Microsoft to create and run Azure
resources,
which are associated with a tenant. Tenants are often referred to as
organizations in
documentation or when working with Active Directory.
A reference to a token cache, a stored authentication token for accessing an Azure
cloud. Where
this token is stored and how long it persists for is determined by the
context autosave settings.

For more information on these terms, see


Azure Active Directory Terminology.
Authentication tokens used by Azure contexts are the same as other stored tokens that
are part of a
persistent session.

When you sign in with Connect-AzAccount , at least one Azure context is created for your
default
subscription. The object returned by Connect-AzAccount is the default Azure
context used for the
rest of the PowerShell session.
Get Azure contexts
Available Azure contexts are retrieved with the
Get-AzContext cmdlet. List the available
contexts
with the ListAvailable parameter:

Azure PowerShell

Get-AzContext -ListAvailable

Or get a context by name:

Azure PowerShell

Get-AzContext -Name 'mycontext'

Context names may be different from the name of the associated subscription.

) Important

The available Azure contexts aren't always your available subscriptions. Azure
contexts only
represent locally stored information. You can get your subscriptions
with the
Get-AzSubscription cmdlet.

Create a new Azure context from subscription


information
The Set-AzContext cmdlet is used to both create new
Azure contexts and set them as
the active context. The easiest way to create a new Azure context is
to use existing
subscription information. The cmdlet is designed to take the output object from
Get-
AzSubscription as a piped value and configure a new Azure context:

Azure PowerShell

Get-AzSubscription -SubscriptionName 'MySubscriptionName' |

Set-AzContext -Name 'MyContextName'

Or give the subscription name or ID and the tenant ID if necessary:

Azure PowerShell
Set-AzContext -Name 'MyContextName' -Subscription 'MySubscriptionName' -
Tenant '00000000-0000-0000-0000-000000000000'

If the Name parameter is omitted, then the subscription's name and ID are used as the
context name
in the format Subscription Name (subscription-id).

Change the active Azure context


Both Set-AzContext and Select-AzContext can be
used to change the active Azure
context. As described in
Create a new Azure context,
Set-AzContext creates a new Azure
context for a subscription if one doesn't exist, and then
switches the active context to
that one.

Select-AzContext is meant to be used only with existing Azure contexts and works

similarly to
using Set-AzContext -Context , but is designed for use with piping:

Azure PowerShell

Set-AzContext -Context $(Get-AzContext -Name 'mycontext') # Set a context


with an inline Azure context object

Get-AzContext -Name 'mycontext' | Select-AzContext # Set a context with a


piped Azure context object

Like many other account and context management commands in Azure PowerShell,
Set-AzContext and
Select-AzContext support the Scope parameter so that you can
control how long the context is
active. Scope lets you change a single session's active
context without changing your default:

Azure PowerShell

Get-AzContext -Name 'mycontext' | Select-AzContext -Scope Process

To avoid switching contexts for a whole PowerShell session, Azure PowerShell


commands with an
AzContext parameter can be run against a given context:

Azure PowerShell

$context = Get-AzContext -Name "mycontext"

New-AzVM -Name ExampleVM -AzContext $context

The other main use of contexts with Azure PowerShell cmdlets is to run background
commands. To learn
more about running PowerShell Jobs using Azure PowerShell, see
Run Azure PowerShell cmdlets in PowerShell Jobs.

Save Azure contexts across PowerShell sessions


By default, Azure contexts are saved for use between PowerShell sessions. You change
this behavior
in the following ways:

Sign in using -Scope Process with Connect-AzAccount .

Azure PowerShell

Connect-AzAccount -Scope Process

The Azure context returned as part of this sign in is valid for the current session
only and
won't be saved automatically, regardless of the Azure PowerShell context
autosave setting.

Disable context autosave in Azure PowerShell with the


Disable-AzContextAutosave
cmdlet.
Disabling context autosave doesn't clear any stored tokens. To learn how
to clear stored Azure
context information, see
Remove Azure contexts and
credentials.

Explicitly enable Azure context autosave can be enabled with the


Enable-
AzContextAutosave cmdlet. With
autosave enabled, a user's contexts are stored
locally for later PowerShell sessions.

Manually save contexts with Save-AzContext to be


used in future PowerShell
sessions, where they can be loaded with
Import-AzContext:

Azure PowerShell

Save-AzContext -Path current-context.json # Save the current context

Save-AzContext -Profile $profileObject -Path other-context.json # Save


a context object

Import-AzContext -Path other-context.json # Load the context from a


file and set it to the current context

2 Warning

Disabling context autosave doesn't clear any stored context information that was
saved. To remove
stored information, use the Clear-AzContext
cmdlet. For more on
removing saved contexts, see
Remove contexts and credentials.
Each of these commands supports the Scope parameter, which can take a value of
Process to only
apply to the current running process. For example, to ensure that newly
created contexts aren't
saved after exiting a PowerShell session:

Azure PowerShell

Disable-AzContextAutosave -Scope Process

$context2 = Set-AzContext -Subscription 'sub-id' -Tenant 'other-tenant'

Context information and tokens are stored in the $env:USERPROFILE\.Azure directory on


Windows, and
on $HOME/.Azure on other platforms. Sensitive information such as
subscription IDs and tenant IDs
may still be exposed in stored information, through logs,
or saved contexts. To learn how to clear
stored information, see the
Remove contexts
and credentials section.

Remove Azure contexts and stored credentials


To clear Azure contexts and credentials:

Sign out of an account with


Disconnect-AzAccount. You can sign out of
any
account either by account or context:

Azure PowerShell

Disconnect-AzAccount # Disconnect active account

Disconnect-AzAccount -Username '[email protected]' # Disconnect by


account name

Disconnect-AzAccount -ContextName 'subscription2' # Disconnect by


context name

Disconnect-AzAccount -AzureContext $contextObject # Disconnect using


context object information

Disconnecting always removes stored authentication tokens and clears saved


contexts associated
with the disconnected user or context.

Use Clear-AzContext. This cmdlet always removes


stored contexts, authentication
tokens, and signs you out.

Remove a context with Remove-AzContext:

Azure PowerShell

Remove-AzContext -Name 'mycontext' # Remove by name

Get-AzContext -Name 'mycontext' | Remove-AzContext # Remove by piping


Azure context object

If you remove the active context, you'll be disconnected from Azure and need to
reauthenticate
with Connect-AzAccount .

See also
Run Azure PowerShell cmdlets in PowerShell Jobs
Azure Active Directory Terminology
Az.Accounts reference documentation
Use multiple Azure subscriptions
Article • 07/04/2023

Most Azure users only have a single subscription. However, if you are part of more than
one
organization or your organization has divided up access to certain resources across
groupings, you
may have multiple subscriptions within Azure.

For detailed information on subscriptions, billing, and cost management, see the
billing
and cost management documentation.

Tenants, users, and subscriptions


You might have some confusion over the difference between tenants, users, and
subscriptions within
Azure. A tenant is the Azure Active Directory entity that
encompasses a whole organization. This
tenant has at least one subscription and user. A
user is an individual and is associated with
only one tenant, the organization that they
belong to. Users are those accounts that sign in to
Azure to create, manage, and use
resources. A user may have access to multiple subscriptions,
which are the agreements
with Microsoft to use cloud services, including Azure. Every resource is
associated with a
subscription.

To learn more about the differences between tenants, users, and subscriptions, see the
Azure cloud terminology dictionary. To learn how to add a
new subscription to your
Azure Active Directory tenant, see
Associate or add an Azure subscription to your Azure
Active Directory tenant.
To learn how to sign in to a specific tenant, see
Sign in with
Azure PowerShell.

Change the active subscription


In Azure PowerShell, accessing the resources for a subscription requires changing the
subscription
associated with your current Azure session. This is done by modifying the
active session context,
the information about which tenant, subscription, and user
cmdlets should be run against. In order
to change subscriptions, you use the Set-
AzContext
cmdlet to change the current context.

The following example shows how to change the context in your current Azure session:

Azure PowerShell

Set-AzContext -Subscription <subscription name or id>

You can use the Get-AzSubscription cmdlet to


retrieve a list of your Azure subscriptions.

To learn more about Azure PowerShell contexts, including how to save them and switch
between them
for working with multiple subscriptions, see
Persist credentials with Azure
PowerShell contexts.
Manage Azure resources with Invoke-
AzRestMethod
Article • 07/04/2023

Invoke-AzRestMethod is an Azure PowerShell


cmdlet that was introduced in Az
PowerShell module version 4.4.0. It allows you to make custom HTTP
requests to the
Azure Resource Manager (ARM) endpoint using the Az context.

This cmdlet is useful when you want to manage Azure services for features that aren't
yet available
in the Az PowerShell module.

How to use Invoke-AzRestMethod


As an example, you can allow access to Azure Container Registry (ACR) only for specific
networks or
deny public access. As of Az PowerShell module version 4.5.0, that feature
isn't available yet in
the Az.ContainerRegistry PowerShell module. However, it
can be
managed in the interim with Invoke-AzRestMethod .

Using Invoke-AzRestMethod with GET


operations
The following example demonstrates how to use the Invoke-AzRestMethod cmdlet with a
GET operation:

Azure PowerShell

$getParams = @{

ResourceGroupName = 'myresourcegroup'

ResourceProviderName = 'Microsoft.ContainerRegistry'

ResourceType = 'registries'

Name = 'myacr'

ApiVersion = '2019-12-01-preview'

Method = 'GET'

Invoke-AzRestMethod @getParams

To allow maximum flexibility, most of the parameters for Invoke-AzRestMethod are


optional.
However, when you're managing resources within a resource group, you'll
need to provide either the
full ID to the resource or parameters like resource group,
resource provider, and resource type.
The ResourceType and Name parameters can take multiple values when targeting
resources that
require more than one name. For example, to manipulate a saved search
in a Log Analytics workspace,
the parameters look like the following example:
-
ResourceType @('workspaces', 'savedsearches') -Name @('my-la', 'my-search') .

Using a mapping based on the position in the array, the cmdlet constructs the following
resource:
Id:'/workspaces/my-la/savedsearches/my-search' .

The APIVersion parameter allows you to use a specific API version, including preview
ones. The
supported API versions for Azure Resource providers can be found in the
azure-rest-api-specs GitHub repository.

You can find the definition for the 2019-12-01-preview ACR API version in the following
location:
azure-rest-api-specs/specification/containerregistry/resource-
manager/Microsoft.ContainerRegistry/preview/ .

Using Invoke-AzRestMethod with PATCH


operations
You can disable public access to the existing ACR named myacr in the myresourcegroup
resource
group using the Invoke-AzRestMethod cmdlet.

To disable the public network access, you need to make a PATCH call to the API that
changes the
value of the publicNetwokAccess parameter as shown in the following
example:

Azure PowerShell

$patchParams = @{

ResourceGroupName = 'myresourcegroup'

Name = 'myacr'

ResourceProviderName = 'Microsoft.ContainerRegistry'

ResourceType = 'registries'

ApiVersion = '2019-12-01-preview'

Payload = '{ "properties": {

"publicNetworkAccess": "Disabled"

} }'

Method = 'PATCH'

Invoke-AzRestMethod @patchParams

The Payload property is a JSON string that shows the path of the property to be
modified.
All the parameters for this API are described in the rest-api-spec file associated with this
API.
The specific definition for the publicNetworkAccess parameter can be found in the
container registry JSON file
for the 2019-12-01-preview API version.

To only allow access to the registry from a specific IP address, the payload needs to be
modified as
shown in the following example:

Azure PowerShell

$specificIpParams = @{

ResourceGroupName = 'myresourcegroup'

Name = 'myacr'

ResourceProviderName = 'Microsoft.ContainerRegistry'

ResourceType = 'registries'

ApiVersion = '2019-12-01-preview'

Payload = '{ "properties": {

"networkRuleSet": {

"defaultAction": "Deny",

"ipRules": [ {

"action": "Allow",

"value": "24.22.123.123"
} ]

} }'

Method = 'PATCH'

Invoke-AzRestMethod @specificIpParams

Comparison to Get-AzResource, New-


AzResource, and Remove-AzResource
The *-AzResource cmdlets allow you to customize the REST API call to Azure by
specifying the
resource type, the API version, and the properties to be updated.
However, the properties need to be
created first as a PSObject . This process adds an
additional level of complexity and can become
complicated.

Invoke-AzRestMethod offers a way to manage Azure resources. As shown in the previous

example, you
can build a JSON string and use it to customize the REST API call without
having to pre-create any
PSObjects .

If you're already familiar with the *-AzResource cmdlets, you can continue using them.
We've no
plans to stop supporting them. With Invoke-AzRestMethod , we've added a new
cmdlet to your toolkit.
See Also
Get-AzResource
New-AzResource
Remove-AzResource
Query output of Azure PowerShell
Article • 07/04/2023

The results of each Azure PowerShell cmdlet are an Azure PowerShell object. Even
cmdlets that aren't
explicitly Get- operations might return a value that can be inspected,
to give information about a
resource that was created or modified. While most cmdlets
return a single object, some return an
array that should be iterated through.

Usually, you query output from Azure PowerShell with the


Select-Object cmdlet. Output
can be
filtered with Where-Object.

Select simple properties


In the default table format, Azure PowerShell cmdlets don't display all their available
properties.
You can get the full properties using the
Format-List cmdlet, or by piping
output to Select-Object -Property * :

Azure PowerShell

Get-AzVM -Name TestVM -ResourceGroupName TestGroup |

Select-Object -Property *

Output

ResourceGroupName : TESTGROUP

Id : /subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/TESTGROUP/providers/Micro

soft.Compute/virtualMachines/TestVM

VmId : 00000000-0000-0000-0000-000000000000

Name : TestVM
Type : Microsoft.Compute/virtualMachines

Location : westus2

LicenseType :

Tags : {}

AvailabilitySetReference :

DiagnosticsProfile :

Extensions : {}

HardwareProfile :
Microsoft.Azure.Management.Compute.Models.HardwareProfile

InstanceView :

NetworkProfile :
Microsoft.Azure.Management.Compute.Models.NetworkProfile

OSProfile :
Microsoft.Azure.Management.Compute.Models.OSProfile

Plan :

ProvisioningState : Succeeded

StorageProfile :
Microsoft.Azure.Management.Compute.Models.StorageProfile

DisplayHint : Compact

Identity :

Zones : {}

FullyQualifiedDomainName :

AdditionalCapabilities :

RequestId : 00000000-0000-0000-0000-000000000000

StatusCode : OK

Once you know the names of the properties that you're interested in, you can use those
property
names with Select-Object to get them directly:

Azure PowerShell

Get-AzVM -Name TestVM -ResourceGroupName TestGroup |

Select-Object -Property Name, VmId, ProvisioningState

Output

Name VmId ProvisioningState

---- ---- -----------------

TestVM 00000000-0000-0000-0000-000000000000 Succeeded

Output from using Select-Object is always formatted to display the requested


information. To learn
about using formatting as part of querying cmdlet results, see
Format Azure PowerShell cmdlet output.

Select nested properties


Some properties in Azure PowerShell cmdlet output use nested objects, like the
StorageProfile
property of Get-AzVM output. To get a value from a nested property,
provide a display name and the
full path to the value you want to inspect as part of a
dictionary argument to Select-Object :

Azure PowerShell

Get-AzVM -ResourceGroupName TestGroup |

Select-Object -Property Name, @{label='OSType'; expression=


{$_.StorageProfile.OSDisk.OSType}}

Output

Name OSType

---- ------

TestVM Linux

TestVM2 Linux

WinVM Windows

Each dictionary argument selects one property from the object. The property to extract
must be part
of an expression.

Filter results
The Where-Object cmdlet allows you to filter the result based on any property value,
including
nested properties. The next example shows how to use Where-Object to find
the Linux VMs in a
resource group.

Azure PowerShell

Get-AzVM -ResourceGroupName TestGroup |

Where-Object {$_.StorageProfile.OSDisk.OSType -eq 'Linux'}

Output

ResourceGroupName Name Location VmSize OsType NIC


ProvisioningState Zone

----------------- ---- -------- ------ ------ --- -------


---------- ----

TestGroup TestVM westus2 Standard_D2s_v3 Linux testvm299


Succeeded

TestGroup TestVM2 westus2 Standard_D2s_v3 Linux testvm2669


Succeeded

You can pipe the results of Select-Object and Where-Object to each other. For
performance
purposes, it's always recommended to put the Where-Object operation
before Select-Object :

Azure PowerShell

Get-AzVM -ResourceGroupName TestGroup |

Where-Object {$_.StorageProfile.OsDisk.OsType -eq 'Linux'} |

Select-Object -Property Name, VmID, ProvisioningState

Output

Name VmId ProvisioningState

---- ---- -----------------

TestVM 00000000-0000-0000-0000-000000000000 Succeeded

TestVM2 00000000-0000-0000-0000-000000000000 Succeeded

Format Azure PowerShell cmdlet output


Article • 07/04/2023

By default each Azure PowerShell cmdlet formats output to be easy to read. PowerShell
allows you to
convert or format cmdlet output by piping to one of the following
cmdlets:

Formatting Conversion

Format-Custom ConvertTo-Csv

Format-List ConvertTo-Html

Format-Table ConvertTo-Json

Format-Wide ConvertTo-Xml

Formatting is used for display in the PowerShell console, and conversion is used for
generating data
to be consumed by other scripts or programs.

Table output format


By default, Azure PowerShell cmdlets output in the table format. This format doesn't
display all
information of the requested resource:

Azure PowerShell

Get-AzVM

Output

ResourceGroupName Name Location VmSize OsType


NIC ProvisioningState Zone

----------------- ---- -------- ------ ------


--- ----------------- ----

QueryExample ExampleLinuxVM westus2 Basic_A0 Linux


examplelinuxvm916 Succeeded

QueryExample RHELExample westus2 Standard_D2_v3 Linux


rhelexample469 Succeeded

QueryExample WinExampleVM westus2 Standard_DS1_v2 Windows


winexamplevm268 Succeeded

The amount of data displayed by Format-Table can be affected by the width of your
PowerShell
session window. To restrict the output to specific properties and order them,
property names can be
provided as arguments to Format-Table :

Azure PowerShell

Get-AzVM -ResourceGroupName QueryExample |

Format-Table -Property Name, ResourceGroupName, Location

Output

Name ResourceGroupName Location

---- ----------------- --------

ExampleLinuxVM QueryExample westus2

RHELExample QueryExample westus2

WinExampleVM QueryExample westus2

List output format


List output format produces two columns, property names followed by the value. For
complex objects,
the type of the object is displayed instead.

Azure PowerShell

Get-AzVM | Format-List

The following output has some fields removed.

Output

ResourceGroupName : QueryExample

Id :
/subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/v
irtualMachines/ExampleLinuxVM

VmId : ...

Name : ExampleLinuxVM

Type : Microsoft.Compute/virtualMachines

Location : westus2

...

HardwareProfile :
Microsoft.Azure.Management.Compute.Models.HardwareProfile

InstanceView :

NetworkProfile :
Microsoft.Azure.Management.Compute.Models.NetworkProfile

OSProfile :
Microsoft.Azure.Management.Compute.Models.OSProfile

...

StatusCode : OK

ResourceGroupName : QueryExample

Id :
/subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/v
irtualMachines/RHELExample

VmId : ...

Name : RHELExample

Type : Microsoft.Compute/virtualMachines

Location : westus2

...

Like Format-Table , property names can be provided to order and restrict the output:

Azure PowerShell

Get-AzVM | Format-List -Property ResourceGroupName, Name, Location

Output

ResourceGroupName : QueryExample

Name : ExampleLinuxVM

Location : westus2

ResourceGroupName : QueryExample

Name : RHELExample

Location : westus2

ResourceGroupName : QueryExample

Name : WinExampleVM

Location : westus2

Wide output format


Wide output format produces only one property name per query. Which property is
displayed can be
controlled by giving a property as an argument.

Azure PowerShell

Get-AzVM | Format-Wide

Output

ExampleLinuxVM RHELExample

WinExampleVM

Azure PowerShell
Get-AzVM | Format-Wide -Property ResourceGroupName

Output

QueryExample QueryExample

QueryExample

Custom output format


The Custom-Format output type is meant for formatting custom objects. Without any
parameters, it
behaves like Format-List but displays the property names of custom
classes.

Azure PowerShell

Get-AzVM | Format-Custom

The following output has some fields removed.

Output

ResourceGroupName : QueryExample

Id :
/subscriptions/.../resourceGroups/QueryExample/providers/Microsoft.Compute/v
irtualMachines/ExampleLinuxVM

VmId : ...

Name : ExampleLinuxVM

Type : Microsoft.Compute/virtualMachines

Location : westus2

Tags : {}

HardwareProfile : {VmSize}

NetworkProfile : {NetworkInterfaces}

OSProfile : {ComputerName, AdminUsername, LinuxConfiguration,


Secrets,

AllowExtensionOperations}

ProvisioningState : Succeeded

StorageProfile : {ImageReference, OsDisk, DataDisks}

...

Giving property names as arguments to Custom-Format displays the property/value pairs


for custom
objects set as values:

Azure PowerShell

Get-AzVM | Format-Custom -Property Name, ResourceGroupName, Location,


OSProfile

The following output has some fields removed.

Output

class PSVirtualMachineList

Name = ExampleLinuxVM

ResourceGroupName = QueryExample

Location = westus2

OSProfile =

class OSProfile

ComputerName = ExampleLinuxVM

AdminUsername = ...

AdminPassword =

CustomData =

WindowsConfiguration =

LinuxConfiguration =

class LinuxConfiguration

DisablePasswordAuthentication = False

Ssh =

ProvisionVMAgent = True
}

Secrets =

AllowExtensionOperations = True

...

class PSVirtualMachineList

Name = WinExampleVM

ResourceGroupName = QueryExample

Location = westus2

OSProfile =

class OSProfile

ComputerName = WinExampleVM
AdminUsername = ...

AdminPassword =

CustomData =

WindowsConfiguration =

class WindowsConfiguration

ProvisionVMAgent = True
EnableAutomaticUpdates = True

TimeZone =

AdditionalUnattendContent =

WinRM =

LinuxConfiguration =

Secrets =

AllowExtensionOperations = True

Conversion to other data formats


The ConvertTo-* family of cmdlets allows for converting the results of Azure PowerShell
cmdlets to
machine-readable formats. To get only some properties from the Azure
PowerShell results, pipe to the
Select-Object cmdlet before performing the conversion.
The following examples demonstrate the
different kinds of output that each conversion
produces.

Conversion to CSV
Azure PowerShell

Get-AzVM | ConvertTo-CSV

Output

#TYPE Microsoft.Azure.Commands.Compute.Models.PSVirtualMachineList

"ResourceGroupName","Id","VmId","Name","Type","Location","LicenseType","Tags
","AvailabilitySetReference","DiagnosticsProfile","Extensions","HardwareProf
ile","InstanceView","NetworkProfile","OSProfile","Plan","ProvisioningState",
"StorageProfile","DisplayHint","Identity","Zones","FullyQualifiedDomainName"
,"AdditionalCapabilities","RequestId","StatusCode"

"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Mic
rosoft.Compute/virtualMachines/ExampleLinuxVM","...","ExampleLinuxVM","Micro
soft.Compute/virtualMachines","westus2",,"System.Collections.Generic.Diction
ary`2[System.String,System.String]",,,"System.Collections.Generic.List`1[Mic
rosoft.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.
Azure.Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Managemen
t.Compute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.
OSProfile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StoragePr
ofile","Compact",,"System.Collections.Generic.List`1[System.String]",,,"..."
,"OK"

"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Mic
rosoft.Compute/virtualMachines/RHELExample","...","RHELExample","Microsoft.C
ompute/virtualMachines","westus2",,"System.Collections.Generic.Dictionary`2[
System.String,System.String]",,,"System.Collections.Generic.List`1[Microsoft
.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.Azure.
Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Management.Comp
ute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.OSProf
ile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StorageProfile"
,"Compact",,"System.Collections.Generic.List`1[System.String]",,,"...","OK"

"QUERYEXAMPLE","/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Mic
rosoft.Compute/virtualMachines/WinExampleVM","...","WinExampleVM","Microsoft
.Compute/virtualMachines","westus2",,"System.Collections.Generic.Dictionary`
2[System.String,System.String]",,,"System.Collections.Generic.List`1[Microso
ft.Azure.Management.Compute.Models.VirtualMachineExtension]","Microsoft.Azur
e.Management.Compute.Models.HardwareProfile",,"Microsoft.Azure.Management.Co
mpute.Models.NetworkProfile","Microsoft.Azure.Management.Compute.Models.OSPr
ofile",,"Succeeded","Microsoft.Azure.Management.Compute.Models.StorageProfil
e","Compact",,"System.Collections.Generic.List`1[System.String]",,,"...","OK
"

Conversion to JSON
JSON output doesn't expand all properties by default. To change the depth of properties
expanded,
use the Depth parameter. By default, the expansion depth is 2 .

Azure PowerShell

Get-AzVM | ConvertTo-JSON

The following output has some fields removed.

Output

"ResourceGroupName": "QUERYEXAMPLE",

"Id":
"/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compute/
virtualMachines/ExampleLinuxVM",

"VmId": "...",

"Name": "ExampleLinuxVM",

"Type": "Microsoft.Compute/virtualMachines",

"Location": "westus2",

...

"OSProfile": {

"ComputerName": "ExampleLinuxVM",

"AdminUsername": "...",

"AdminPassword": null,

"CustomData": null,

"WindowsConfiguration": null,

"LinuxConfiguration":
"Microsoft.Azure.Management.Compute.Models.LinuxConfiguration",

"Secrets": "",

"AllowExtensionOperations": true

},

"Plan": null,

"ProvisioningState": "Succeeded",

"StorageProfile": {

"ImageReference":
"Microsoft.Azure.Management.Compute.Models.ImageReference",

"OsDisk":
"Microsoft.Azure.Management.Compute.Models.OSDisk",

"DataDisks": ""

},

"DisplayHint": 0,

"Identity": null,

"Zones": [

],

"FullyQualifiedDomainName": null,

"AdditionalCapabilities": null,

"RequestId": "...",

"StatusCode": 200

},

...

Conversion to XML
The ConvertTo-XML cmdlet converts the Azure PowerShell response object into a pure
XML object,
which can be handled like any other XML object within PowerShell.

Azure PowerShell

Get-AzVM | ConvertTo-XML

Output

xml Objects

--- -------

version="1.0" encoding="utf-8" Objects

Conversion to HTML
Converting an object to HTML produces output that's rendered as an HTML table.
Rendering of the HTML
depends on your browser behavior for rendering tables which
contain no width information. No custom
class objects are expanded.

Azure PowerShell
Get-AzVM | ConvertTo-HTML

Output

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>HTML TABLE</title>

</head><body>

<table>

<colgroup><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/>
<col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/>
<col/><col/></colgroup>

<tr><th>ResourceGroupName</th><th>Id</th><th>VmId</th><th>Name</th>
<th>Type</th><th>Location</th><th>LicenseType</th><th>Tags</th>
<th>AvailabilitySetReference</th><th>DiagnosticsProfile</th>
<th>Extensions</th><th>HardwareProfile</th><th>InstanceView</th>
<th>NetworkProfile</th><th>OSProfile</th><th>Plan</th>
<th>ProvisioningState</th><th>StorageProfile</th><th>DisplayHint</th>
<th>Identity</th><th>Zones</th><th>FullyQualifiedDomainName</th>
<th>AdditionalCapabilities</th><th>RequestId</th><th>StatusCode</th></tr>

<tr><td>QUERYEXAMPLE</td>
<td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compu
te/virtualMachines/ExampleLinuxVM</td><td>...</td><td>ExampleLinuxVM</td>
<td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td>
<td>System.Collections.Generic.Dictionary`2[System.String,System.String]
</td><td></td><td></td>
<td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Mod
els.VirtualMachineExtension]</td>
<td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td>
<td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td>
<td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td>
<td>Succeeded</td>
<td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td>
<td>Compact</td><td></td>
<td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td>
<td>...</td><td>OK</td></tr>

<tr><td>QUERYEXAMPLE</td>
<td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compu
te/virtualMachines/RHELExample</td><td>...</td><td>RHELExample</td>
<td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td>
<td>System.Collections.Generic.Dictionary`2[System.String,System.String]
</td><td></td><td></td>
<td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Mod
els.VirtualMachineExtension]</td>
<td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td>
<td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td>
<td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td>
<td>Succeeded</td>
<td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td>
<td>Compact</td><td></td>
<td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td>
<td>...</td><td>OK</td></tr>

<tr><td>QUERYEXAMPLE</td>
<td>/subscriptions/.../resourceGroups/QUERYEXAMPLE/providers/Microsoft.Compu
te/virtualMachines/WinExampleVM</td><td>...</td><td>WinExampleVM</td>
<td>Microsoft.Compute/virtualMachines</td><td>westus2</td><td></td>
<td>System.Collections.Generic.Dictionary`2[System.String,System.String]
</td><td></td><td></td>
<td>System.Collections.Generic.List`1[Microsoft.Azure.Management.Compute.Mod
els.VirtualMachineExtension]</td>
<td>Microsoft.Azure.Management.Compute.Models.HardwareProfile</td><td></td>
<td>Microsoft.Azure.Management.Compute.Models.NetworkProfile</td>
<td>Microsoft.Azure.Management.Compute.Models.OSProfile</td><td></td>
<td>Succeeded</td>
<td>Microsoft.Azure.Management.Compute.Models.StorageProfile</td>
<td>Compact</td><td></td>
<td>System.Collections.Generic.List`1[System.String]</td><td></td><td></td>
<td>...</td><td>OK</td></tr>

</table>

</body></html>

Run Azure PowerShell cmdlets in


PowerShell Jobs
Article • 07/04/2023

Azure PowerShell depends on connecting to an Azure cloud and waiting for responses,
so most of these
cmdlets block your PowerShell session until they get a response from
the cloud. PowerShell Jobs let
you run cmdlets in the background or do multiple tasks
on Azure at once, from inside a single
PowerShell session.

This article is a brief overview of how to run Azure PowerShell cmdlets as PowerShell
Jobs and check
for completion. Running commands in Azure PowerShell requires the
use of Azure PowerShell contexts,
which are covered in detail in Azure contexts and
sign-in credentials. To
learn more about PowerShell Jobs, see
About PowerShell Jobs.

Azure contexts with PowerShell jobs


PowerShell Jobs are run as separate processes without an attached PowerShell session,
so your Azure
credentials must be shared with them. Credentials are passed as Azure
context objects, using one of
these methods:

Automatic context persistence. Context persistence is enabled by default and


preserves your
sign-in information across multiple sessions. With context
persistence enabled, the current Azure
context is passed to the new process:

Azure PowerShell

Enable-AzContextAutosave # Enables context autosave if not already on

$vmadmin = Get-Credential

Start-Job {

New-AzVM -Name MyVm -Credential $Using:vmadmin

Provide an Azure context object with any Azure PowerShell cmdlet that has an
AzContext
parameter:

Azure PowerShell

$context = Get-AzContext -Name 'mycontext' # Get an Azure context


object

$vmadmin = Get-Credential

$job = Start-Job {

New-AzVM -Name MyVm -AzContext $Using:context -Credential


$Using:vmadmin

If context persistence is disabled, the AzContext parameter is required.

Use the AsJob parameter provided by some Azure PowerShell cmdlets. This switch
automatically
starts the cmdlet as a PowerShell Job, using the active Azure context:

Azure PowerShell

$vmadmin = Get-Credential

$job = New-AzVM -Name MyVm -Credential $vmadmin -AsJob

To see if a cmdlet supports AsJob, check its reference documentation. The AsJob
parameter
doesn't require context autosave to be enabled.

You can check the status of a running job with the


Get-Job cmdlet. To get the output
from a job
so far, use the Receive-Job cmdlet.

To check an operation's progress remotely on Azure, use the Get cmdlets associated
with the type
of resource being modified by the job:

Azure PowerShell

$vmadmin = Get-Credential

$context = Get-AzContext -Name 'mycontext'

$vmName = 'MyVm'

$job = Start-Job {

New-AzVM -Name $Using:vmName -AzContext $Using:context -Credential


$Using:vmadmin

Get-Job -Id $job.Id

Get-AzVM -Name $vmName

See Also
Azure PowerShell contexts
About PowerShell Jobs
Get-Job
Receive-Job
The Using: scope modifier
Deploy resources with ARM templates
and Azure PowerShell
Article • 05/22/2023

This article explains how to use Azure PowerShell with Azure Resource Manager
templates (ARM templates) to deploy your resources to Azure. If you aren't familiar with
the concepts of deploying and managing your Azure solutions, see template
deployment overview.

 Tip

We recommend Bicep because it offers the same capabilities as ARM templates


and the syntax is easier to use. To learn more, see Deploy resources with Bicep and
Azure PowerShell.

Prerequisites
You need a template to deploy. If you don't already have one, download and save an
example template from the Azure Quickstart templates repo. The local file name used
in this article is C:\MyTemplates\azuredeploy.json.

You need to install Azure PowerShell and connect to Azure:

Install Azure PowerShell cmdlets on your local computer. For more information,
see Get started with Azure PowerShell.
Connect to Azure by using Connect-AZAccount. If you have multiple Azure
subscriptions, you might also need to run Set-AzContext. For more information,
see Use multiple Azure subscriptions.

If you don't have PowerShell installed, you can use Azure Cloud Shell. For more
information, see Deploy ARM templates from Azure Cloud Shell.

Required permissions
To deploy a Bicep file or ARM template, you need write access on the resources you're
deploying and access to all operations on the Microsoft.Resources/deployments
resource type. For example, to deploy a virtual machine, you need
Microsoft.Compute/virtualMachines/write and Microsoft.Resources/deployments/*
permissions. The what-if operation has the same permission requirements.
For a list of roles and permissions, see Azure built-in roles.

Deployment scope
You can target your deployment to a resource group, subscription, management group,
or tenant. Depending on the scope of the deployment, you use different commands.

To deploy to a resource group, use New-AzResourceGroupDeployment:

Azure PowerShell

New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name>


-TemplateFile <path-to-template>

To deploy to a subscription, use New-AzSubscriptionDeployment which is an alias


of the New-AzDeployment cmdlet:

Azure PowerShell

New-AzSubscriptionDeployment -Location <location> -TemplateFile <path-


to-template>

For more information about subscription level deployments, see Create resource
groups and resources at the subscription level.

To deploy to a management group, use New-AzManagementGroupDeployment.

Azure PowerShell

New-AzManagementGroupDeployment -Location <location> -TemplateFile


<path-to-template>

For more information about management group level deployments, see Create
resources at the management group level.

To deploy to a tenant, use New-AzTenantDeployment.

Azure PowerShell

New-AzTenantDeployment -Location <location> -TemplateFile <path-to-


template>

For more information about tenant level deployments, see Create resources at the
tenant level.
For every scope, the user deploying the template must have the required permissions to
create resources.

Deployment name
When deploying an ARM template, you can give the deployment a name. This name can
help you retrieve the deployment from the deployment history. If you don't provide a
name for the deployment, the name of the template file is used. For example, if you
deploy a template named azuredeploy.json and don't specify a deployment name, the
deployment is named azuredeploy .

Every time you run a deployment, an entry is added to the resource group's deployment
history with the deployment name. If you run another deployment and give it the same
name, the earlier entry is replaced with the current deployment. If you want to maintain
unique entries in the deployment history, give each deployment a unique name.

To create a unique name, you can assign a random number.

Azure PowerShell

$suffix = Get-Random -Maximum 1000

$deploymentName = "ExampleDeployment" + $suffix

Or, add a date value.

Azure PowerShell

$today=Get-Date -Format "MM-dd-yyyy"

$deploymentName="ExampleDeployment"+"$today"

If you run concurrent deployments to the same resource group with the same
deployment name, only the last deployment is completed. Any deployments with the
same name that haven't finished are replaced by the last deployment. For example, if
you run a deployment named newStorage that deploys a storage account named
storage1 , and at the same time run another deployment named newStorage that
deploys a storage account named storage2 , you deploy only one storage account. The
resulting storage account is named storage2 .

However, if you run a deployment named newStorage that deploys a storage account
named storage1 , and immediately after it completes you run another deployment
named newStorage that deploys a storage account named storage2 , then you have two
storage accounts. One is named storage1 , and the other is named storage2 . But, you
only have one entry in the deployment history.

When you specify a unique name for each deployment, you can run them concurrently
without conflict. If you run a deployment named newStorage1 that deploys a storage
account named storage1 , and at the same time run another deployment named
newStorage2 that deploys a storage account named storage2 , then you have two

storage accounts and two entries in the deployment history.

To avoid conflicts with concurrent deployments and to ensure unique entries in the
deployment history, give each deployment a unique name.

Deploy local template


You can deploy a template from your local machine or one that is stored externally. This
section describes deploying a local template.

If you're deploying to a resource group that doesn't exist, create the resource group.
The name of the resource group can only include alphanumeric characters, periods,
underscores, hyphens, and parenthesis. It can be up to 90 characters. The name can't
end in a period.

Azure PowerShell

New-AzResourceGroup -Name ExampleGroup -Location "Central US"

To deploy a local template, use the -TemplateFile parameter in the deployment


command. The following example also shows how to set a parameter value that comes
from the template.

Azure PowerShell

New-AzResourceGroupDeployment `

-Name ExampleDeployment `

-ResourceGroupName ExampleGroup `

-TemplateFile <path-to-template>

The deployment can take several minutes to complete.

Deploy remote template


Instead of storing ARM templates on your local machine, you may prefer to store them
in an external location. You can store templates in a source control repository (such as
GitHub). Or, you can store them in an Azure storage account for shared access in your
organization.

7 Note

To deploy a template or reference a linked template that is stored in a private


GitHub repo, see a custom solution documented in Creating a Custom and Secure
Azure Portal Offering . You can create an Azure function that pulls the GitHub
token out of Azure Key Vault.

If you're deploying to a resource group that doesn't exist, create the resource group.
The name of the resource group can only include alphanumeric characters, periods,
underscores, hyphens, and parenthesis. It can be up to 90 characters. The name can't
end in a period.

Azure PowerShell

New-AzResourceGroup -Name ExampleGroup -Location "Central US"

To deploy an external template, use the -TemplateUri parameter.

Azure PowerShell

New-AzResourceGroupDeployment `

-Name remoteTemplateDeployment `

-ResourceGroupName ExampleGroup `

-TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-
templates/master/quickstarts/microsoft.storage/storage-account-
create/azuredeploy.json

The preceding example requires a publicly accessible URI for the template, which works
for most scenarios because your template shouldn't include sensitive data. If you need
to specify sensitive data (like an admin password), pass that value as a secure parameter.
However, if you want to manage access to the template, consider using template specs.

To deploy remote linked templates with relative path that are stored in a storage
account, use QueryString to specify the SAS token:

Azure PowerShell

New-AzResourceGroupDeployment `

-Name linkedTemplateWithRelativePath `

-ResourceGroupName "myResourceGroup" `

-TemplateUri "https://stage20210126.blob.core.windows.net/template-
staging/mainTemplate.json" `

-QueryString "$sasToken"

For more information, see Use relative path for linked templates.

Deploy template spec


Instead of deploying a local or remote template, you can create a template spec. The
template spec is a resource in your Azure subscription that contains an ARM template. It
makes it easy to securely share the template with users in your organization. You use
Azure role-based access control (Azure RBAC) to grant access to the template spec. This
feature is currently in preview.

The following examples show how to create and deploy a template spec.

First, create the template spec by providing the ARM template.

Azure PowerShell

New-AzTemplateSpec `

-Name storageSpec `

-Version 1.0 `

-ResourceGroupName templateSpecsRg `

-Location westus2 `

-TemplateJsonFile ./mainTemplate.json

Then, get the ID for template spec and deploy it.

Azure PowerShell

$id = (Get-AzTemplateSpec -Name storageSpec -ResourceGroupName


templateSpecsRg -Version 1.0).Versions.Id

New-AzResourceGroupDeployment `

-ResourceGroupName demoRG `

-TemplateSpecId $id

For more information, see Azure Resource Manager template specs.

Preview changes
Before deploying your template, you can preview the changes the template will make to
your environment. Use the what-if operation to verify that the template makes the
changes that you expect. What-if also validates the template for errors.

Pass parameter values


To pass parameter values, you can use either inline parameters or a parameter file.

Inline parameters
To pass inline parameters, provide the names of the parameter with the New-
AzResourceGroupDeployment command. For example, to pass a string and array to a

template, use:

PowerShell

$arrayParam = "value1", "value2"

New-AzResourceGroupDeployment -ResourceGroupName testgroup `

-TemplateFile <path-to-template> `

-exampleString "inline string" `

-exampleArray $arrayParam

You can also get the contents of file and provide that content as an inline parameter.

PowerShell

$arrayParam = "value1", "value2"

New-AzResourceGroupDeployment -ResourceGroupName testgroup `

-TemplateFile <path-to-template> `

-exampleString $(Get-Content -Path c:\MyTemplates\stringcontent.txt -Raw)


`

-exampleArray $arrayParam

Getting a parameter value from a file is helpful when you need to provide configuration
values. For example, you can provide cloud-init values for a Linux virtual machine.

If you need to pass in an array of objects, create hash tables in PowerShell and add them
to an array. Pass that array as a parameter during deployment.

PowerShell

$hash1 = @{ Name = "firstSubnet"; AddressPrefix = "10.0.0.0/24"}

$hash2 = @{ Name = "secondSubnet"; AddressPrefix = "10.0.1.0/24"}

$subnetArray = $hash1, $hash2

New-AzResourceGroupDeployment -ResourceGroupName testgroup `

-TemplateFile <path-to-template> `

-exampleArray $subnetArray

Parameter files
Rather than passing parameters as inline values in your script, you may find it easier to
use a JSON file that contains the parameter values. The parameter file can be a local file
or an external file with an accessible URI.

For more information about the parameter file, see Create Resource Manager parameter
file.

To pass a local parameter file, use the TemplateParameterFile parameter:

PowerShell

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName


ExampleResourceGroup `

-TemplateFile <path-to-template> `

-TemplateParameterFile c:\MyTemplates\storage.parameters.json

To pass an external parameter file, use the TemplateParameterUri parameter:

PowerShell

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName


ExampleResourceGroup `

-TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-
templates/master/quickstarts/microsoft.storage/storage-account-
create/azuredeploy.json `

-TemplateParameterUri https://raw.githubusercontent.com/Azure/azure-
quickstart-templates/master/quickstarts/microsoft.storage/storage-account-
create/azuredeploy.parameters.json

Next steps
To roll back to a successful deployment when you get an error, see Rollback on
error to successful deployment.
To specify how to handle resources that exist in the resource group but aren't
defined in the template, see Azure Resource Manager deployment modes.
To understand how to define parameters in your template, see Understand the
structure and syntax of ARM templates.
For information about deploying a template that requires a SAS token, see Deploy
private ARM template with SAS token.
Manage Azure resources by using Azure
PowerShell
Article • 04/09/2023

Learn how to use Azure PowerShell with Azure Resource Manager to manage your Azure
resources. For managing resource groups, see Manage Azure resource groups by using
Azure PowerShell.

Other articles about managing resources:

Manage Azure resources by using the Azure portal


Manage Azure resources by using Azure CLI

Deploy resources to an existing resource group


You can deploy Azure resources directly by using Azure PowerShell, or deploy a
Resource Manager template to create Azure resources.

Deploy a resource
The following script creates a storage account.

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$location = Read-Host -Prompt "Enter the location (i.e. centralus)"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

# Create the storage account.

$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroupName


`

-Name $storageAccountName `

-Location $location `
-SkuName "Standard_LRS"

# Retrieve the context.

$ctx = $storageAccount.Context

Deploy a template
The following script deploys a Quickstart template to create a storage account. For more
information, see Quickstart: Create Azure Resource Manager templates by using Visual
Studio Code.

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$location = Read-Host -Prompt "Enter the location (i.e. centralus)"

$templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-
templates/master/quickstarts/microsoft.storage/storage-account-
create/azuredeploy.json"

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -


TemplateUri $templateUri -Location $location

For more information, see Deploy resources with Resource Manager templates and
Azure PowerShell.

Deploy a resource group and resources


You can create a resource group and deploy resources to the group. For more
information, see Create resource group and deploy resources.

Deploy resources to multiple subscriptions or


resource groups
Typically, you deploy all the resources in your template to a single resource group.
However, there are scenarios where you want to deploy a set of resources together but
place them in different resource groups or subscriptions. For more information, see
Deploy Azure resources to multiple subscriptions or resource groups.

Delete resources
The following script shows how to delete a storage account.

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

Remove-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName


$storageAccountName

For more information about how Azure Resource Manager orders the deletion of
resources, see Azure Resource Manager resource group deletion.
Move resources
The following script shows how to remove a storage account from one resource group
to another resource group.

Azure PowerShell

$srcResourceGroupName = Read-Host -Prompt "Enter the source Resource Group


name"

$destResourceGroupName = Read-Host -Prompt "Enter the destination Resource


Group name"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

$storageAccount = Get-AzResource -ResourceGroupName $srcResourceGroupName -


ResourceName $storageAccountName

Move-AzResource -DestinationResourceGroupName $destResourceGroupName -


ResourceId $storageAccount.ResourceId

For more information, see Move resources to new resource group or subscription.

Lock resources
Locking prevents other users in your organization from accidentally deleting or
modifying critical resources, such as Azure subscription, resource group, or resource.

The following script locks a storage account so the account can't be deleted.

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

New-AzResourceLock -LockName LockStorage -LockLevel CanNotDelete -


ResourceGroupName $resourceGroupName -ResourceName $storageAccountName -
ResourceType Microsoft.Storage/storageAccounts

The following script gets all locks for a storage account:

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

Get-AzResourceLock -ResourceGroupName $resourceGroupName -ResourceName


$storageAccountName -ResourceType Microsoft.Storage/storageAccounts

The following script deletes a lock of a storage account:

Azure PowerShell

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

$storageAccountName = Read-Host -Prompt "Enter the storage account name"

$lockId = (Get-AzResourceLock -ResourceGroupName $resourceGroupName -


ResourceName $storageAccountName -ResourceType
Microsoft.Storage/storageAccounts).LockId

Remove-AzResourceLock -LockId $lockId

For more information, see Lock resources with Azure Resource Manager.

Tag resources
Tagging helps organizing your resource group and resources logically. For information,
see Using tags to organize your Azure resources.

Manage access to resources


Azure role-based access control (Azure RBAC) is the way that you manage access to
resources in Azure. For more information, see Add or remove Azure role assignments
using Azure PowerShell.

Next steps
To learn Azure Resource Manager, see Azure Resource Manager overview.
To learn the Resource Manager template syntax, see Understand the structure and
syntax of Azure Resource Manager templates.
To learn how to develop templates, see the step-by-step tutorials.
To view the Azure Resource Manager template schemas, see template reference.
How to deploy private ARM template
with SAS token
Article • 05/23/2023

When your Azure Resource Manager template (ARM template) is located in a storage
account, you can restrict access to the template to avoid exposing it publicly. You access
a secured template by creating a shared access signature (SAS) token for the template,
and providing that token during deployment. This article explains how to use Azure
PowerShell or Azure CLI to securely deploy an ARM template with a SAS token.

You will find information on how to protect and manage access to your private ARM
templates with directions on how to do the following:

Create storage account with secured container


Upload template to storage account
Provide SAS token during deployment

) Important

Instead of securing your private template with a SAS token, consider using
template specs. With template specs, you can share your templates with other
users in your organization and manage access to the templates through Azure
RBAC.

Create storage account with secured container


The following script creates a storage account and container with public access turned
off for template security.

PowerShell

Azure PowerShell

New-AzResourceGroup `

-Name ExampleGroup `

-Location "Central US"

New-AzStorageAccount `

-ResourceGroupName ExampleGroup `

-Name {your-unique-name} `

-Type Standard_LRS `

-Location "Central US"

Set-AzCurrentStorageAccount `

-ResourceGroupName ExampleGroup `

-Name {your-unique-name}

New-AzStorageContainer `

-Name templates `

-Permission Off

Upload private template to storage account


Now, you're ready to upload your template to the storage account. Provide the path to
the template you want to use.

PowerShell

Azure PowerShell

Set-AzStorageBlobContent `

-Container templates `

-File c:\Templates\azuredeploy.json

Provide SAS token during deployment


To deploy a private template in a storage account, generate a SAS token and include it
in the URI for the template. Set the expiry time to allow enough time to complete the
deployment.

) Important

The blob containing the private template is accessible to only the account owner.
However, when you create a SAS token for the blob, the blob is accessible to
anyone with that URI. If another user intercepts the URI, that user is able to access
the template. A SAS token is a good way of limiting access to your templates, but
you should not include sensitive data like passwords directly in the template.

PowerShell

Azure PowerShell

# get the URI with the SAS token

$templateuri = New-AzStorageBlobSASToken `

-Container templates `

-Blob azuredeploy.json `

-Permission r `

-ExpiryTime (Get-Date).AddHours(2.0) -FullUri

# provide URI with SAS token during deployment

New-AzResourceGroupDeployment `

-ResourceGroupName ExampleGroup `

-TemplateUri $templateuri

For an example of using a SAS token with linked templates, see Using linked templates
with Azure Resource Manager.

Next steps
For an introduction to deploying templates, see Deploy resources with ARM
templates and Azure PowerShell.
To define parameters in template, see Authoring templates.
Quickstart: Use Azure PowerShell to
create a virtual network
Article • 06/09/2023

This quickstart shows you how to create a virtual network by using Azure PowerShell.
You then create two virtual machines (VMs) in the network, securely connect to the VMs
from the internet, and communicate privately between the VMs.

A virtual network is the fundamental building block for private networks in Azure. Azure
Virtual Network enables Azure resources like VMs to securely communicate with each
other and the internet.

Prerequisites
An Azure account with an active subscription. You can create an account for free .

Azure Cloud Shell or Azure PowerShell.

The steps in this quickstart run the Azure PowerShell cmdlets interactively in Azure
Cloud Shell. To run the commands in the Cloud Shell, select Open Cloudshell at
the upper-right corner of a code block. Select Copy to copy the code and then
paste it into Cloud Shell to run it. You can also run the Cloud Shell from within the
Azure portal.

You can also install Azure PowerShell locally to run the cmdlets. The steps in this
article require Azure PowerShell module version 5.4.1 or later. Run Get-Module -
ListAvailable Az to find your installed version. If you need to upgrade, see Update

the Azure PowerShell module.

If you run PowerShell locally, run Connect-AzAccount to connect to Azure.


Create a resource group
1. Use New-AzResourceGroup to create a resource group to host the virtual network.
Run the following code to create a resource group named test-rg in the eastus2
Azure region.

Azure PowerShell

$rg = @{

Name = 'test-rg'

Location = 'eastus2'

New-AzResourceGroup @rg

Create a virtual network


1. Use New-AzVirtualNetwork to create a virtual network named vnet-1 with IP
address prefix 10.0.0.0/16 in the test-rg resource group and eastus2 location.

Azure PowerShell

$vnet = @{

Name = 'vnet-1'

ResourceGroupName = 'test-rg'
Location = 'eastus2'

AddressPrefix = '10.0.0.0/16'
}

$virtualNetwork = New-AzVirtualNetwork @vnet

2. Azure deploys resources to a subnet within a virtual network. Use Add-


AzVirtualNetworkSubnetConfig to create a subnet configuration named subnet-1
with address prefix 10.0.0.0/24.

Azure PowerShell

$subnet = @{

Name = 'subnet-1'

VirtualNetwork = $virtualNetwork

AddressPrefix = '10.0.0.0/24'
}

$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet

3. Then associate the subnet configuration to the virtual network with Set-
AzVirtualNetwork.
Azure PowerShell

$virtualNetwork | Set-AzVirtualNetwork

Deploy Azure Bastion


Azure Bastion uses your browser to connect to VMs in your virtual network over secure
shell (SSH) or remote desktop protocol (RDP) by using their private IP addresses. The
VMs don't need public IP addresses, client software, or special configuration. For more
information about Azure Bastion, see Azure Bastion.

Hourly pricing starts from the moment Bastion is deployed, regardless of outbound data
usage. For more information, see Pricing and SKUs. If you're deploying Bastion as part
of a tutorial or test, we recommend that you delete this resource once you've finished
using it.

1. Configure an Azure Bastion subnet for your virtual network. This subnet is reserved
exclusively for Azure Bastion resources and must be named AzureBastionSubnet.

Azure PowerShell

$subnet = @{

Name = 'AzureBastionSubnet'

VirtualNetwork = $virtualNetwork

AddressPrefix = '10.0.1.0/26'
}

$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet

2. Set the configuration.

Azure PowerShell

$virtualNetwork | Set-AzVirtualNetwork

3. Create a public IP address for Azure Bastion. The bastion host uses the public IP to
access secure shell (SSH) and remote desktop protocol (RDP) over port 443.

Azure PowerShell

$ip = @{

ResourceGroupName = 'test-rg'

Name = 'public-ip'

Location = 'eastus2'

AllocationMethod = 'Static'

Sku = 'Standard'

Zone = 1,2,3

New-AzPublicIpAddress @ip

4. Use the New-AzBastion command to create a new Standard SKU Azure Bastion
host in the AzureBastionSubnet.

Azure PowerShell

$bastion = @{

Name = 'bastion'

ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'

PublicIpAddressName = 'public-ip'

VirtualNetworkRgName = 'test-rg'

VirtualNetworkName = 'vnet-1'
Sku = 'Basic'

New-AzBastion @bastion

It takes about 10 minutes for the Bastion resources to deploy. You can create VMs in the
next section while Bastion deploys to your virtual network.

Create virtual machines


Use New-AzVM to create two VMs named vm-1 and vm-2 in the subnet-1 subnet of the
virtual network. When you're prompted for credentials, enter user names and passwords
for the VMs.

1. To create the first VM, use the following code:

Azure PowerShell

# Set the administrator and password for the VMs. ##

$cred = Get-Credential

## Place the virtual network into a variable. ##

$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-


rg'

## Create network interface for virtual machine. ##

$nic = @{

Name = "nic-1"

ResourceGroupName = 'test-rg'
Location = 'eastus2'

Subnet = $vnet.Subnets[0]

$nicVM = New-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##

$vmsz = @{

VMName = "vm-1"

VMSize = 'Standard_DS1_v2'

$vmos = @{

ComputerName = "vm-1"

Credential = $cred

$vmimage = @{

PublisherName = 'Canonical'

Offer = '0001-com-ubuntu-server-jammy'

Skus = '22_04-lts-gen2'

Version = 'latest'

$vmConfig = New-AzVMConfig @vmsz `

| Set-AzVMOperatingSystem @vmos -Linux `

| Set-AzVMSourceImage @vmimage `

| Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine for VMs ##

$vm = @{

ResourceGroupName = 'test-rg'
Location = 'eastus2'

VM = $vmConfig

New-AzVM @vm

2. To create the second VM, use the following code:

Azure PowerShell

# Set the administrator and password for the VMs. ##

$cred = Get-Credential

## Place the virtual network into a variable. ##

$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-


rg'

## Create network interface for virtual machine. ##

$nic = @{

Name = "nic-2"

ResourceGroupName = 'test-rg'
Location = 'eastus2'

Subnet = $vnet.Subnets[0]

$nicVM = New-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##

$vmsz = @{

VMName = "vm-2"

VMSize = 'Standard_DS1_v2'

$vmos = @{

ComputerName = "vm-2"

Credential = $cred

$vmimage = @{

PublisherName = 'Canonical'

Offer = '0001-com-ubuntu-server-jammy'

Skus = '22_04-lts-gen2'

Version = 'latest'

$vmConfig = New-AzVMConfig @vmsz `

| Set-AzVMOperatingSystem @vmos -Linux `

| Set-AzVMSourceImage @vmimage `

| Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine for VMs ##

$vm = @{

ResourceGroupName = 'test-rg'
Location = 'eastus2'

VM = $vmConfig

New-AzVM @vm

 Tip

You can use the -AsJob option to create a VM in the background while you
continue with other tasks. For example, run New-AzVM @vm1 -AsJob . When Azure
starts creating the VM in the background, you get something like the following
output:

PowerShell

Id Name PSJobTypeName State HasMoreData


Location Command

-- ---- ------------- ----- ----------- --


------ -------

1 Long Running... AzureLongRun... Running True


localhost New-AzVM

Azure takes a few minutes to create the VMs. When Azure finishes creating the VMs, it
returns output to PowerShell.

7 Note

VMs in a virtual network with a Bastion host don't need public IP addresses. Bastion
provides the public IP, and the VMs use private IPs to communicate within the
network. You can remove the public IPs from any VMs in Bastion-hosted virtual
networks. For more information, see Dissociate a public IP address from an Azure
VM.

7 Note

Azure provides a default outbound access IP for VMs that either aren't assigned a
public IP address or are in the back-end pool of an internal basic Azure load
balancer. The default outbound access IP mechanism provides an outbound IP
address that isn't configurable.

The default outbound access IP is disabled when a public IP address is assigned to


the VM, the VM is placed in the back-end pool of a standard load balancer, with or
without outbound rules, or if an Azure Virtual Network NAT gateway resource is
assigned to the subnet of the VM.

VMs that are created by virtual machine scale sets in flexible orchestration mode
don't have default outbound access.

For more information about outbound connections in Azure, see Default outbound
access in Azure and Use source network address translation (SNAT) for outbound
connections.

Connect to a virtual machine


1. In the portal, search for and select Virtual machines.

2. On the Virtual machines page, select vm-1.

3. In the Overview of vm-1, select Connect.

4. In the Connect to virtual machine page, select the Bastion tab.

5. Select Use Bastion.

6. Enter the username and password you created when you created the VM, and then
select Connect.

Communicate between VMs


1. At the bash prompt for vm-1, enter ping -c 4 vm-2 .
You get a reply similar to the following message:

Output

azureuser@vm-1:~$ ping -c 4 vm-2

PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net
(10.0.0.5) 56(84) bytes of data.

64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=1 ttl=64


time=1.83 ms

64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=2 ttl=64


time=0.987 ms

64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=3 ttl=64


time=0.864 ms

64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=4 ttl=64


time=0.890 ms

2. Close the Bastion connection to VM1.

3. Repeat the steps in Connect to a virtual machine to connect to VM2.

4. At the bash prompt for vm-2, enter ping -c 4 vm-1 .

You get a reply similar to the following message:

Output

azureuser@vm-2:~$ ping -c 4 vm-1

PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net
(10.0.0.4) 56(84) bytes of data.

64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64


time=0.695 ms

64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64


time=0.896 ms

64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64


time=3.43 ms

64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64


time=0.780 ms

5. Close the Bastion connection to VM2.

Clean up resources
When you're done with the virtual network and the VMs, use Remove-AzResourceGroup
to remove the resource group and all its resources.

Azure PowerShell

Remove-AzResourceGroup -Name 'test-rg' -Force

Next steps
In this quickstart, you created a virtual network with a default subnet that contains two
VMs. You deployed Azure Bastion and used it to connect to the VMs, and securely
communicated between the VMs. To learn more about virtual network settings, see
Create, change, or delete a virtual network.

Private communication between VMs in a virtual network is unrestricted. Continue to the


next article to learn more about configuring different types of VM network
communications.

Filter network traffic


Create a storage account
Article • 05/02/2023

An Azure storage account contains all of your Azure Storage data objects: blobs, files,
queues, and tables. The storage account provides a unique namespace for your Azure
Storage data that is accessible from anywhere in the world over HTTP or HTTPS. For
more information about Azure storage accounts, see Storage account overview.

In this how-to article, you learn to create a storage account using the Azure portal ,
Azure PowerShell, Azure CLI, or an Azure Resource Manager template.

Prerequisites
If you don't have an Azure subscription, create a free account before you begin.

PowerShell

To create an Azure storage account with PowerShell, make sure you have installed
the latest Azure Az PowerShell module . See Install the Azure PowerShell module.

Next, sign in to Azure.

PowerShell

Sign in to your Azure subscription with the Connect-AzAccount command and follow
the on-screen directions to authenticate.

PowerShell

Connect-AzAccount

Create a storage account


A storage account is an Azure Resource Manager resource. Resource Manager is the
deployment and management service for Azure. For more information, see Azure
Resource Manager overview.

Every Resource Manager resource, including an Azure storage account, must belong to
an Azure resource group. A resource group is a logical container for grouping your
Azure services. When you create a storage account, you have the option to either create
a new resource group, or use an existing resource group. This how-to shows how to
create a new resource group.

PowerShell

To create a general-purpose v2 storage account with PowerShell, first create a new


resource group by calling the New-AzResourceGroup command:

Azure PowerShell

$resourceGroup = "<resource-group>"

$location = "<location>"

New-AzResourceGroup -Name $resourceGroup -Location $location

If you're not sure which region to specify for the -Location parameter, you can
retrieve a list of supported regions for your subscription with the Get-AzLocation
command:

Azure PowerShell

Get-AzLocation | select Location

Next, create a standard general-purpose v2 storage account with read-access geo-


redundant storage (RA-GRS) by using the New-AzStorageAccount command.
Remember that the name of your storage account must be unique across Azure, so
replace the placeholder value in brackets with your own unique value:

Azure PowerShell

New-AzStorageAccount -ResourceGroupName $resourceGroup `


-Name <account-name> `

-Location $location `
-SkuName Standard_RAGRS `

-Kind StorageV2

To create an account with Azure DNS zone endpoints (preview), follow these steps:

1. Register for the preview as described in Azure DNS zone endpoints (preview).

2. Make sure you have the latest version of PowerShellGet installed.

Azure PowerShell

Install-Module PowerShellGet –Repository PSGallery –Force

3. Close and reopen the PowerShell console.

4. Install version 4.4.2-preview or later of the Az.Storage PowerShell module.


You may need to uninstall other versions of the PowerShell module. For more
information about installing Azure PowerShell, see Install Azure PowerShell
with PowerShellGet.

Azure PowerShell

Install-Module Az.Storage -Repository PsGallery -RequiredVersion


4.4.2-preview -AllowClobber -AllowPrerelease -Force

Next, create the account, specifying AzureDnsZone for the -DnsEndpointType


parameter. After the account is created, you can see the service endpoints by
getting the PrimaryEndpoints and SecondaryEndpoints properties for the storage
account.

Azure PowerShell

$rgName = "<resource-group>"

$accountName = "<storage-account>"

$account = New-AzStorageAccount -ResourceGroupName $rgName `

-Name $accountName `

-SkuName Standard_RAGRS `

-Location <location> `

-Kind StorageV2 `

-DnsEndpointType AzureDnsZone

$account.PrimaryEndpoints

$account.SecondaryEndpoints

To enable a hierarchical namespace for the storage account to use Azure Data Lake
Storage , set the EnableHierarchicalNamespace parameter to $True on the call to
the New-AzStorageAccount command.

The following table shows which values to use for the SkuName and Kind
parameters to create a particular type of storage account with the desired
redundancy configuration.

Type of Supported Supported Supported values for the Supports


storage redundancy values for the SkuName parameter hierarchical
account configurations Kind parameter namespace
Type of Supported Supported Supported values for the Supports
storage redundancy values for the SkuName parameter hierarchical
account configurations Kind parameter namespace

Standard LRS / GRS / StorageV2 Standard_LRS / Yes


general- RA-GRS / ZRS / Standard_GRS /
purpose GZRS / RA- Standard_RAGRS/
v2 GZRS Standard_ZRS /
Standard_GZRS /
Standard_RAGZRS

Premium LRS / ZRS BlockBlobStorage Premium_LRS / Yes


block Premium_ZRS
blobs

Premium LRS / ZRS FileStorage Premium_LRS / No


file shares Premium_ZRS

Premium LRS StorageV2 Premium_LRS No


page
blobs

Legacy LRS / GRS / Storage Standard_LRS / No


standard RA-GRS Standard_GRS /
general- Standard_RAGRS
purpose
v1

Legacy LRS / GRS / BlobStorage Standard_LRS / No


blob RA-GRS Standard_GRS /
storage Standard_RAGRS

Delete a storage account


Deleting a storage account deletes the entire account, including all data in the account.
Be sure to back up any data you want to save before you delete the account.

Under certain circumstances, a deleted storage account may be recovered, but recovery
is not guaranteed. For more information, see Recover a deleted storage account.

If you try to delete a storage account associated with an Azure virtual machine, you may
get an error about the storage account still being in use. For help troubleshooting this
error, see Troubleshoot errors when you delete storage accounts.

PowerShell
To delete the storage account, use the Remove-AzStorageAccount command:

PowerShell

Remove-AzStorageAccount -Name <storage-account> -ResourceGroupName


<resource-group>

Alternately, you can delete the resource group, which deletes the storage account and
any other resources in that resource group. For more information about deleting a
resource group, see Delete resource group and resources.

Next steps
Storage account overview
Upgrade to a general-purpose v2 storage account
Move a storage account to another region
Recover a deleted storage account
Migrate a classic storage account
Configure a Log Analytics workspace in Azure Monitor
using PowerShell
Article • 07/02/2023

The following sample script configures the workspace to collect multiple types of logs from virtual machines by using the
Log Analytics agent.

This script performs the following functions:

1. Create a workspace.
2. Enable collection of IIS logs from computers with the Windows agent installed.
3. Collect Logical Disk perf counters from Linux computers (% Used Inodes; Free Megabytes; % Used Space; Disk
Transfers/sec; Disk Reads/sec; Disk Writes/sec).
4. Collect Syslog events from Linux computers.
5. Collect Error and Warning events from the Application Event Log from Windows computers.
6. Collect Memory Available Mbytes performance counter from Windows computers.
7. Collect a custom log.

PowerShell

$ResourceGroup = "my-resource-group"

$WorkspaceName = "log-analytics-" + (Get-Random -Maximum 99999) # workspace names need to be unique in


resource group - Get-Random helps with this for the example code

$Location = "westeurope"

# Create the resource group if needed

try {

Get-AzResourceGroup -Name $ResourceGroup -ErrorAction Stop

} catch {

New-AzResourceGroup -Name $ResourceGroup -Location $Location

# Create the workspace

New-AzOperationalInsightsWorkspace -Location $Location -Name $WorkspaceName -Sku PerGB2018 -


ResourceGroupName $ResourceGroup

# Enable IIS Log Collection using agent

Enable-AzOperationalInsightsIISLogCollection -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName

# Linux Perf

New-AzOperationalInsightsLinuxPerformanceObjectDataSource -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName -ObjectName "Logical Disk" -InstanceName "*" -CounterNames @("% Used Inodes", "Free
Megabytes", "% Used Space", "Disk Transfers/sec", "Disk Reads/sec", "Disk Writes/sec") -IntervalSeconds 20
-Name "Example Linux Disk Performance Counters"

Enable-AzOperationalInsightsLinuxPerformanceCollection -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName

# Linux Syslog

New-AzOperationalInsightsLinuxSyslogDataSource -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName -Facility "kern" -CollectEmergency -CollectAlert -CollectCritical -CollectError -
CollectWarning -Name "Example kernel syslog collection"

Enable-AzOperationalInsightsLinuxSyslogCollection -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName

# Windows Event

New-AzOperationalInsightsWindowsEventDataSource -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName -EventLogName "Application" -CollectErrors -CollectWarnings -Name "Example Application Event
Log"

# Windows Perf

New-AzOperationalInsightsWindowsPerformanceCounterDataSource -ResourceGroupName $ResourceGroup -


WorkspaceName $WorkspaceName -ObjectName "Memory" -InstanceName "*" -CounterName "Available MBytes" -
IntervalSeconds 20 -Name "Example Windows Performance Counter"

# Custom Logs

New-AzOperationalInsightsCustomLogDataSource -ResourceGroupName $ResourceGroup -WorkspaceName


$WorkspaceName -CustomLogRawJson "$CustomLog" -Name "Example Custom Log Collection"

7 Note

The format for the CustomLogRawJson parameter that defines the configuration for a custom log can be complex. Use
Get-AzOperationalInsightsDataSource to retrieve the configuration for an existing custom log. The Properties
property is the configuration required for the CustomLogRawJson parameter.

In the preceding example, regexDelimiter was defined as \\n for newline. The log delimiter might also be a timestamp.
The following table lists the formats that are supported.

Format JSON RegEx format uses two \\ for every \ in a standard RegEx, so if testing in a RegEx app, reduce \\ to \

YYYY-MM-DD HH:MM:SS ((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]

M/D/YYYY HH:MM:SS (([0-1]\\d)|[0-9])/(([0-3]\\d)|(\\d))/((\\d{2})|(\\d{4}))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-


AM/PM 9]\\s(AM|PM|am|pm)

dd/MMM/yyyy (([0-2][1-9]|[3][0-
HH:MM:SS 1])\\/(Jan|Feb|Mar|May|Apr|Jul|Jun|Aug|Oct|Sep|Nov|Dec|jan|feb|mar|may|apr|jul|jun|aug|oct|sep|nov|dec)\\/((19|20)
[0-9][0-9]))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9])

MMM dd yyyy (((?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?


HH:MM:SS |Sept|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)).*?((?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d]).*?((?:(?:[1]
{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d]).*?((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::
[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?))

yyMMdd HH:mm:ss ([0-9]{2}([0][1-9]|[1][0-2])([0-2][0-9]|[3][0-1])\\s\\s?([0-1]?[0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9])

ddMMyy HH:mm:ss (([0-2][0-9]|[3][0-1])([0][1-9]|[1][0-2])[0-9]{2}\\s\\s?([0-1]?[0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9])

MMM d HH:mm:ss (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s\\s?([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0-1]?[0-9]|[2][0-3]):


([0-5][0-9]):([0-5][0-9])

MMM d HH:mm:ss
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s\\s([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0][0-9]|[1][0-2]):([0-
two spaces after 5][0-9]):([0-5][0-9])
MMM

MMM d HH:mm:ss (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0][0-9]|[1][0-2]):([0-5]


[0-9]):([0-5][0-9])

dd/MMM/yyyy:HH:mm:ss (([0-2][1-9]|[3][0-1])\\/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\/((19|20)[0-9][0-9]):([0][0-9]|[1][0-
+zzzz
2]):([0-5][0-9]):([0-5][0-9])\\s[\\+|\\-][0-9]{4})
where + is + or a -

where zzzz time


offset

yyyy-MM-ddTHH:mm:ss
((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))T((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]
The T is a literal letter
T

Troubleshooting
When you create a workspace that was deleted in the last 14 days and is in a soft-delete state, the operation could have a
different outcome depending on your workspace configuration. For example:

If you provide the same workspace name, resource group, subscription, and region as in the deleted workspace, your
workspace will be recovered. The recovered workspace includes data, configuration, and connected agents.
A workspace name must be unique per resource group. If you use a workspace name that already exists and is also in
soft delete in your resource group, you'll get an error. The error will state "The workspace name 'workspace-name' is
not unique" or "conflict." To override the soft delete, permanently delete your workspace, and create a new
workspace with the same name, follow these steps to recover the workspace first and then perform a permanent
delete:
Recover your workspace.
Permanently delete your workspace.
Create a new workspace by using the same workspace name.

Next steps
Review Log Analytics PowerShell cmdlets for more information on using PowerShell for configuration of Log Analytics.
Tutorial: Deploy an Azure Kubernetes
Service (AKS) cluster
Article • 03/16/2023

Kubernetes provides a distributed platform for containerized applications. With AKS, you
can quickly create a production ready Kubernetes cluster. In this tutorial, part three of
seven, you deploy a Kubernetes cluster in AKS. You learn how to:

Deploy a Kubernetes AKS cluster that can authenticate to an Azure Container


Registry (ACR).
Install the Kubernetes CLI, kubectl .
Configure kubectl to connect to your AKS cluster.

In later tutorials, you'll deploy the Azure Vote application to your AKS cluster and scale
and update your application.

Before you begin


In previous tutorials, you created a container image and uploaded it to an ACR instance.
If you haven't done these steps and would like to follow along, start with Tutorial 1:
Prepare an application for AKS.

If you're using Azure CLI, this tutorial requires that you're running the Azure CLI
version 2.0.53 or later. Run az --version to find the version. If you need to install
or upgrade, see Install Azure CLI.
If you're using Azure PowerShell, this tutorial requires that you're running Azure
PowerShell version 5.9.0 or later. Run Get-InstalledModule -Name Az to find the
version. If you need to install or upgrade, see Install Azure PowerShell.

Create a Kubernetes cluster


AKS clusters can use Kubernetes role-based access control (Kubernetes RBAC) , which
allows you to define access to resources based on roles assigned to users. If a user is
assigned multiple roles, permissions are combined. Permissions can be scoped to either
a single namespace or across the whole cluster.

To learn more about AKS and Kubernetes RBAC, see Control access to cluster resources
using Kubernetes RBAC and Azure Active Directory identities in AKS.
Azure PowerShell

Create an AKS cluster using New-AzAksCluster. The following example creates a


cluster named myAKSCluster in the resource group named myResourceGroup. This
resource group was created in the previous tutorial in the eastus region. The AKS
cluster will also be created in the eastus region.

For more information about AKS resource limits and region availability, see Quotas,
virtual machine size restrictions, and region availability in AKS.

To allow an AKS cluster to interact with other Azure resources, a cluster identity is
automatically created. In this example, the cluster identity is granted the right to
pull images from the ACR instance you created in the previous tutorial. To execute
the command successfully, you're required to have an Owner or Azure account
administrator role in your Azure subscription.

Azure PowerShell

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -


NodeCount 2 -GenerateSshKey -AcrNameToAttach <acrName>

To avoid needing an Owner or Azure account administrator role, you can also manually
configure a service principal to pull images from ACR. For more information, see ACR
authentication with service principals or Authenticate from Kubernetes with a pull secret.
Alternatively, you can use a managed identity instead of a service principal for easier
management.

After a few minutes, the deployment completes and returns JSON-formatted


information about the AKS deployment.

7 Note

To ensure your cluster operates reliably, you should run at least two nodes.

Install the Kubernetes CLI


Use the Kubernetes CLI, kubectl , to connect to the Kubernetes cluster from your local
computer.

Azure PowerShell
If you use the Azure Cloud Shell, kubectl is already installed. You can also install it
locally using the Install-AzAksKubectl cmdlet.

Azure PowerShell

Install-AzAksKubectl

Connect to cluster using kubectl


Azure PowerShell

To configure kubectl to connect to your Kubernetes cluster, use the Import-


AzAksCredential cmdlet. The following example gets credentials for the AKS cluster
named myAKSCluster in myResourceGroup.

Azure PowerShell

Import-AzAksCredential -ResourceGroupName myResourceGroup -Name


myAKSCluster

To verify connection to your cluster, run kubectl get nodes to return a list of cluster
nodes.

Azure CLI

kubectl get nodes

The following example output shows the list of cluster nodes.

$ kubectl get nodes

NAME STATUS ROLES AGE VERSION

aks-nodepool1-19366578-vmss000002 Ready agent 47h v1.25.6

aks-nodepool1-19366578-vmss000003 Ready agent 47h v1.25.6

Next steps
In this tutorial, you deployed a Kubernetes cluster in AKS and configured kubectl to
connect to the cluster. You learned how to:

" Deploy an AKS cluster that can authenticate to an ACR.


" Install the Kubernetes CLI, kubectl .
" Configure kubectl to connect to your AKS cluster.

In the next tutorial, you'll learn how to deploy an application to your cluster.

Deploy an application in AKS


Quickstart: Create a private container
registry using Azure PowerShell
Article • 05/11/2023

Azure Container Registry is a private registry service for building, storing, and managing
container images and related artifacts. In this quickstart, you create an Azure container
registry instance with Azure PowerShell. Then, use Docker commands to push a
container image into the registry, and finally pull and run the image from your registry.

Prerequisites

7 Note

We recommend that you use the Azure Az PowerShell module to interact with
Azure. See Install Azure PowerShell to get started. To learn how to migrate to the
Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

This quickstart requires Azure PowerShell module. Run Get-Module -ListAvailable Az to


determine your installed version. If you need to install or upgrade, see Install Azure
PowerShell module.

You must also have Docker installed locally. Docker provides packages for macOS ,
Windows , and Linux systems.

Because the Azure Cloud Shell doesn't include all required Docker components (the
dockerd daemon), you can't use the Cloud Shell for this quickstart.

Sign in to Azure
Sign in to your Azure subscription with the Connect-AzAccount command, and follow
the on-screen directions.

PowerShell

Connect-AzAccount

Create resource group


Once you're authenticated with Azure, create a resource group with New-
AzResourceGroup. A resource group is a logical container in which you deploy and
manage your Azure resources.

PowerShell

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Create container registry


Next, create a container registry in your new resource group with the New-
AzContainerRegistry command.

The registry name must be unique within Azure, and contain 5-50 alphanumeric
characters. The following example creates a registry named "mycontainerregistry."
Replace mycontainerregistry in the following command, then run it to create the registry:

PowerShell

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -


Name "mycontainerregistry" -EnableAdminUser -Sku Basic

 Tip

In this quickstart, you create a Basic registry, which is a cost-optimized option for
developers learning about Azure Container Registry. Choose other tiers for
increased storage and image throughput, and capabilities such as connection using
a private endpoint. For details on available service tiers (SKUs), see Container
registry service tiers.

Log in to registry
Before pushing and pulling container images, you must log in to your registry with the
Connect-AzContainerRegistry cmdlet. The following example uses the same credentials
you logged in with when authenticating to Azure with the Connect-AzAccount cmdlet.

7 Note

In the following example, the value of $registry.Name is the resource name, not the
fully qualified registry name.
PowerShell

Connect-AzContainerRegistry -Name $registry.Name

The command returns Login Succeeded once completed.

Push image to registry


To push an image to an Azure Container registry, you must first have an image. If you
don't yet have any local container images, run the following docker pull command to
pull an existing public image. For this example, pull the hello-world image from
Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Before you can push an image to your registry, you must tag it with the fully qualified
name of your registry login server. The login server name is in the format <registry-
name>.azurecr.io (must be all lowercase), for example, mycontainerregistry.azurecr.io.

Tag the image using the docker tag command. Replace <login-server> with the login
server name of your ACR instance.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Example:

docker tag mcr.microsoft.com/hello-world


mycontainerregistry.azurecr.io/hello-world:v1

Finally, use docker push to push the image to the registry instance. Replace <login-
server> with the login server name of your registry instance. This example creates the

hello-world repository, containing the hello-world:v1 image.


docker push <login-server>/hello-world:v1

After pushing the image to your container registry, remove the hello-world:v1 image
from your local Docker environment. (Note that this docker rmi command does not
remove the image from the hello-world repository in your Azure container registry.)

docker rmi <login-server>/hello-world:v1

Run image from registry


Now, you can pull and run the hello-world:v1 container image from your container
registry by using docker run :

docker run <login-server>/hello-world:v1

Example output:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally

v1: Pulling from hello-world

Digest:
sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345

Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-


world:v1

Hello from Docker!

This message shows that your installation appears to be working correctly.

[...]

Clean up resources
Once you're done working with the resources you created in this quickstart, use the
Remove-AzResourceGroup command to remove the resource group, the container
registry, and the container images stored there:

PowerShell
Remove-AzResourceGroup -Name myResourceGroup

Next steps
In this quickstart, you created an Azure Container Registry with Azure PowerShell,
pushed a container image, and pulled and ran the image from the registry. Continue to
the Azure Container Registry tutorials for a deeper look at ACR.

Azure Container Registry tutorials

Azure Container Registry Tasks tutorials


Quickstart: Deploy a container instance
in Azure using Azure PowerShell
Article • 05/11/2023

Use Azure Container Instances to run serverless Docker containers in Azure with
simplicity and speed. Deploy an application to a container instance on-demand when
you don't need a full container orchestration platform like Azure Kubernetes Service.

In this quickstart, you use Azure PowerShell to deploy an isolated Windows container
and make its application available with a fully qualified domain name (FQDN). A few
seconds after you execute a single deployment command, you can browse to the
application running in the container:

If you don't have an Azure subscription, create a free account before you begin.

7 Note

We recommend that you use the Azure Az PowerShell module to interact with
Azure. See Install Azure PowerShell to get started. To learn how to migrate to the
Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
Azure Cloud Shell
Azure hosts Azure Cloud Shell, an interactive shell environment that you can use
through your browser. You can use either Bash or PowerShell with Cloud Shell to work
with Azure services. You can use the Cloud Shell preinstalled commands to run the code
in this article, without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link

Select Try It in the upper-right corner of a code or command block.


Selecting Try It doesn't automatically copy the code or command to
Cloud Shell.

Go to https://shell.azure.com , or select the Launch Cloud Shell


button to open Cloud Shell in your browser.

Select the Cloud Shell button on the menu bar at the upper right in
the Azure portal .

To use Azure Cloud Shell:

1. Start Cloud Shell.

2. Select the Copy button on a code block (or command block) to copy the code or
command.

3. Paste the code or command into the Cloud Shell session by selecting Ctrl+Shift+V
on Windows and Linux, or by selecting Cmd+Shift+V on macOS.

4. Select Enter to run the code or command.

If you choose to install and use the PowerShell locally, this tutorial requires the Azure
PowerShell module. Run Get-Module -ListAvailable Az to find the version. If you need
to upgrade, see Install Azure PowerShell module. If you are running PowerShell locally,
you also need to run Connect-AzAccount to create a connection with Azure.

Create a resource group


Azure container instances, like all Azure resources, must be deployed into a resource
group. Resource groups allow you to organize and manage related Azure resources.

First, create a resource group named myResourceGroup in the eastus location with the
following New-AzResourceGroup command:
Azure PowerShell

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Create a container
Now that you have a resource group, you can run a container in Azure. To create a
container instance with Azure PowerShell, provide a resource group name, container
instance name, and Docker container image to the New-AzContainerGroup cmdlet. In
this quickstart, you use the public
mcr.microsoft.com/windows/servercore/iis:nanoserver image. This image packages
Microsoft Internet Information Services (IIS) to run in Nano Server.

You can expose your containers to the internet by specifying one or more ports to open,
a DNS name label, or both. In this quickstart, you deploy a container with a DNS name
label so that IIS is publicly reachable.

Execute a command similar to the following to start a container instance. Set a -


DnsNameLabel value that's unique within the Azure region where you create the instance.

If you receive a "DNS name label not available" error message, try a different DNS name
label.

Azure PowerShell

New-AzContainerGroup -ResourceGroupName myResourceGroup -Name mycontainer -


Image mcr.microsoft.com/windows/servercore/iis:nanoserver -OsType Windows -
DnsNameLabel aci-demo-win

Within a few seconds, you should receive a response from Azure. The container's
ProvisioningState is initially Creating, but should move to Succeeded within a minute
or two. Check the deployment state with the Get-AzContainerGroup cmdlet:

Azure PowerShell

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name mycontainer

The container's provisioning state, fully qualified domain name (FQDN), and IP address
appear in the cmdlet's output:

Console
PS Azure:\> Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name
mycontainer

ResourceGroupName : myResourceGroup

Id : /subscriptions/<Subscription
ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/con
tainerGroups/mycontainer

Name : mycontainer

Type : Microsoft.ContainerInstance/containerGroups

Location : eastus
Tags :

ProvisioningState : Creating

Containers : {mycontainer}

ImageRegistryCredentials :

RestartPolicy : Always
IpAddress : 52.226.19.87

DnsNameLabel : aci-demo-win

Fqdn : aci-demo-win.eastus.azurecontainer.io

Ports : {80}

OsType : Windows

Volumes :

State : Pending

Events : {}

Once the container's ProvisioningState is Succeeded, navigate to its Fqdn in your


browser. If you see a web page similar to the following, congratulations! You've
successfully deployed an application running in a Docker container to Azure.
Clean up resources
When you're done with the container, remove it with the Remove-AzContainerGroup
cmdlet:

Azure PowerShell

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name mycontainer

Next steps
In this quickstart, you created an Azure container instance from an image in the public
Docker Hub registry. If you'd like to build a container image and deploy it from a private
Azure container registry, continue to the Azure Container Instances tutorial.

Azure Container Instances tutorial


Quickstart: Set and retrieve a secret
from Azure Key Vault using PowerShell
Article • 05/11/2023

Azure Key Vault is a cloud service that works as a secure secrets store. You can securely
store keys, passwords, certificates, and other secrets. For more information on Key Vault,
you may review the Overview. In this quickstart, you use PowerShell to create a key
vault. You then store a secret in the newly created vault.

If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell


Azure hosts Azure Cloud Shell, an interactive shell environment that you can use
through your browser. You can use either Bash or PowerShell with Cloud Shell to work
with Azure services. You can use the Cloud Shell preinstalled commands to run the code
in this article, without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link

Select Try It in the upper-right corner of a code or command block.


Selecting Try It doesn't automatically copy the code or command to
Cloud Shell.

Go to https://shell.azure.com , or select the Launch Cloud Shell


button to open Cloud Shell in your browser.

Select the Cloud Shell button on the menu bar at the upper right in
the Azure portal .

To use Azure Cloud Shell:

1. Start Cloud Shell.

2. Select the Copy button on a code block (or command block) to copy the code or
command.

3. Paste the code or command into the Cloud Shell session by selecting Ctrl+Shift+V
on Windows and Linux, or by selecting Cmd+Shift+V on macOS.

4. Select Enter to run the code or command.


If you choose to install and use PowerShell locally, this tutorial requires Azure
PowerShell module version 5.0.0 or later. Type Get-Module az -ListAvailable to find the
version. If you need to upgrade, see Install Azure PowerShell module. If you are running
PowerShell locally, you also need to run Connect-AzAccount to create a connection with
Azure.

Azure PowerShell

Connect-AzAccount

Create a resource group


A resource group is a logical container into which Azure resources are deployed and
managed. Use the Azure PowerShell New-AzResourceGroup cmdlet to create a resource
group named myResourceGroup in the eastus location.

Azure PowerShell

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Create a key vault


Use the Azure PowerShell New-AzKeyVault cmdlet to create a Key Vault in the resource
group from the previous step. You will need to provide some information:

Key vault name: A string of 3 to 24 characters that can contain only numbers (0-9),
letters (a-z, A-Z), and hyphens (-)

) Important

Each key vault must have a unique name. Replace <your-unique-keyvault-


name> with the name of your key vault in the following examples.

Resource group name: myResourceGroup.

The location: EastUS.

Azure PowerShell

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName


"myResourceGroup" -Location "EastUS"

The output of this cmdlet shows properties of the newly created key vault. Take note of
the two properties listed below:

Vault Name: The name you provided to the -Name parameter above.
Vault URI: In the example, this is https://<your-unique-keyvault-
name>.vault.azure.net/. Applications that use your vault through its REST API must
use this URI.

At this point, your Azure account is the only one authorized to perform any operations
on this new vault.

Give your user account permissions to manage


secrets in Key Vault
Use the Azure PowerShell Set-AzKeyVaultAccessPolicy cmdlet to update the Key Vault
access policy and grant secret permissions to your user account.

Azure PowerShell

Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -


UserPrincipalName "[email protected]" -PermissionsToSecrets get,set,delete

Adding a secret to Key Vault


To add a secret to the vault, you just need to take a couple of steps. In this case, you add
a password that could be used by an application. The password is called
ExamplePassword and stores the value of hVFkk965BuUv in it.

First convert the value of hVFkk965BuUv to a secure string by typing:

Azure PowerShell

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

Then, use the Azure PowerShell Set-AzKeyVaultSecret cmdlet to create a secret in Key
Vault called ExamplePassword with the value hVFkk965BuUv :

Azure PowerShell

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -


Name "ExamplePassword" -SecretValue $secretvalue

Retrieve a secret from Key Vault


To view the value contained in the secret as plain text, use the Azure PowerShell Get-
AzKeyVaultSecret cmdlet:

Azure PowerShell

$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -


Name "ExamplePassword" -AsPlainText

Now, you have created a Key Vault, stored a secret, and retrieved it.

Clean up resources
Other quickstarts and tutorials in this collection build upon this quickstart. If you plan to
continue on to work with other quickstarts and tutorials, you may want to leave these
resources in place.

When no longer needed, you can use the Remove-AzResourceGroup command to


remove the resource group, Key Vault, and all related resources.

Azure PowerShell

Remove-AzResourceGroup -Name myResourceGroup

Next steps
In this quickstart you created a Key Vault and stored a secret in it. To learn more about
Key Vault and how to integrate it with your applications, continue on to the articles
below.

Read an Overview of Azure Key Vault


Learn how to store multiline secrets in Key Vault
See the reference for the Azure PowerShell Key Vault cmdlets
Review the Key Vault security overview
Azure AD to Microsoft Graph migration
changes in Azure PowerShell
Article • 07/04/2023

The Az.Resources PowerShell module version 5.1.0 of Azure PowerShell introduces


changes to
the identity-related cmdlets. The cmdlets that rely on Azure AD Graph are
transitioning to Microsoft
Graph. This change is occurring to ensure a smooth transition
in light of the
announcement of the retirement of Azure AD Graph .
For more
information, see
Azure AD to Microsoft Graph migration for Azure command line
tools .

The following example installs the latest version of the Az.Resources Azure PowerShell
module.

PowerShell

Install-Module -Name Az.Resources -Repository PSGallery -Scope CurrentUser

See the following information for a list of changes.

Application

Get-AzAdApplication
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphApplication

Parameter IncludeTotalCount is not supported and has been removed

New-AzAdApplication
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphApplication
Parameter Password has been removed, customized password is not supported
anymore, server
assigns secret text when creation

Remove-AzAdApplication
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphApplication

Update-AzAdApplication
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphApplication

Output type has been changed from


Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to
System.Boolean

Changes to Application Object


ObjectId has been replaced by Id

HomePage has been replaced by HomepageUrl in the Web element

ApplicationId has been replaced by AppId

AvailableToOtherTenants (boolean) has been replaced by SignInAudience (string


with 4 values:
'AzureADMyOrg', 'AzureADMultipleOrgs',
'AzureADandPersonalMicrosoftAccount',
'PersonalMicrosoftAccount')

AzureADMultipleOrgs is equivalent to AvailableToOtherTenants:$true

AzureAdMyOrg is equivalent to AvailableToOtherTenants:$false or $null

ApiPermissions has been replaced by RequiredResourceAccess

ReplyUrls has been replaced by RedirectUris in the Web element

ObjectType has been replaced by OdataType


Application Credential

Get-AzAdAppCredential
Input type of parameter ApplicationObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphApplication

Output type has been changed from Microsoft.Azure.Commands.ActiveDirectory.


PSADCredential to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphKeyCredential
and
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphPasswordCredential

New-AzAdAppCredential
Input type of parameter ApplicationObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphApplication

Output type has been changed from Microsoft.Azure.Commands.ActiveDirectory.


PSADCredential to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphKeyCredential
and

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphPasswordCredential

Parameter Password has been removed, customized password is not supported


anymore, server will
assign secret text when creation

Remove-AzAdAppCredential
Input type of parameter ApplicationObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphApplication
Changes to App Credential Object

Password Credential
Password has been replaced by SecretText

Key Credential
CertValue has been Removed

ServicePrincipal

Get-AzAdServicePrincipal
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal
to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphServicePrincipal

Parameter IncludeTotalCount is not supported and has been removed.

New-AzAdServicePrincipal
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal
to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphServicePrincipal

Parameter set ApplicationWithoutCredentialParameterSet ,


ApplicationWithPasswordPlainParameterSet ,

DisplayNameWithoutCredentialParameterSet ,
DisplayNameWithPasswordPlainParameterSet have been removed because those

original parameter sets


were not functioning.

Role contributor is not assigned as default when parameter -Role is not provided
due to
security consideration.

Parameter SkipAssignment has been removed.


Remove-AzAdServicePrincipal
Input type of parameter ApplicationObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADApplication to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphApplication

Input type of parameter InputObject has been changed from


Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphServicePrincipal

Update-AzAdServicePrincipal
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphServicePrincipal

Output type has been changed from


Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal
to

System.Boolean

Changes to Service Principal Object


ApplicationId has been replaced by AppId

ObjectType has been replaced by OdataType

ServicePrincipal Credential

Get-AzAdSpCredential
Input type of parameter ServicePrincipalObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphServicePrincipal
Output type has been changed from Microsoft.Azure.Commands.ActiveDirectory.
PSADCredential to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphKeyCredential
and
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphPasswordCredential

New-AzAdSpCredential
Input type of parameter ServicePrincipalObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphServicePrincipal

Output type has been changed from Microsoft.Azure.Commands.ActiveDirectory.


PSADCredential to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphKeyCredential
and
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphPasswordCredential

Remove-AzAdSpCredential
Input type of parameter ServicePrincipalObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADServicePrincipal to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphServicePrincipal

Changes to ServicePrincipal Credential Object

Password Credential
Password has been replaced by SecretText

Key Credential
CertValue has been Removed
User

Get-AzAdUser
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADUser to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphUser

Parameter IncludeTotalCount is not supported and has been removed

New-AzAdUser
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADUser to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphUser

Remove-AzAdUser
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADUser to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphUser

Update-AzAdUser
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADUser to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphUser

Output type has been changed from


Microsoft.Azure.Commands.ActiveDirectory.PSADUser to
System.Boolean

Changes to User Object


ObjectType has been replaced by OdataType
ImmutableId has been replaced by OnpremisesImmutableId

Group

Get-AzAdGroup
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphGroup

Parameter IncludeTotalCount is not supported and has been removed

New-AzAdGroup
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphGroup

Remove-AzAdGroup
Input type of parameter InputObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphGroup

Changes of Group Object


ObjectType has been replaced by OdataType

Group member

Get-AzAdGroupMember
Output type has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADObject to
Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphDirectoryObject

Parameter IncludeTotalCount was removed

Input type of parameter GroupObject has been changed from


Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG

raphGroup

) Important

Due to limitations with the current Graph API, service principals are not returned by
Get-AzAdGroupMember in Az 7.x. For a workaround, see
Troubleshooting the Azure

Az PowerShell module.

Add-AzAdGroupMember
Input type of parameter GroupObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphGroup

Remove-AzAdGroupMember
Input type of parameter GroupObject has been changed from
Microsoft.Azure.Commands.ActiveDirectory.PSADGroup to

Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.IMicrosoftG
raphGroup
Migration Guide for Az 10.0.0
Article • 07/04/2023

Az.Cdn

Update-AzFrontDoorCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Update-AzCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Update-AzCdnOriginGroup

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Update-AzCdnOrigin

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Update-AzCdnEndpoint

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Stop-AzCdnEndpoint

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Start-AzCdnEndpoint

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

New-AzFrontDoorCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

New-AzCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.
New-AzCdnOriginGroup

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

New-AzCdnOrigin

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

New-AzCdnEndpoint

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

New-AzCdnCustomDomain

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzFrontDoorCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnSubscriptionResourceUsage

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnProfileResourceUsage

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnProfile

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnOriginGroup

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnOrigin

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnEndpointResourceUsage
The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'
to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnEndpoint

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Get-AzCdnCustomDomain

The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile'


to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

Enable-AzCdnCustomDomainCustomHttps

The cmdlet 'Enable-AzCdnCustomDomainCustomHttps' no longer supports the parameter 'PassThru' and no


alias was found for the original parameter name.

Before

PowerShell

$customDomainHttpsParameter = New-AzCdnManagedHttpsParametersObject -
CertificateSourceParameterCertificateType Dedicated -CertificateSource Cdn -ProtocolType
ServerNameIndication

Enable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -


EndpointName endptest001 -CustomDomainName customdomain001 -CustomDomainHttpsParameter
$customDomainHttpsParameter -PassThru

Output:

True

After

PowerShell

$customDomainHttpsParameter = New-AzCdnManagedHttpsParametersObject -
CertificateSourceParameterCertificateType Dedicated -CertificateSource Cdn -ProtocolType
ServerNameIndication

Enable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -


EndpointName endptest001 -CustomDomainName customdomain001 -CustomDomainHttpsParameter
$customDomainHttpsParameter

Output:

Null

Disable-AzCdnCustomDomainCustomHttps

The cmdlet 'Disable-AzCdnCustomDomainCustomHttps' no longer supports the parameter 'PassThru' and no


alias was found for the original parameter name.

Before

PowerShell
Disable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -
EndpointName endptest001 -CustomDomainName customdomain001 -PassThru

Output:

True

After

PowerShell

Disable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -


EndpointName endptest001 -CustomDomainName customdomain001

OutPut:

Null

Az.Compute

Get-AzVM

The cmdlet 'Get-AzVM' no longer supports the parameter 'NextLink' and no alias was found for the original
parameter name.

Before

PowerShell

Get-AzVM -NextLink $myUri

After

PowerShell

Get-AzVM -ResourceGroupName $rgname -Name $vmName

Az.ContainerRegistry

Update-AzContainerRegistryWebhook

The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookUri' for parameter
'Uri'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookActions' for parameter
'Action'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookHeaders' for
parameter 'Header'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookStatus' for parameter
'Status'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookScope' for parameter
'Scope'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Update-AzContainerRegistryWebhook -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/webhooks/webhook001 -Uri http://www.bing.com -Action Delete,Push -Header
@{SpecialHeader='headerVal'} -Tag @{Key='val'} -Status Enabled -Scope 'foo:*'

After

PowerShell

Update-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"


-Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -
Tag @{Key='val'} -Status Enabled -Scope 'foo:*'

Update-AzContainerRegistryCredential

The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'RegistryName' for parameter
'Name'.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type
'Microsoft.Azure.Management.ContainerRegistry.Models.PasswordName' for parameter 'PasswordName'.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Update-AzContainerRegistryCredential -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry -PasswordName password

After
PowerShell

Update-AzContainerRegistryCredential -ResourceGroupName "MyResourceGroup" -RegistryName


"RegistryExample" -PasswordName Password

Update-AzContainerRegistry

The cmdlet 'Update-AzContainerRegistry' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'EnableAdmin' for parameter
'EnableAdminUser'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'DisableAdminUser' and no alias was
found for the original parameter name.
The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'StorageAccountName' and no alias
was found for the original parameter name.
The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'NetworkRuleSet' and no alias was
found for the original parameter name.
The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'ContainerRegistrySku' for parameter 'Sku'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'RegistrySku' for parameter 'Sku'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found
for the original parameter name.
The cmdlet 'Update-AzContainerRegistry' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Update-AzContainerRegistry -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry -EnableAdmin

After

PowerShell

Update-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -


EnableAdminUser

Test-AzContainerRegistryWebhook

The cmdlet 'Test-AzContainerRegistryWebhook' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryEventInfo'.
The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook' for parameter 'Webhook'.
The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was
found for the original parameter name.
The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Test-AzContainerRegistryWebhook -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/webhooks/webhook001

After

PowerShell

Test-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -


Name "webhook001"

Test-AzContainerRegistryNameAvailability

The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'ContainerRegistryName' for


parameter 'Name'.
The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'RegistryName' for
parameter 'Name'.
The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'ResourceName' for
parameter 'Name'.
The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'AzureRmContext' for
parameter 'DefaultProfile'.

Before

PowerShell

Test-AzContainerRegistryNameAvailability -ContainerRegistryName 'SomeRegistryName'

After

PowerShell

Test-AzContainerRegistryNameAvailability -Name 'SomeRegistryName'

Set-AzContainerRegistryNetworkRuleSet

The cmdlet 'Set-AzContainerRegistryNetworkRuleSet' has been removed and no alias was found for the original
cmdlet name.

Remove-AzContainerRegistryWebhook

The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the parameter 'Webhook' and no alias
was found for the original parameter name.
The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for
parameter 'DefaultProfile'.

Before

PowerShell

Remove-AzContainerRegistryWebhook -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/webhooks/webhook001

After

PowerShell

Remove-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"


-Name "webhook001"

Remove-AzContainerRegistryReplication

The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the parameter 'Replication' and no alias
was found for the original parameter name.
The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for
parameter 'DefaultProfile'.

Before

PowerShell
Remove-AzContainerRegistryReplication -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/replications/westus

After

PowerShell

Remove-AzContainerRegistryReplication -Name "NewReplication" -ResourceGroupName "MyResourceGroup" -


RegistryName "RegistryExample"

Remove-AzContainerRegistry

The cmdlet 'Remove-AzContainerRegistry' no longer supports the parameter 'Registry' and no alias was found
for the original parameter name.
The cmdlet 'Remove-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found
for the original parameter name.
The cmdlet 'Remove-AzContainerRegistry' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Remove-AzContainerRegistry -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry

After

PowerShell

Remove-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"

New-AzContainerRegistryWebhook

The cmdlet 'New-AzContainerRegistryWebhook' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookUri' for parameter 'Uri'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookActions' for parameter
'Action'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookHeaders' for parameter
'Header'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookStatus' for parameter
'Status'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookScope' for parameter
'Scope'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookLocation' for parameter
'Location'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was
found for the original parameter name.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

New-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -


Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -
Tag @{Key="val"} -Location "east us" -Status WebhookStatus -WebhookScope "foo:*"

After

PowerShell

New-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -


Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -
Tag @{Key="val"} -Location "east us" -Status Enabled -Scope "foo:*"

New-AzContainerRegistryReplication

The cmdlet 'New-AzContainerRegistryReplication' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryReplication'.
The cmdlet 'New-AzContainerRegistryReplication' no longer supports the type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
The cmdlet 'New-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'New-AzContainerRegistryReplication' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'New-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

New-AzContainerRegistryReplication -Name replication001 -Location 'west us' -ResourceId


/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry

After

PowerShell

New-AzContainerRegistryReplication -ResourceGroupName "MyResourceGroup" -RegistryName "MyRegistry" -


Name replication001 -Location 'west us'

New-AzContainerRegistryNetworkRule

The cmdlet 'New-AzContainerRegistryNetworkRule' has been removed and no alias was found for the original
cmdlet name.

New-AzContainerRegistry

The cmdlet 'New-AzContainerRegistry' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'ContainerRegistrySku' for parameter 'Sku'.
The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'RegistrySku' for parameter 'Sku'.
The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'EnableAdmin' for parameter
'EnableAdminUser'.
The cmdlet 'New-AzContainerRegistry' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

New-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -


ContainerRegistrySku "Basic" -Location "west us" -EnableAdmin

After

PowerShell

New-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -Sku "Basic" -


Location "west us" -EnableAdminUser

Import-AzContainerRegistryImage

The cmdlet 'Import-AzContainerRegistryImage' no longer supports the type


'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Import-AzContainerRegistryImage' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Import-AzContainerRegistryImage' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Get-AzContainerRegistryWebhookEvent
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer has output type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhookEvent'.
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook' for parameter 'Webhook'.
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the parameter 'ResourceId' and no alias
was found for the original parameter name.
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the alias 'AzureRmContext' for
parameter 'DefaultProfile'.

Before

PowerShell

Get-AzContainerRegistryWebhookEvent -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/webhooks/webhook001

After

PowerShell

Get-AzContainerRegistryWebhookEvent -ResourceGroupName MyResourceGroup -RegistryName RegistryExample -


WebhookName webhook001

Get-AzContainerRegistryWebhook

The cmdlet 'Get-AzContainerRegistryWebhook' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook'.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the parameter 'IncludeConfiguration' and no
alias was found for the original parameter name.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was
found for the original parameter name.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Get-AzContainerRegistryWebhook -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/webhooks/webhook001

After

PowerShell

Get-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -


Name "webhook001"

Get-AzContainerRegistryUsage

The cmdlet 'Get-AzContainerRegistryUsage' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.Models.PSRegistryUsage'.
The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'RegistryName' for parameter 'Name'.
The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Get-AzContainerRegistryUsage -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry

After

PowerShell

Get-AzContainerRegistryUsage -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"

Get-AzContainerRegistryReplication

The cmdlet 'Get-AzContainerRegistryReplication' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryReplication'.
The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias was
found for the original parameter name.
The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before
PowerShell

Get-AzContainerRegistryReplication -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry/replications/westus

After

PowerShell

Get-AzContainerRegistryReplication -ResourceGroupName "MyResourceGroup" -RegistryName


"RegistryExample"

Get-AzContainerRegistryCredential

The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'ContainerRegistryName' for


parameter 'Name'.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'RegistryName' for parameter
'Name'.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'ResourceName' for parameter
'Name'.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the parameter 'ResourceId' and no alias was
found for the original parameter name.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Get-AzContainerRegistryCredential -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry

After

PowerShell

Get-AzContainerRegistryCredential -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"

Get-AzContainerRegistry

The cmdlet 'Get-AzContainerRegistry' no longer has output type


'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
The cmdlet 'Get-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found for
the original parameter name.
The cmdlet 'Get-AzContainerRegistry' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Get-AzContainerRegistry -ResourceId
/subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/re
gistries/MyRegistry

After

PowerShell

Get-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"

Az.DataProtection

Initialize-AzDataProtectionBackupInstance

The parameter 'BackupConfiguration' is changed from


'Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202301.KubernetesClusterBackupDatasourceParameters'
to its base class type
'Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202301.IBackupDatasourceParameters'. The
usage remains unchanged.

Az.DesktopVirtualization

Update-AzWvdScalingPlan

The cmdlet 'Update-AzWvdScalingPlan' no longer supports the parameter 'HostPoolType' and no alias was found
for the original parameter name.

Before

PowerShell

Update-AzWvdScalingPlan `

-ResourceGroupName ResourceGroupName `

-Name 'scalingPlan1' `

-Description 'Description' `

-FriendlyName 'Friendly Name' `

-HostPoolType 'Pooled' `

-TimeZone '(UTC-08:00) Pacific Time (US & Canada)' `

-Schedule @(

@{

'name' = 'Work Week';

'daysOfWeek' = @('Monday', 'Tuesday', 'Wednesday', 'Thursday',


'Friday');

'rampUpStartTime' = '1900-01-01T06:00:00Z';

'rampUpLoadBalancingAlgorithm' = 'BreadthFirst';

'rampUpMinimumHostsPct' = 20;

'rampUpCapacityThresholdPct' = 20;

'peakStartTime' = '1900-01-01T08:00:00Z';

'peakLoadBalancingAlgorithm' = 'DepthFirst';

'RampDownStartTime' = '1900-01-01T18:00:00Z';

'rampDownLoadBalancingAlgorithm' = 'BreadthFirst';

'rampDownMinimumHostsPct' = 20;

'rampDownCapacityThresholdPct' = 20;

'rampDownForceLogoffUser' = $true;

'rampDownWaitTimeMinute' = 30;

'rampDownNotificationMessage' = 'Log out now, please.';

'rampDownStopHostsWhen' = 'ZeroSessions';

'offPeakStartTime' = '1900-01-01T20:00:00Z';

'offPeakLoadBalancingAlgorithm' = 'DepthFirst';

) `

-HostPoolReference @(

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName1';

'scalingPlanEnabled' = $false;

},

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName2';

'scalingPlanEnabled' = $false;

After

PowerShell

Update-AzWvdScalingPlan `

-ResourceGroupName ResourceGroupName `

-Name 'scalingPlan1' `

-Description 'Description' `

-FriendlyName 'Friendly Name' `

-TimeZone '(UTC-08:00) Pacific Time (US & Canada)' `

-Schedule @(

@{

'name' = 'Work Week';

'daysOfWeek' = @('Monday', 'Tuesday', 'Wednesday', 'Thursday',


'Friday');

'rampUpStartTime' = '1900-01-01T06:00:00Z';

'rampUpLoadBalancingAlgorithm' = 'BreadthFirst';

'rampUpMinimumHostsPct' = 20;

'rampUpCapacityThresholdPct' = 20;

'peakStartTime' = '1900-01-01T08:00:00Z';

'peakLoadBalancingAlgorithm' = 'DepthFirst';

'RampDownStartTime' = '1900-01-01T18:00:00Z';

'rampDownLoadBalancingAlgorithm' = 'BreadthFirst';

'rampDownMinimumHostsPct' = 20;

'rampDownCapacityThresholdPct' = 20;

'rampDownForceLogoffUser' = $true;

'rampDownWaitTimeMinute' = 30;

'rampDownNotificationMessage' = 'Log out now, please.';

'rampDownStopHostsWhen' = 'ZeroSessions';

'offPeakStartTime' = '1900-01-01T20:00:00Z';

'offPeakLoadBalancingAlgorithm' = 'DepthFirst';

) `

-HostPoolReference @(

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName1';

'scalingPlanEnabled' = $false;

},

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName2';

'scalingPlanEnabled' = $false;

General

We upgraded the API version of the Az.DesktopVirtualization module from 2021-07-12 to 2022-09-09. It caused
breaking changes as we include the version in the namespace of the models, for example,
'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210712.IHostPool'. If your script depends on
the namespace, please replace "Api20210712" with "Api202209".

New-AzWvdScalingPlan

The cmdlet 'New-AzWvdScalingPlan' no longer supports the type


'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Support.HostPoolType' for parameter 'HostPoolType'.

Before

PowerShell

New-AzWvdScalingPlan `

-ResourceGroupName ResourceGroupName `

-Name 'scalingPlan1' `

-Location 'westcentralus' `

-Description 'Description' `

-FriendlyName 'Friendly Name' `

-HostPoolType 'Pooled' `

-TimeZone '(UTC-08:00) Pacific Time (US & Canada)' `

-Schedule @(

@{

'name' = 'Work Week';

'daysOfWeek' = @('Monday', 'Tuesday', 'Wednesday', 'Thursday',


'Friday');

'rampUpStartTime' = '1900-01-01T06:00:00Z';

'rampUpLoadBalancingAlgorithm' = 'BreadthFirst';

'rampUpMinimumHostsPct' = 20;

'rampUpCapacityThresholdPct' = 20;

'peakStartTime' = '1900-01-01T08:00:00Z';

'peakLoadBalancingAlgorithm' = 'DepthFirst';

'RampDownStartTime' = '1900-01-01T18:00:00Z';

'rampDownLoadBalancingAlgorithm' = 'BreadthFirst';

'rampDownMinimumHostsPct' = 20;

'rampDownCapacityThresholdPct' = 20;

'rampDownForceLogoffUser' = $true;

'rampDownWaitTimeMinute' = 30;

'rampDownNotificationMessage' = 'Log out now, please.';

'rampDownStopHostsWhen' = 'ZeroSessions';

'offPeakStartTime' = '1900-01-01T20:00:00Z';

'offPeakLoadBalancingAlgorithm' = 'DepthFirst';

) `

-HostPoolReference @(

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName';

'scalingPlanEnabled' = $false;

After

PowerShell

New-AzWvdScalingPlan `

-ResourceGroupName ResourceGroupName `

-Name 'scalingPlan1' `

-Location 'westcentralus' `

-Description 'Description' `

-FriendlyName 'Friendly Name' `

-TimeZone '(UTC-08:00) Pacific Time (US & Canada)' `

-Schedule @(

@{

'name' = 'Work Week';

'daysOfWeek' = @('Monday', 'Tuesday', 'Wednesday', 'Thursday',


'Friday');

'rampUpStartTime' = '1900-01-01T06:00:00Z';

'rampUpLoadBalancingAlgorithm' = 'BreadthFirst';

'rampUpMinimumHostsPct' = 20;

'rampUpCapacityThresholdPct' = 20;

'peakStartTime' = '1900-01-01T08:00:00Z';

'peakLoadBalancingAlgorithm' = 'DepthFirst';

'RampDownStartTime' = '1900-01-01T18:00:00Z';

'rampDownLoadBalancingAlgorithm' = 'BreadthFirst';

'rampDownMinimumHostsPct' = 20;

'rampDownCapacityThresholdPct' = 20;

'rampDownForceLogoffUser' = $true;

'rampDownWaitTimeMinute' = 30;

'rampDownNotificationMessage' = 'Log out now, please.';

'rampDownStopHostsWhen' = 'ZeroSessions';

'offPeakStartTime' = '1900-01-01T20:00:00Z';

'offPeakLoadBalancingAlgorithm' = 'DepthFirst';

) `

-HostPoolReference @(

@{

'hostPoolArmPath' =
'/subscriptions/SubscriptionId/resourceGroups/ResourceGroupName/providers/Microsoft.DesktopVirtualizati
on/hostPools/HostPoolName';

'scalingPlanEnabled' = $false;

New-AzWvdHostPool

The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'MigrationRequestMigrationPath' and no


alias was found for the original parameter name.
The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'MigrationRequestOperation' and no alias
was found for the original parameter name.

Before

PowerShell

New-AzWvdHostpool -hostpoolName hpName -location westus -resourceGroupName rgName -friendlyName


"friendly" -description "des1" -hostPoolType Pooled -personalDesktopAssignmentType Automatic -
customRdpProperty null -maxSessionLimit 999999 -loadBalancerType BreadthFirst -registrationInfo @{

"expirationTime"= "2020-10-01T14:01:54.9571247Z",

"registrationTokenOperation":="Update"

-vmTemplate "{json:json}"

-ssoadfsAuthority "https://adfs"

-ssoClientId "client"

-ssoClientSecretKeyVaultPath "https://keyvault/secret"

-ssoSecretType "SharedKey”

-preferredAppGroupType Desktop

-startVMOnConnect $false

-migrationRequest @{

"migrationPath"=
"TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Nam
e}",

"operation"= "Start"

After

PowerShell

New-AzWvdHostpool -hostpoolName hpName -location westus -resourceGroupName rgName -friendlyName


"friendly" -description "des1" -hostPoolType Pooled -personalDesktopAssignmentType Automatic -
customRdpProperty null -maxSessionLimit 999999 -loadBalancerType BreadthFirst -registrationInfo @{

"expirationTime"= "2020-10-01T14:01:54.9571247Z",

"registrationTokenOperation":="Update"

-vmTemplate "{json:json}"

-ssoadfsAuthority https://adfs

-ssoClientId "client"

-ssoClientSecretKeyVaultPath https://keyvault/secret

-ssoSecretType "SharedKey”

-preferredAppGroupType Desktop

-startVMOnConnect $false

-agentUpdate @{

"type"= "Scheduled",

"useSessionHostLocalTime"= $false,

"maintenanceWindowTimeZone"= "Alaskan Standard Time",

"maintenanceWindows"= “{json:json}

New-AzWvdApplicationGroup

The cmdlet 'New-AzWvdApplicationGroup' no longer supports the parameter 'MigrationRequestMigrationPath'


and no alias was found for the original parameter name.
The cmdlet 'New-AzWvdApplicationGroup' no longer supports the parameter 'MigrationRequestOperation' and
no alias was found for the original parameter name.

Before

PowerShell

New-AzWvdApplicationGroup -resourceGroupName “rgName” -applicationGroupName “appName” -applicationGroup


@{"description"= "des1",

"friendlyName"= "friendly",

"hostPoolArmPath"= "/subscriptions/daefabc0-95b4-48b3-b645-
8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool
1",

"applicationGroupType"= "RemoteApp",

"migrationRequest"= @{

"migrationPath"="TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{ses
sionHostPool.Name}",

"operation"= "Start"

After

PowerShell

New-AzWvdApplicationGroup -resourceGroupName -applicationGroupName -applicationGroup @{"description"=


"des1",

"friendlyName"= "friendly",

"hostPoolArmPath"= "/subscriptions/daefabc0-95b4-48b3-b645-
8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool
1",

"applicationGroupType"= "RemoteApp"

Az.EventHub

Set-AzEventHubNamespace

The cmdlet 'Set-AzEventHubNamespace' has undergone several changes, including changes to the output type
and default parameter set.
The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String'
for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters
'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer
supported, and no aliases were found for the original parameter names.
The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the
'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported. Finally, several parameter
sets, including '__AllParameterSets', 'NamespaceParameterSet', and 'AutoInflateParameterSet', have been
removed.

Set-AzEventHub

MessageRetentionInDays' has been deprecated and replaced by '-RetentionTimeInHours'.

Before

PowerShell

$eventhub = Get-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName


myNamespace

Set-AzEventHub -InputObject $eventhub -MessageRetentionInDays 3

After

PowerShell

Set-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


ArchiveNameFormat "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"

-BlobContainer container -CaptureEnabled -DestinationName EventHubArchive.AzureBlockBlob -Encoding


Avro -IntervalInSeconds 600 -SizeLimitInBytes 11000000 -SkipEmptyArchive -StorageAccountResourceId

"/subscriptions/subscriptionId/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccoun
ts/myStorageAccount"

Remove-AzEventHubVirtualNetworkRule

The cmdlet 'Remove-AzEventHubVirtualNetworkRule' has been removed. Please use 'Set-


AzEventHubNetworkRuleSet'.

Before

PowerShell

Remove-AzEventHubVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -


SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-
ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01"

After

PowerShell

$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId


'/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetwor
ks/myVirtualNetwork/subnets/default'

Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


VirtualNetworkRule $virtualNetworkRule1

Remove-AzEventHubNetworkRuleSet

The cmdlet 'Remove-AzEventHubNetworkRuleSet' has been removed. Please use 'Set-


AzEventHubNetworkRuleSet'.

Before

PowerShell

Remove-AzEventHubNetworkRuleSet -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-1375 -


PassThru

After

PowerShell

Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


VirtualNetworkRule @()

Remove-AzEventHubNamespace

The cmdlet 'Remove-AzEventHubNamespace' has undergone several changes, including type change for
parameter 'InputObject' and 'DefaultProfile', but the usage remains the same, including piping.

Remove-AzEventHubIPRule
The cmdlet 'Remove-AzEventHubIPRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

Before

PowerShell

Remove-AzEventHubIPRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -IpMask


"11.22.33.44"

After

PowerShell

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow

$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow

Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


$ipRule1,$ipRule2

New-AzEventHubNamespace

The cmdlet 'New-AzEventHubNamespace' has undergone several changes, including changes to the output type
and default parameter set.
The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String'
for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters
'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer
supported, and no aliases were found for the original parameter names.
The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the
'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported. Finally, several parameter
sets, including '__AllParameterSets', 'NamespaceParameterSet', and 'AutoInflateParameterSet', have been
removed.

New-AzEventHubEncryptionConfig

The cmdlet 'New-AzEventHubEncryptionConfig' has been replaced by 'New-


AzEventHubKeyVaultPropertiesObject'.

Before

PowerShell

New-AzEventHubEncryptionConfig -KeyName key1 -KeyVaultUri https://myvaultname.vault.azure.net -


UserAssignedIdentity
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/use
rAssignedIdentities/MSIName2'

After

PowerShell

$keyVaultProperty1 = New-AzEventHubKeyVaultPropertiesObject -KeyName key1 -KeyVaultUri


https://testkeyvault.vault.azure.net -UserAssignedIdentity
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/myFirstIdentity"

$keyVaultProperty2 = New-AzEventHubKeyVaultPropertiesObject -KeyName key2 -KeyVaultUri


https://testkeyvault.vault.azure.net -UserAssignedIdentity
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/mySecondIdentity"

New-AzEventHubNamespace -ResourceGroupName myResourceGroup -Name myNamespace -SkuName Premium -Location


northeurope -IdentityType UserAssigned -UserAssignedIdentityId
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/myFirstIdentity","/subscriptions/000000000000000/resourceGroups/myResourceGroup/prov
iders/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondIdentity" -KeyVaultProperty
$keyVaultProperty1,$keyVaultProperty2

New-AzEventHub

-MessageRetentionInDays' has been deprecated and replaced by '-RetentionTimeInHours'.

Before

PowerShell

New-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


MessageRetentionInDays 6 -PartitionCount 5

After

PowerShell

New-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


RetentionTimeInHour 168 -PartitionCount 5 -CleanupPolicy Delete

Get-AzEventHubNamespace

The output type and the properties has been changed. See the example for more information.

Before

PowerShell

Name : MyNamespaceName

Id : /subscriptions/{subscriptionId}/resourceGroups/Default-EventHub-
WestCentralUS/providers/Microsoft.EventHub/namespaces/MyNamespaceName

ResourceGroupName : Default-EventHub-WestCentralUS

Location : West US

Sku : Name : Standard , Capacity : 1 , Tier : Standard

Tags :

ProvisioningState : Succeeded

Status : Active

CreatedAt : 5/24/2019 12:47:27 AM

UpdatedAt : 5/24/2019 12:48:14 AM

ServiceBusEndpoint : #########

Enabled : True

KafkaEnabled : True

IsAutoInflateEnabled : True

MaximumThroughputUnits : 10

After

PowerShell
AlternateName :
ClusterArmId :
CreatedAt : 11/17/2022 3:14:09 PM

DisableLocalAuth : True

EnableAutoInflate : True

Id :
/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/namespaces/m
yNamespace

IdentityType :
KafkaEnabled : True

KeySource :
KeyVaultProperty :
Location : South Central US

MaximumThroughputUnit : 0

MetricId : 000000000000000:myNamespace

MinimumTlsVersion : 1.2

Name : myNamespace

PrincipalId : 000000000000000000

PrivateEndpointConnection :
ProvisioningState : Succeeded

PublicNetworkAccess : Enabled

RequireInfrastructureEncryption :
ResourceGroupName : myResourceGroup

ServiceBusEndpoint : https://myNamespace.servicebus.windows.net:443/

SkuCapacity : 1

SkuName : Standard

SkuTier : Standard

Status : Active

Tag : {

TenantId : 00000000000

Type : Microsoft.EventHub/Namespaces

UpdatedAt : 11/17/2022 3:21:19 PM

UserAssignedIdentity : {

ZoneRedundant : True

Get-AzEventHub

The cmdlet 'Get-AzEventHub' no longer has output type


'Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub'.
(Yeming: namespace
changed, not considered a breaking change. should be removed)

Add-AzEventHubVirtualNetworkRule

The cmdlet 'Add-AzEventHubVirtualNetworkRule' has been removed. Please use 'Set-


AzEventHubNetworkRuleSet'.

Before

PowerShell

Add-AzEventHubVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -


SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-
ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01" -
IgnoreMissingVnetServiceEndpoint

After

PowerShell
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId
'/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetwor
ks/myVirtualNetwork/subnets/default'

Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


VirtualNetworkRule $virtualNetworkRule1

Add-AzEventHubIPRule

The cmdlet 'Add-AzEventHubIPRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

Before

PowerShell

Add-AzEventHubIPRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -IpMask


"11.22.33.44" -Action Allow

After

PowerShell

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow

$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow

Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


$ipRule1,$ipRule2

Az.HDInsight

New-AzHDInsightCluster

The cmdlet 'New-AzHDInsightCluster' no longer supports the parameter 'RdpCredential' and no alias was found
for the original parameter name.
The cmdlet 'New-AzHDInsightCluster' no longer supports the parameter 'RdpAccessExpiry' and no alias was
found for the original parameter name.

Before

PowerShell

Customer didn’t use the two parameters for a very long time. There is not old usage.

After

PowerShell

Don’t use the two parameters any more.

Az.Relay

Test-AzRelayName
The cmdlet 'Test-AzRelayName' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Test-AzRelayName' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Test-AzRelayName' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Set-AzWcfRelay

The cmdlet 'Set-AzWcfRelay' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
The cmdlet 'Set-AzWcfRelay' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes' for parameter 'InputObject'.
The cmdlet 'Set-AzWcfRelay' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Set-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Set-AzRelayNamespace

The cmdlet 'Set-AzRelayNamespace' has been removed and no alias was found for the original cmdlet name.

Before

PowerShell

Set-AzRelayNamespace -ResourceGroupName Default-ServiceBus-WestUS -Name TestNameSpace-Relay1 -Tag


@{Tag2="Tag2Value"}

After

PowerShell

Update-AzRelayNamespace -ResourceGroupName Default-ServiceBus-WestUS -Name TestNameSpace-Relay1 -Tag


@{Tag2="Tag2Value"}

Set-AzRelayNamespace

The cmdlet 'Set-AzRelayNamespace' has been removed and no alias was found for the original cmdlet name.

Before

PowerShell

$relayNamespace = new RelayNamespaceAttirbutesUpdateParameter()

Update-AzRelayNamespace -InputObject $relayNamespace -Tag @{'k'='v'}

After

PowerShell
$relayNamespace = Get-AzRelayNamespace -ResourceGroupName lucas-relay-rg -Name namespace-pwsh01

Update-AzRelayNamespace -InputObject $relayNamespace -Tag @{'k'='v'}

Set-AzRelayHybridConnection

The cmdlet 'Set-AzRelayHybridConnection' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
The cmdlet 'Set-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes' for parameter 'InputObject'.
The cmdlet 'Set-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Set-AzRelayAuthorizationRule

The cmdlet 'Set-AzRelayAuthorizationRule' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The parameter set
'NamespaceAuthorizationRuleSet' for cmdlet 'Set-AzRelayAuthorizationRule' is no longer the default parameter
set.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes' for parameter 'InputObject'.
The
element type for parameter 'Rights' has been changed from 'System.String' to
'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWCFRelay1 -Name


AuthoRule1 -Rights "Send"

After

PowerShell

Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-


Relay1 -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Send"

Set-AzRelayAuthorizationRule
The cmdlet 'Set-AzRelayAuthorizationRule' no longer has output type
'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes' for parameter 'InputObject'.
The
element type for parameter 'Rights' has been changed from 'System.String' to
'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

$GetHybirdAutho = Get-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace


TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1

Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-


Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1 -InputObject $GetHybirdAutho -Rights
{"Listen", "Send"}

After

PowerShell

$GetHybirdAutho = Get-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace


TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1

$GetHybirdAutho.Rights.Add("Send")

Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-


Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1 -InputObject $GetHybirdAutho

Remove-AzWcfRelay

The cmdlet 'Remove-AzWcfRelay' no longer supports the type


'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Remove-AzRelayNamespace

The cmdlet 'Remove-AzRelayNamespace' no longer supports the type


'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Remove-AzRelayHybridConnection
The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Remove-AzRelayAuthorizationRule

The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the parameter 'Force' and no alias was found
for the original parameter name.
The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

Remove-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWcfRelay -


Name AuthoRule1

After

PowerShell

Remove-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-


Relay1 -WcfRelay TestWcfRelay -Name AuthoRule1

New-AzWcfRelay

The cmdlet 'New-AzWcfRelay' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
The cmdlet 'New-AzWcfRelay' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes' for parameter 'InputObject'.
The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.String' for parameter 'WcfRelayType'.
The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.Nullable`1[System.Boolean]' for parameter
'RequiresClientAuthorization'.
The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.Nullable`1[System.Boolean]' for parameter
'RequiresTransportSecurity'.
The cmdlet 'New-AzWcfRelay' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

New-AzRelayNamespace
The cmdlet 'New-AzRelayNamespace' no longer has output type
'Microsoft.Azure.Commands.Relay.Models.PSRelayNamespaceAttributes'.
The cmdlet 'New-AzRelayNamespace' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

New-AzRelayKey

The cmdlet 'New-AzRelayKey' no longer supports the type 'System.String' for parameter 'RegenerateKey'.
The cmdlet 'New-AzRelayKey' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayKey' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzRelayKey' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Before

PowerShell

New-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Name AuthoRule1 -HybridConnection


TestHybridConnection -RegenerateKey PrimaryKey

After

PowerShell

New-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -Name


AuthoRule1 -HybridConnection TestHybridConnection -RegenerateKey PrimaryKey

New-AzRelayHybridConnection

The cmdlet 'New-AzRelayHybridConnection' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
The cmdlet 'New-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes' for parameter 'InputObject'.
The cmdlet 'New-AzRelayHybridConnection' no longer supports the type 'System.Nullable`1[System.Boolean]' for
parameter 'RequiresClientAuthorization'.
The cmdlet 'New-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

New-AzRelayAuthorizationRule

The cmdlet 'New-AzRelayAuthorizationRule' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The element type for parameter
'Rights' has been changed from 'System.String' to
'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

New-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWCFRelay1 -Name


AuthoRule1 -Rights "Listen"

After

PowerShell

New-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-


Relay1 -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Listen"

Get-AzWcfRelay

The cmdlet 'Get-AzWcfRelay' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
The cmdlet 'Get-AzWcfRelay' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Get-AzRelayOperation

The cmdlet 'Get-AzRelayOperation' has been removed and no alias was found for the original cmdlet name.

Get-AzRelayNamespace

The cmdlet 'Get-AzRelayNamespace' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSRelayNamespaceAttributes'.
The cmdlet 'Get-AzRelayNamespace' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Get-AzRelayKey
The cmdlet 'Get-AzRelayKey' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayKey' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzRelayKey' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Before

PowerShell

Get-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -HybridConnection TestHybridConnection -


Name AuthoRule1

After

PowerShell

Get-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -


HybridConnection TestHybridConnection -Name AuthoRule1

Get-AzRelayHybridConnection

The cmdlet 'Get-AzRelayHybridConnection' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
The cmdlet 'Get-AzRelayHybridConnection' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Get-AzRelayAuthorizationRule

The cmdlet 'Get-AzRelayAuthorizationRule' no longer has output type


'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Az.ServiceBus

Set-AzServiceBusNamespace

The cmdlet 'Set-AzServiceBusNamespace' has undergone several changes, including changes to the output type
and default parameter set.
The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String'
for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters
'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer
supported, and no aliases were found for the original parameter names.
The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the
'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported.

Remove-AzServiceBusVirtualNetworkRule

The cmdlet 'Remove-AzServiceBusVirtualNetworkRule' has been removed. Use 'Set-


AzServiceBusNetworkRuleSet' instead.

Before

PowerShell

Remove-AzServiceBusVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -


SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-
ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01"

After

PowerShell

$virtualNetworkRule1 = New-AzServiceBusVirtualNetworkRuleConfig -SubnetId


/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetwork
s/myVirtualNetwork/subnets/default

Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


$ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3

Remove-AzServiceBusNetworkRuleSet

The cmdlet 'Remove-AzServiceBusNetworkRuleSet' has been removed. Use 'Set-AzServiceBusNetworkRuleSet'


instead.

Before

PowerShell

Remove-AzServiceBusNetworkRuleSet -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-1375

After

PowerShell

Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


@() -VirtualNetworkRule @()

Remove-AzServiceBusNamespace

The cmdlet 'Remove-AzServiceBusNamespace' no longer supports the alias 'ResourceGroup' for parameter
'ResourceGroupName'.
Before

PowerShell

Remove-AzServiceBusNamespace -ResourceGroup Default-ServiceBus-WestUS -NamespaceName SB-Example1

After

PowerShell

Remove-AzServiceBusNamespace -ResourceGroupName Default-ServiceBus-WestUS -NamespaceName SB-Example1

Remove-AzServiceBusIPRule

The cmdlet 'Remove-AzServiceBusIPRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

Before

PowerShell

Remove-AzServiceBusIPRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -IpMask


"11.22.33.44"

After

PowerShell

Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


@()

New-AzServiceBusNamespace

The cmdlet 'New-AzServiceBusNamespace' has undergone several changes.


The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String'
for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters
'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer
supported, and no aliases were found for the original parameter names.
The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the
'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported.

New-AzServiceBusGeoDRConfiguration

The cmdlet 'New-AzServiceBusGeoDRConfiguration' no longer supports the parameter 'PassThru' and no alias
was found for the original parameter name.

Before

PowerShell

New-AzServiceBusGeoDRConfiguration -Name myAlias -ResourceGroupName myResourceGroup -NamespaceName


myPrimaryNamespace -PartnerNamespace
"/subscriptions/0000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/
mySecondaryNamespace" -PassThru

After

PowerShell

New-AzServiceBusGeoDRConfiguration -Name myAlias -ResourceGroupName myResourceGroup -NamespaceName


myPrimaryNamespace -PartnerNamespace
"/subscriptions/0000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/
mySecondaryNamespace"

New-AzServiceBusEncryptionConfig

The cmdlet 'New-AzServiceBusEncryptionConfig' has been removed. Use 'New-AzServiceBusNamespace' and


'Set-AzServiceBusNamespace' to enable encryption.

Before

PowerShell

New-AzServiceBusEncryptionConfig -KeyName key1 -KeyVaultUri https://myvaultname.vault.azure.net -


UserAssignedIdentity
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/use
rAssignedIdentities/MSIName2'

After

PowerShell

$id1 =
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/myFirstIdentity"

$id2 =
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/mySecondIdentity"

$keyVaultProperty1 = New-AzServiceBusKeyVaultPropertiesObject -KeyName key4 -KeyVaultUri


https://testkeyvault.vault.azure.net/ -UserAssignedIdentity
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/myFirstIdentity"

$keyVaultProperty2 = New-AzServiceBusKeyVaultPropertiesObject -KeyName key5 -KeyVaultUri


https://testkeyvault.vault.azure.net/ -UserAssignedIdentity
"/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/user
AssignedIdentities/myFirstIdentity"

New-AzServiceBusNamespace -ResourceGroupName myResourceGroup -Name myNamespace -SkuName Premium -


Location northeurope -IdentityType UserAssigned -UserAssignedIdentityID $id1,$id2 -KeyVaultProperty
$keyVaultProperty1,$keyVaultProperty2

Get-AzServiceBusOperation

The cmdlet 'Get-AzServiceBusOperation' has been removed.

Get-AzServiceBusNamespace

The cmdlet 'Get-AzServiceBusNamespace' no longer supports the alias 'ResourceGroup' for parameter
'ResourceGroupName'.
Before

PowerShell

Get-AzServiceBusNamespace -ResourceGroup Default-ServiceBus-WestUS -NamespaceName SB-Example1

After

PowerShell

Get-AzServiceBusNamespace -ResourceGroupName Default-ServiceBus-WestUS -NamespaceName SB-Example1

Add-AzServiceBusVirtualNetworkRule

The cmdlet 'Add-AzServiceBusVirtualNetworkRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet'


instead.

Before

PowerShell

Add-AzServiceBusVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -


SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-
ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01" -
IgnoreMissingVnetServiceEndpoint

After

PowerShell

$virtualNetworkRule1 = New-AzServiceBusVirtualNetworkRuleConfig -SubnetId


/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetwork
s/myVirtualNetwork/subnets/default

Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -


VirtualNetworkRule $virtualNetworkRule1

Add-AzServiceBusIPRule

The cmdlet 'Add-AzServiceBusIPRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

Before

PowerShell

Add-AzServiceBusIPRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -IpMask


"11.22.33.44" -Action Allow

After

PowerShell

$ipRule1 = New-AzServiceBusIPRuleConfig -IPMask 2.2.2.2 -Action Allow

$ipRule2 = New-AzServiceBusIPRuleConfig -IPMask 3.3.3.3 -Action Allow

Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule


$ipRule1,$ipRule2

Az.SignalR

Update-AzSignalRNetworkAcl

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Update-AzSignalR

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.
The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been
removed.

Before

PowerShell

$hostNamePrefix = $(Update-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1 -UnitCount


5).HostNamePrefix

After

PowerShell

$hostNamePrefix = $(Update-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1 -UnitCount


5).Name

Set-AzSignalRUpstream

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Restart-AzSignalR

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Remove-AzSignalR

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

New-AzSignalRKey

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.
New-AzSignalR

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Before

PowerShell

$hostNamePrefix = $(New-AzSignalR -ResourceGroupName myResourceGroup1 -Name mysignalr1 -Location eastus


-Sku Standard_S1).HostNamePrefix

After

PowerShell

$hostNamePrefix = $(New-AzSignalR -ResourceGroupName myResourceGroup1 -Name mysignalr1 -Location eastus


-Sku Standard_S1).Name

Get-AzSignalRKey

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Get-AzSignalR

The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been


removed.

Before

PowerShell

$hostNamePrefix = $(Get-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1).HostNamePrefix

After

PowerShell

$hostNamePrefix = $(Get-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1).Name

Az.SqlVirtualMachine

Update-AzSqlVMGroup

The cmdlet 'Update-AzSqlVMGroup' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the type
'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel' for parameter
'InputObject'.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'SqlVMGroup' for parameter 'InputObject'.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the parameter 'ResourceId' and no alias was found for
the original parameter name.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Before

PowerShell

$group = Get-AzSqlVMGroup -ResourceGroupName "ResourceGroup01" -Name "test-group"

Update-AzSqlVMGroup -SqlVMGroup $group -Tag @{'key'='value'}

After

PowerShell

$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'

$group | Update-AzSqlVMGroup -Tag @{'key'='value'}

Update-AzSqlVM

The cmdlet 'Update-AzSqlVM' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
The cmdlet 'Update-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel' for parameter
'InputObject'.
The cmdlet 'Update-AzSqlVM' no longer supports the alias 'SqlVM' for parameter 'InputObject'.
The cmdlet 'Update-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the
original parameter name.
The cmdlet 'Update-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Update-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Update-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Update-AzAvailabilityGroupListener

The cmdlet 'Update-AzAvailabilityGroupListener' has been removed and no alias was found for the original
cmdlet name.

Set-AzSqlVMConfigGroup

The cmdlet 'Set-AzSqlVMConfigGroup' has been removed and no alias was found for the original cmdlet name.

Remove-AzSqlVMGroup
The cmdlet 'Remove-AzSqlVMGroup' has undergone changes and no longer supports certain parameters and
output types. Specifically, the 'InputObject' parameter no longer supports the 'AzureSqlVMGroupModel' type or
its 'SqlVMGroup' alias, and the 'ResourceId' parameter has been removed entirely. Additionally, the
'DefaultProfile' parameter no longer supports the 'IAzureContextContainer' type, and its aliases 'AzContext' and
'AzureRmContext'.

Before

PowerShell

$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'

Remove-AzSqlVMGroup -SqlVMGroup $group

After

PowerShell

$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'

$group | Remove-AzSqlVMGroup

Remove-AzSqlVM

The cmdlet 'Remove-AzSqlVM' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
The cmdlet 'Remove-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel' for parameter
'InputObject'.
The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'SqlVM' for parameter 'InputObject'.
The cmdlet 'Remove-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the
original parameter name.
The cmdlet 'Remove-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Before

PowerShell

$sqlVM = Get-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1'

Remove-AzSqlVM -SqlVM $sqlVM

After

PowerShell

$sqlVM = Get-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1'

$sqlVM | Remove-AzSqlVM

Remove-AzAvailabilityGroupListener
The cmdlet 'Remove-AzAvailabilityGroupListener' has undergone changes and some features have been
removed. Specifically, the output type
'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel' is
no longer supported. Additionally, the parameter 'InputObject' no longer supports this type. The 'ResourceId'
and 'SqlVMGroupObject' parameters have also been removed without any alias found. The 'DefaultProfile'
parameter no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' and its aliases
'AzContext' and 'AzureRmContext'.

Before

PowerShell

$SqlVmGroupObject = Get-AzSqlVMGroup -ResourceGroupName ResourceGroup01 -SqlVMGroupName SqlVmGroup01

Remove-AzAvailabilityGroupListener -Name AgListener01 -SqlVMGroupObject $SqlVmGroupObject

After

PowerShell

Remove-AzAvailabilityGroupListener -ResourceGroupName 'ResourceGroup01' -SqlVMGroupName 'SqlVmGroup01'


-Name 'AgListener01'

New-AzSqlVMGroup

The cmdlet 'New-AzSqlVMGroup' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
The cmdlet 'New-AzSqlVMGroup' no longer supports the type 'System.String' for parameter 'Sku'.
The cmdlet 'New-AzSqlVMGroup' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

New-AzSqlVMConfig

The cmdlet 'New-AzSqlVMConfig' has been removed and no alias was found for the original cmdlet name.

Before

PowerShell

$config = New-AzSqlVMConfig -LicenseType "PAYG"

New-AzSqlVM -ResourceGroupName "ResourceGroup01" -Name "vm" -SqlVM $config

After

PowerShell

New-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -Location 'eastus' -Sku 'Developer' -


LicenseType 'PAYG'

New-AzSqlVM

The cmdlet 'New-AzSqlVM' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
The cmdlet 'New-AzSqlVM' no longer supports the parameter 'SqlVM' and no alias was found for the original
parameter name.
The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'LicenseType'.
The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'Sku'.
The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'SqlManagementType'.
The cmdlet 'New-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Before

PowerShell

$config = New-AzSqlVMConfig -LicenseType "PAYG"

New-AzSqlVM -ResourceGroupName "ResourceGroup01" -Name "vm" -SqlVM $config

After

PowerShell

New-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -Location 'eastus' -Sku 'Developer' -


LicenseType 'PAYG'

New-AzAvailabilityGroupListener

The cmdlet 'New-AzAvailabilityGroupListener' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel'.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type 'System.Nullable`1[System.Int32]' for
parameter 'Port'.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type 'System.Nullable`1[System.Int32]' for
parameter 'ProbePort'.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the parameter 'SqlVMGroupObject' and no
alias was found for the original parameter name.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the alias 'AzContext' for parameter
'DefaultProfile'.
The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the alias 'AzureRmContext' for parameter
'DefaultProfile'.

Get-AzSqlVMGroup

The cmdlet 'Get-AzSqlVMGroup' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
The cmdlet 'Get-AzSqlVMGroup' no longer supports the parameter 'ResourceId' and no alias was found for the
original parameter name.
The cmdlet 'Get-AzSqlVMGroup' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Get-AzSqlVM

The cmdlet 'Get-AzSqlVM' no longer has output type


'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
The cmdlet 'Get-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the original
parameter name.
The cmdlet 'Get-AzSqlVM' no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter
'DefaultProfile'.
The cmdlet 'Get-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

Get-AzAvailabilityGroupListener

The cmdlet 'Get-AzAvailabilityGroupListener' has been updated and some features have been removed.
The cmdlet 'Get-AzAvailabilityGroupListener' no longer has output type
'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel'.
The 'ResourceId' and 'SqlVMGroupObject' parameters have been removed without any alias found. The
'DefaultProfile' parameter no longer supports the type
'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' and its aliases
'AzContext' and 'AzureRmContext'.

Before

PowerShell

$SqlVmGroupObject = Get-AzSqlVMGroup -ResourceGroupName ResourceGroup01 -SqlVMGroupName SqlVmGroup01

Get-AzAvailabilityGroupListener -Name AgListener01 -SqlVMGroupObject $SqlVmGroupObject

After

PowerShell

Get-AzAvailabilityGroupListener -ResourceGroupName 'ResourceGroup01' -SqlVMGroupName 'SqlVmGroup01' -


Name 'AgListener01'

Az.StackHCI

Unregister-AzStackHCI

The cmdlet 'Unregister-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was
found for the original parameter name.
Before

PowerShell

Customers had an option to pass GraphAccessToken parameter in Unregister-AzStackHCI, which used to be


ignored by the cmdlet

After

PowerShell

Unregister-AzStackHCI won’t support GraphAccessToken as a parameter

Test-AzStackHCIConnection

The cmdlet 'Test-AzStackHCIConnection' has been removed and no alias was found for the original cmdlet name.

Before

PowerShell

Customers used Test-AzStackHCIConnection for connectivity verification tests

After

PowerShell

Customers can use Invoke-AzStackHciConnectivityValidation from AzStackHCI.EnvironmentChecker module for


enhanced connectivity verification tests

Set-AzStackHCI

The cmdlet 'Set-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was found for
the original parameter name.

Before

PowerShell

Customers had an option to pass GraphAccessToken parameter in Set-AzStackHCI, which used to be ignored
by the cmdlet

After

PowerShell

Set-AzStackHCI won’t support GraphAccessToken as a parameter

Register-AzStackHCI
The cmdlet 'Register-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was found
for the original parameter name.
The cmdlet 'Register-AzStackHCI' no longer supports the parameter 'EnableAzureArcServer' and no alias was
found for the original parameter name.

Before

PowerShell

Customers had an option to pass GraphAccessToken parameter in Register-AzStackHCI, which used to be


ignored by the cmdlet. Customers had an option to pass EnableAzureArcServer as true or false. Register-
AzStackHCI used to fail for customers who passed EnableAzureArcServer as false. Customers used to get a
confirmation prompt if they didn't pass the Region parameter in Register-AzStackHCI

After

PowerShell

Register-AzStackHCI won’t support GraphAccessToken and EnableAzureArcServer as parameters, and will


make Region parameter as mandatory.

Az.StorageSync

Set-AzStorageSyncServerEndpoint

The cmdlet 'Set-AzStorageSyncServerEndpoint' no longer supports the alias 'RegisteredServer' for parameter
'InputObject'.

Before

PowerShell

Set-AzStorageSyncServerEndpoint -RegisteredServer $inputObject

After

PowerShell

Set-AzStorageSyncServerEndpoint -ServerEndpoint $inputObject

Az.Synapse

Update-AzSynapseSparkPool

The cmdlet 'Update-AzSynapseSparkPool' no longer supports the parameter 'SparkConfigFilePath' and no alias
was found for the original parameter name.

Before

PowerShell
Update-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfigFilePath $path

After

PowerShell

Update-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfiguration $config

New-AzSynapseSparkPool

The cmdlet 'New-AzSynapseSparkPool' no longer supports the parameter 'SparkConfigFilePath' and no alias was
found for the original parameter name.

Before

PowerShell

New-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfigFilePath $path

After

PowerShell

New-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfiguration $config

Az.Websites

New-AzWebAppContainerPSSession

The cmdlet 'New-AzWebAppContainerPSSession' has been removed and no alias was found for the original
cmdlet name.

Before

PowerShell

Opens a remote PowerShell session into the windows container specified in a given site or slot and
given resource group

After

PowerShell

N/A

Enter-AzWebAppContainerPSSession

The cmdlet 'Enter-AzWebAppContainerPSSession' has been removed and no alias was found for the original
cmdlet name.
Before

PowerShell

Create new remote PowerShell Session into the windows container specified in a given site or slot and
given resource group

After

PowerShell

N/A

Migration Guide for Az 9.0.1


Article • 07/04/2023

Az.Advisor

Set-AzAdvisorConfiguration

No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData'.


No longer supports the type 'System.Int32' for parameter 'LowCpuThreshold'.
No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData' for parameter
'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'InputObjectRgExcludeParameterSet' is no longer the default parameter set.
The parameter set 'InputObjectLowCpuExcludeParameterSet' has been removed.
The parameter set 'InputObjectRgExcludeParameterSet' has been removed.

Enable-AzAdvisorRecommendation

No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase'.


No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase' for
parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'NameParameterSet' is no longer the default parameter set.
The parameter set 'IdParameterSet' has been removed.
The parameter set 'InputObjectParameterSet' has been removed.
The parameter set 'NameParameterSet' has been removed.

Disable-AzAdvisorRecommendation

No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorSuppressionContract'.


No longer supports the parameter 'Days' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase' for
parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'IdParameterSet' has been removed.
The parameter set 'NameParameterSet' has been removed.
The parameter set 'InputObjectParameterSet' has been removed.

Get-AzAdvisorRecommendation

No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase'.


No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'NameParameterSet' is no longer the default parameter set.
The parameter set 'IdParameterSet' has been removed.
The parameter set 'NameParameterSet' has been removed.
Get-AzAdvisorConfiguration

No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData'.


No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'RgParameterSet' has been removed.

Az.Aks

Install-AzAksKubectl

Replaced by Install-AzAksCliTool

Before

PowerShell

Install-AzAksKubectl

After

PowerShell

Install-AzAksCliTool

Az.ApiManagement

Get-AzApiManagement

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Set-AzApiManagement

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Restore-AzApiManagement

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Get-AzApiManagementSsoToken

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Update-AzApiManagementRegion

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
No longer supports the type 'PsApiManagementSku' for parameter 'Sku'.

Backup-AzApiManagement

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Add-AzApiManagementRegion
The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
The type of property 'Sku' of type 'PsApiManagementRegion' has changed from 'PsApiManagementSku' to 'System.String'.
The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
No longer supports the type 'System.Nullable`1[Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSku]' for
parameter 'Sku'.

New-AzApiManagement

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
No longer supports the type 'System.Nullable`1[Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSku]' for
parameter 'Sku'.

New-AzApiManagementRegion

The type of property 'Sku' of type 'PsApiManagementRegion' has changed from 'PsApiManagementSku' to 'System.String'.

Remove-AzApiManagementRegion

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Get-AzApiManagementNetworkStatus

The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

Az.Attestation

Get-AzAttestation

Replaced by 'Get-AzAttestationProvider'.

Before

PowerShell

Get-AzAttestation -Name testprovider1 -ResourceGroupName test-rg

Get-AzAttestation -DefaultProvider

After

PowerShell

Get-AzAttestationProvider -Name testprovider1 -ResourceGroupName test-rg

Get-AzAttestationDefaultProvider

New-AzAttestation

Replaced by 'New-AzAttestationProvider'.

Before

PowerShell

New-AzAttestation -Name testprovider2 -ResourceGroupName test-rg -Location "East US" -PolicySignersCertificateFile


.\cert1.pem

After

PowerShell
New-AzAttestationProvider -Name testprovider2 -ResourceGroupName test-rg -Location "East US" -
PolicySigningCertificateKeyPath .\cert1.pem

Remove-AzAttestation

Replaced by 'Remove-AzAttestationProvider'.

Before

PowerShell

Remove-AzAttestation -Name testprovider -ResourceGroupName test-rg

After

PowerShell

Remove-AzAttestationProvider -Name testprovider -ResourceGroupName test-rg

Az.EventHub

Get-AzEventHubAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

Get-AzEventHubKey

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

New-AzEventHubAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

New-AzEventHubKey

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.
Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

Remove-AzEventHubAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been changed to 'EventHubName'.

Set-AzEventHubAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.
Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

Get-AzEventHubConsumerGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.
Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

New-AzEventHubConsumerGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been changed to 'EventHubName'.

Set-AzEventHubConsumerGroup
Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.
Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

Remove-AzEventHubConsumerGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.
Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

Get-AzEventHub

Parameter 'Namespace' has been renamed to 'NamespaceName'.

New-AzEventHub

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzEventHub

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Remove-AzEventHub

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Get-AzEventHubNetworkRuleSet

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzEventHubNetworkRuleSet

Parameter 'Name' has been renamed to 'NamespaceName'.

New-AzEventHubSchemaGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Remove-AzEventHubSchemaGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Get-AzEventHubSchemaGroup

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Get-AzEventHubGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzEventHubGeoDRConfigurationBreakPair

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzEventHubGeoDRConfigurationFailOver

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Remove-AzEventHubGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.


New-AzEventHubGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Test-AzEventHubName

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Az.MarketplaceOrdering

Get-AzMarketplaceTerms

Add OfferType parameter

Before

PowerShell

Get-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

Publisher : microsoft-ads
Product : windows-data-science-vm

Plan : windows2016

LicenseTextLink : <LicenseTextLink>

PrivacyPolicyLink : <PrivacyPolicyLink>

Signature : <Signature>

Accepted : True

RetrieveDatetime : <RetrieveDatetime>

After

PowerShell

Get-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -OfferType


'virtualmachine'

Set-AzMarketplaceTerms

Remove parameter 'Term'

Before

PowerShell

$agreementTerms = Get-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

Set-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Terms


$agreementTerms -Accept

After

PowerShell

Set-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Accept

Az.Migrate

New-AzMigrateReplicationVaultSetting

Has been removed and no alias was found for the original cmdlet name.
Get-AzMigrateReplicationVaultSetting

Has been removed and no alias was found for the original cmdlet name.

Get-AzMigrateReplicationProtectionIntent

Has been removed and no alias was found for the original cmdlet name.

Get-AzMigrateSupportedOperatingSystem

Has been removed and no alias was found for the original cmdlet name.

Get-AzMigrateReplicationEligibilityResult

Has been removed and no alias was found for the original cmdlet name.

New-AzMigrateReplicationProtectionIntent

Has been removed and no alias was found for the original cmdlet name.

Az.Monitor

Get-AzActivityLogAlert

New API version with new set of input/output, please see cmdlet help for detail

Remove-AzActivityLogAlert

New API version with new set of input/output, please see cmdlet help for detail

Set-AzActivityLogAlert

Replaced by New-AzActivityLogAlert

Disable-AzActivityLogAlert

Replaced by Update-AzActivityLogAlert

Enable-AzActivityLogAlert

Replaced by Update-AzActivityLogAlert

New-AzActionGroup

Replaced by New-AzActivityLogAlertActionGroupObject

Get-AzDiagnosticSettingCategory

New API version with new set of input/output, please see cmdlet help for detail

Get-AzDiagnosticSetting

New API version with new set of input/output, please see cmdlet help for detail

New-AzDiagnosticSetting

New API version with new set of input/output, please see cmdlet help for detail
Remove-AzDiagnosticSetting

New API version with new set of input/output, please see cmdlet help for detail

Set-AzDiagnosticSetting

Replaced by New-AzDiagnosticSetting

New-AzDiagnosticDetailSetting

Replaced by New-AzDiagnosticSettingLogSettingsObject and New-AzDiagnosticSettingMetricSettingsObject

Get-AzSubscriptionDiagnosticSettingCategory

Replaced by Get-AzEventCategory

Get-AzAutoscaleSetting

New API version with new set of input/output, please see cmdlet help for detail

Remove-AzAutoscaleSetting

New API version with new set of input/output, please see cmdlet help for detail

Add-AzAutoscaleSetting

Replaced by New-AzAutoscaleSetting

New-AzAutoscaleNotification

Replaced by New-AzAutoscaleNotificationObject

New-AzAutoscaleProfile

Replaced by New-AzAutoscaleProfileObject

New-AzAutoscaleRule

Replaced by New-AzAutoscaleScaleRuleObject

New-AzAutoscaleWebhook

Replaced by New-AzAutoscaleWebhookNotificationObject

Get-AzScheduledQueryRule

New API version with new set of input/output, please see cmdlet help for detail

New-AzScheduledQueryRuleAlertingAction

Removed due to new API version

New-AzScheduledQueryRuleAznActionGroup

Removed due to new API version

New-AzScheduledQueryRule

New API version with new set of input/output, please see cmdlet help for detail
New-AzScheduledQueryRuleLogMetricTrigger

Removed due to new API version

New-AzScheduledQueryRuleSchedule

Removed due to new API version

New-AzScheduledQueryRuleSource

Removed due to new API version

New-AzScheduledQueryRuleTriggerCondition

Removed due to new API version

Remove-AzScheduledQueryRule

New API version with new set of input/output, please see cmdlet help for detail

Set-AzScheduledQueryRule

Removed and no replacement.

Update-AzScheduledQueryRule

New API version with new set of input/output, please see cmdlet help for detail

Az.Network

New-AzFirewall

The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.


The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.
No longer supports the parameter 'IdentifyTopFatFlow' and no alias was found for the original parameter name.
The parameter set '__AllParameterSets' has been removed.
The parameter set 'OldIpConfigurationParameterValues' has been removed.
The parameter set 'IpConfigurationParameterValues' has been removed.

New-AzFirewallHubIpAddress

The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.

Set-AzFirewall

The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.

New-AzNetworkManagerAddressPrefixItem

A validate set has been added for parameter 'AddressPrefixType'.

New-AzNetworkManagerSecurityAdminConfiguration

The element type for parameter 'ApplyOnNetworkIntentPolicyBasedService' has been changed from 'System.String' to
'Microsoft.Azure.Commands.Network.NewAzNetworkManagerSecurityAdminConfigurationCommand.NetworkIntentPolicyBasedServiceType'.

New-AzNetworkManager
The element type for parameter 'NetworkManagerScopeAccess' has been changed from 'System.String' to
'Microsoft.Azure.Commands.Network.NewAzNetworkManagerCommand.NetworkManagerScopeAccessType'.

Get-AzFirewall

The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.


The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.
The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.

New-AzNetworkManagerConnectivityConfiguration

A validate set has been added for parameter 'ConnectivityTopology'.

Deploy-AzNetworkManagerCommit

A validate set has been added for parameter 'CommitType'.

New-AzNetworkManagerConnectivityGroupItem

A validate set has been added for parameter 'GroupConnectivity'.

New-AzNetworkManagerSecurityAdminRule

A validate set has been added for parameter 'Protocol'.


A validate set has been added for parameter 'Direction'.
A validate set has been added for parameter 'Access'.

Az.RecoveryServices

Get-AzRecoveryServicesBackupContainer

No longer supports the parameter 'Status' and no alias was found for the original parameter name.
The parameter set
'__AllParameterSets' has been removed.

Az.SecurityInsights

Update-AzSentinelAlertRuleAction

No longer has output type 'PSSentinelActionResponse'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'PSSentinelActionResponse' for parameter 'InputObject'.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ActionId' has been removed.
The parameter set 'ResourceId' has been removed.

New-AzSentinelIncidentOwner

Has been removed and no alias was found for the original cmdlet name.

New-AzSentinelIncidentComment

No longer has output type 'PSSentinelIncidentComment'.


No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set '__AllParameterSets' has been removed.

Get-AzSentinelBookmark

No longer has output type 'PSSentinelBookmark'.


No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'BookmarkId.' has been removed.
The parameter set 'ResourceId' has been removed.

Update-AzSentinelAlertRule

No longer has output type 'PSSentinelAlertRule'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'ProductFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesExcludeFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'SeveritiesFilter'.
No longer supports the parameter 'SuppressionDisabled' and no alias was found for the original parameter name.
No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryFrequency'.
No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryPeriod'.
No longer supports the type 'System.String' for parameter 'Severity'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Tactic'.
No longer supports the type 'Microsoft.Azure.Management.SecurityInsights.Models.TriggerOperator' for parameter 'TriggerOperator'.
No longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'TriggerThreshold'.
No longer supports the type 'PSSentinelAlertRule' for parameter 'InputObject'.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AlertRuleId' has been removed.
The parameter set '__AllParameterSets' has been removed.
The parameter set 'InputObject' has been removed.
The parameter set 'ResourceId' has been removed.

Get-AzSentinelIncidentComment

No longer has output type 'PSSentinelIncidentComment'.


No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ResourceId' has been removed.

Get-AzSentinelAlertRuleAction

No longer has output type 'PSSentinelActionResponse'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AlertRuleId' has been removed.
The parameter set 'ActionId' has been removed.

Remove-AzSentinelIncident

No longer supports the type 'PSSentinelIncident' for parameter 'InputObject'.


No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'IncidentId' has been removed.

New-AzSentinelBookmark

No longer has output type 'PSSentinelBookmark'.


No longer supports the parameter 'IncidentInfo' and no alias was found for the original parameter name.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Label'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'BookmarkId.' has been removed.
The parameter set '__AllParameterSets' has been removed.

Remove-AzSentinelAlertRule

No longer has output type 'PSSentinelAlertRule'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'PSSentinelAlertRule' for parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AlertRuleId' has been removed.

Remove-AzSentinelAlertRuleAction

No longer has output type 'PSSentinelActionResponse'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'PSSentinelActionResponse' for parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ActionId' has been removed.

Get-AzSentinelAlertRule

No longer has output type 'PSSentinelAlertRule'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AlertRuleId' has been removed.
The parameter set 'ResourceId' has been removed.

Update-AzSentinelDataConnector

No longer has output type 'PSSentinelDataConnector'.


No longer supports the parameter 'DataConnectorId' and no alias was found for the original parameter name.
No longer supports the type 'PSSentinelDataConnector' for parameter 'InputObject'.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the parameter 'AwsRoleArn' and no alias was found for the original parameter name.
No longer supports the parameter 'Logs' and no alias was found for the original parameter name.
No longer supports the parameter 'DiscoveryLogs' and no alias was found for the original parameter name.
No longer supports the parameter 'Indicators' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'DataConnectorId' has been removed.
The parameter set 'InputObject' has been removed.
The parameter set 'ResourceId' has been removed.
The parameter set '__AllParameterSets' has been removed.

Remove-AzSentinelBookmark

No longer has output type 'PSSentinelBookmark'.


No longer supports the type 'PSSentinelBookmark' for parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'BookmarkId.' has been removed.

New-AzSentinelIncident

No longer has output type 'PSSentinelIncident'.


No longer supports the parameter 'Classificaton' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'ClassificationReason'.
No longer supports the type
'System.Collections.Generic.IList`1[Microsoft.Azure.Commands.SecurityInsights.Models.Incidents.PSSentinelIncidentLabel]' for
parameter 'Label'.
No longer supports the parameter 'Owner' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'Severity'.
No longer supports the type 'System.String' for parameter 'Status'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'IncidentId' has been removed.
The parameter set '__AllParameterSets' has been removed.

New-AzSentinelAlertRuleAction

No longer has output type 'PSSentinelActionResponse'.


No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ActionId' has been removed.
The parameter set '__AllParameterSets' has been removed.

Get-AzSentinelIncident

No longer has output type 'PSSentinelIncident'.


No longer supports the parameter 'OrderBy' and no alias was found for the original parameter name.
No longer supports the parameter 'Max' and no alias was found for the original parameter name.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'WorkspaceScope' has been removed.
The parameter set 'IncidentId' has been removed.
The parameter set 'ResourceId' has been removed.

Remove-AzSentinelDataConnector

No longer has output type 'PSSentinelDataConnector'.


No longer supports the type 'PSSentinelDataConnector' for parameter 'InputObject'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'DataConnectorId' has been removed.

New-AzSentinelDataConnector

No longer has output type 'PSSentinelDataConnector'.


No longer supports the parameter 'DataConnectorId' and no alias was found for the original parameter name.
No longer supports the parameter 'AzureActiveDirectory' and no alias was found for the original parameter name.
No longer supports the parameter 'AzureAdvancedThreatProtection' and no alias was found for the original parameter name.
No longer supports the parameter 'AzureSecurityCenter' and no alias was found for the original parameter name.
No longer supports the parameter 'AmazonWebServicesCloudTrail' and no alias was found for the original parameter name.
No longer supports the parameter 'MicrosoftCloudAppSecurity' and no alias was found for the original parameter name.
No longer supports the parameter 'MicrosoftDefenderAdvancedThreatProtection' and no alias was found for the original parameter
name.
No longer supports the parameter 'Office365' and no alias was found for the original parameter name.
No longer supports the parameter 'ThreatIntelligence' and no alias was found for the original parameter name.
No longer supports the parameter 'AwsRoleArn' and no alias was found for the original parameter name.
No longer supports the parameter 'Logs' and no alias was found for the original parameter name.
No longer supports the parameter 'DiscoveryLogs' and no alias was found for the original parameter name.
No longer supports the parameter 'Indicators' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AzureActiveDirectory' has been removed.
The parameter set 'AzureAdvancedThreatProtection' has been removed.
The parameter set 'AzureSecurityCenter' has been removed.
The parameter set 'AmazonWebServicesCloudTrail' has been removed.
The parameter set 'MicrosoftCloudAppSecurity' has been removed.
The parameter set 'MicrosoftDefenderAdvancedThreatProtection' has been removed.
The parameter set 'Office365' has been removed.
The parameter set 'ThreatIntelligence' has been removed.
The parameter set '__AllParameterSets' has been removed.

New-AzSentinelAlertRule

No longer has output type 'PSSentinelAlertRule'.


No longer supports the parameter 'Scheduled' and no alias was found for the original parameter name.
No longer supports the parameter 'MicrosoftSecurityIncidentCreation' and no alias was found for the original parameter name.
No longer supports the parameter 'Fusion' and no alias was found for the original parameter name.
No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'ProductFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesExcludeFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesFilter'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'SeveritiesFilter'.
No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryFrequency'.
No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryPeriod'.
No longer supports the type 'System.String' for parameter 'Severity'.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Tactic'.
No longer supports the type 'Microsoft.Azure.Management.SecurityInsights.Models.TriggerOperator' for parameter 'TriggerOperator'.
No longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'TriggerThreshold'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'FusionAlertRule' has been removed.
The parameter set 'MicrosoftSecurityIncidentCreationRule' has been removed.
The parameter set 'ScheduledAlertRule' has been removed.
The parameter set '__AllParameterSets' has been removed.

Get-AzSentinelAlertRuleTemplate

No longer has output type 'PSSentinelAlertRuleTemplate'.


No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'AlertRuleTemplateId' has been removed.
The parameter set 'ResourceId' has been removed.

Update-AzSentinelIncident

No longer has output type 'PSSentinelIncident'.


No longer supports the parameter 'IncidentID' and no alias was found for the original parameter name.
No longer supports the type 'PSSentinelIncident' for parameter 'InputObject'.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'Classification'.
No longer supports the type 'System.String' for parameter 'ClassificationReason'.
No longer supports the type
'System.Collections.Generic.IList`1[Microsoft.Azure.Commands.SecurityInsights.Models.Incidents.PSSentinelIncidentLabel]' for
parameter 'Label'.
No longer supports the parameter 'Owner' and no alias was found for the original parameter name.
No longer supports the type 'System.String' for parameter 'Severity'.
No longer supports the type 'System.String' for parameter 'Status'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'IncidentId' has been removed.
The parameter set 'InputObject' has been removed.
The parameter set 'ResourceId' has been removed.
The parameter set '__AllParameterSets' has been removed.

Get-AzSentinelDataConnector

No longer has output type 'PSSentinelDataConnector'.


No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ResourceId' has been removed.
Update-AzSentinelBookmark

No longer has output type 'PSSentinelBookmark'.


No longer supports the type 'PSSentinelBookmark' for parameter 'InputObject'.
No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
No longer supports the parameter 'IncidentInfo' and no alias was found for the original parameter name.
No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Label'.
No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for
parameter 'DefaultProfile'.
No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'BookmarkId.' has been removed.
The parameter set 'InputObject' has been removed.
The parameter set 'ResourceId' has been removed.
The parameter set '__AllParameterSets' has been removed.

Az.ServiceBus

Get-AzServiceBusAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

Get-AzServiceBusKey

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

New-AzServiceBusAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

New-AzServiceBusKey

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

Remove-AzServiceBusAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

Set-AzServiceBusAuthorizationRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter
'Topic' has been renamed to 'TopicName'.

Test-AzServiceBusName

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Set-AzServiceBusGeoDRConfigurationBreakPair

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Stop-AzServiceBusMigration
Parameter 'Name' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Get-AzServiceBusNetworkRuleSet

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzServiceBusNetworkRuleSet

Parameter 'Name' has been replaced by 'NamespaceName'.

Get-AzServiceBusQueue

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

New-AzServiceBusQueue

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Set-AzServiceBusQueue

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Remove-AzServiceBusQueue

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Get-AzServiceBusRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter
'Subscription' has been renamed to 'SubscriptionName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

New-AzServiceBusRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter
'Subscription' has been renamed to 'SubscriptionName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Set-AzServiceBusRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter
'Subscription' has been renamed to 'SubscriptionName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Remove-AzServiceBusRule

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter
'Subscription' has been renamed to 'SubscriptionName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Get-AzServiceBusTopic

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.
New-AzServiceBusTopic

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Set-AzServiceBusTopic

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Remove-AzServiceBusTopic

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias
'ResourceGroup'.

Get-AzServiceBusSubscription

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been removed to 'TopicName'. Parameter
'ResourceGroupName' would no longer support alias 'ResourceGroup'.

New-AzServiceBusSubscription

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been removed to 'TopicName'. Parameter
'ResourceGroupName' would no longer support alias 'ResourceGroup'.

Set-AzServiceBusSubscription

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been removed to 'TopicName'. Parameter
'ResourceGroupName' would no longer support alias 'ResourceGroup'.

Remove-AzServiceBusSubscription

Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been removed to 'TopicName'. Parameter
'ResourceGroupName' would no longer support alias 'ResourceGroup'.

Get-AzServiceBusGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Set-AzServiceBusGeoDRConfigurationFailOver

Parameter 'Namespace' has been renamed to 'NamespaceName'.

New-AzServiceBusGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Remove-AzServiceBusGeoDRConfiguration

Parameter 'Namespace' has been renamed to 'NamespaceName'.

Start-AzServiceBusMigration

Parameter 'Name' has been replaced by 'NamespaceName'.

Get-AzServiceBusMigration

Parameter 'Name' has been replaced by 'NamespaceName'.


Complete-AzServiceBusMigration

Parameter 'Name' has been replaced by 'NamespaceName'.

Remove-AzServiceBusMigration

Parameter 'Name' has been replaced by 'NamespaceName'.

Az.Sql

Update-AzSqlServerAdvancedThreatProtectionSetting

No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.ServerThreatDetectionPolicyModel'.


No longer supports the parameter 'NotificationRecipientsEmails' and no alias was found for the original parameter name.
No longer supports the parameter 'EmailAdmins' and no alias was found for the original parameter name.
No longer supports the parameter 'ExcludedDetectionType' and no alias was found for the original parameter name.
No longer supports the parameter 'StorageAccountName' and no alias was found for the original parameter name.
No longer supports the parameter 'RetentionInDays' and no alias was found for the original parameter name.
The parameter set '__AllParameterSets' has been removed.

Get-AzSqlServerAdvancedThreatProtectionSetting

No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.ServerThreatDetectionPolicyModel'.

Clear-AzSqlDatabaseAdvancedThreatProtectionSetting

Has been removed and no alias was found for the original cmdlet name.

Update-AzSqlDatabaseAdvancedThreatProtectionSetting

No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DatabaseThreatDetectionPolicyModel'.


No longer supports the parameter 'NotificationRecipientsEmails' and no alias was found for the original parameter name.
No longer supports the parameter 'EmailAdmins' and no alias was found for the original parameter name.
No longer supports the parameter 'ExcludedDetectionType' and no alias was found for the original parameter name.
No longer supports the parameter 'StorageAccountName' and no alias was found for the original parameter name.
No longer supports the parameter 'RetentionInDays' and no alias was found for the original parameter name.
The parameter set '__AllParameterSets' has been removed.

Clear-AzSqlServerAdvancedThreatProtectionSetting

Has been removed and no alias was found for the original cmdlet name.

Disable-AzSqlServerAdvancedDataSecurity

No longer supports the alias 'Disable-AzSqlServerAdvancedThreatProtection'.

Get-AzSqlDatabaseAdvancedThreatProtectionSetting

No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DatabaseThreatDetectionPolicyModel'.

Enable-AzSqlServerAdvancedDataSecurity

No longer supports the alias 'Enable-AzSqlServerAdvancedThreatProtection'.

Az.Storage

Get-AzStorageFileCopyState
No longer has output type 'Microsoft.Azure.Storage.File.CopyState'.

Az.Synapse

Get-AzSynapseLinkConnectionLinkTableStatus

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Remove-AzSynapseLinkConnection

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Update-AzSynapseLinkConnectionLandingZoneCredential

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Get-AzSynapseLinkConnectionLinkTable

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Stop-AzSynapseLinkConnection

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Set-AzSynapseLinkConnection

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Get-AzSynapseLinkConnection

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Start-AzSynapseLinkConnection

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

Set-AzSynapseLinkConnectionLinkTable

The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from


'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.
Migration Guide for latest Az.EventHub
PowerShell Module
Article • 07/04/2023

The Az.EventHub PowerShell module version 9.0.1 of Azure PowerShell that would be
released in October introduces improvised cmdlets for public use.

These changes are focused towards making the PowerShell use more productive and
seamless for the end users.

The following example installs the latest version of the Az.Eventhub Azure PowerShell
module.

PowerShell

Install-Module -Name Az.EventHub -Repository PSGallery -Scope CurrentUser

Major Changes:

Behavior of -InputObject:
Until Module 8.3.0, -InputObject supports passing an in memory object to additional
cmdlet in pipeline. Due to above design, updating resources becomes a multi step
approach.

With the new module release, -InputObject parameter set would be changing for a
seamless experience.

In contrast to earlier approach, -InputObject would now support object of


corresponding input type as well as resource Id directly to the cmdlet. This would make
cmdlet usage fairly easy and faster as compared to the old approach.

Below example shows the difference in -InputObject Usage:

Before
Below example shows how to update capture description on existing event hub with
Module version 8.3.0 or older
$createdEventHub = Get-AzEventHub -ResourceGroupName MyResourceGroupName -
Namespace MyNamespaceName -Name MyCreatedEventHub

$createdEventHub.CaptureDescription = New-Object -TypeName


Microsoft.Azure.Commands.EventHub.Models.PSCaptureDescriptionAttributes

$createdEventHub.CaptureDescription.Enabled = $true

$createdEventHub.CaptureDescription.IntervalInSeconds = 120

$createdEventHub.CaptureDescription.Encoding = "Avro"

$createdEventHub.CaptureDescription.SizeLimitInBytes = 10485763

$createdEventHub.CaptureDescription.Destination.Name =
"EventHubArchive.AzureBlockBlob"

$createdEventHub.CaptureDescription.Destination.BlobContainer = "container"

$createdEventHub.CaptureDescription.Destination.ArchiveNameFormat = "
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{S
econd}"

$createdEventHub.CaptureDescription.Destination.StorageAccountResourceId =
"/subscriptions/{SubscriptionId}/resourceGroups/MyResourceGroupName/provider
s/Microsoft.ClassicStorage/storageAccounts/teststorage"

Set-AzEventHub -ResourceGroupName MyResourceGroupName -Namespace


MyNamespaceName -Name MyEventHubName -InputObject $createdEventHub

After
Below example shows how to update capture description on existing event hub with
starting with / after Module version 9.0.1

$eventhub = Get-AzEventHub -InputObject <ResourceID of event hub>

Set-AzEventHub -InputObject $eventhub -CaptureEnabled -SizeLimitInBytes


10485763 -IntervalInSeconds 120 -Encoding Avro -DestinationName
EventHubArchive.AzureBlockBlob -BlobContainer container -ArchiveNameFormat "
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{S
econd}" -StorageAccountResourceId
"/subscriptions/{SubscriptionId}/resourceGroups/MyResourceGroupName/provider
s/Microsoft.ClassicStorage/storageAccounts/teststorage"

Pipelining support
Accept pipeline Input for InputObject (InputObject pipelining) can be implemented
in the following manner:

Get-AzEventHub -InputObject <ResourceId of the eventhub> | Set-AzEventHub -


MessageRetentionInDays 6

Property pipelining would be disabled. In other words, none of the cmdlet


parameters apart from -InputObject would accept pipeline input.
-InputObject parameter would no longer support parameter aliasing.

Positional Binding
Positional binding is not supported.

Deprecation Announcements
With new release,below cmdlets are marked to be deprecated:

Add-AzEventHubIPRule
Add-AzEventHubVirtualNetworkRule
Remove-AzEventHubIPRule
Remove-AzEventHubVirtualNetworkRule
Remove-AzEventHubNetworkRuleSet

Use Set-AzEventHubNetworkRuleSet to add/remove IP or virtual network rules.

Changes to existing cmdlets


Below list talks about the changes to existing cmdlets in detailed manner:

Application Groups

Get-AzEventHubApplicationGroup
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubApplicationGroupAttributes

to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati

onGroup .

New-AzEventHubApplicationGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubApplicationGroupAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati
onGroup .

-ThrottlingPolicyConfig would be renamed to -Policy and type would change

from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubThrottlingPolicyConfigAttri

butes[] to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati

onGroupPolicy[] . New-AzEventHubThrottlingPolicyConfig can still be used to

construct this object.

Set-AzEventHubApplicationGroup
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubApplicationGroupAttributes

to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati

onGroup .

-ThrottlingPolicyConfig would be renamed to -Policy and type would change


from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubThrottlingPolicyConfigAttri
butes[] to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati

onGroupPolicy[] . New-AzEventHubThrottlingPolicyConfig can still be used to


construct this object.
-InputObject parameter set would have a change in behaviour. Refer the section
to know more.
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

New-AzEventHubThrottlingPolicyConfig
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubThrottlingPolicyConfigAttri
butes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IThrottlin

gPolicy .

Remove-AzEventHubApplicationGroup
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubApplicationGroupAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IApplicati
onGroup .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Network Rule Sets

Set-AzEventHubNetworkRuleSet
Input type of parameter -InputObject and Output type has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSNetworkRuleSetAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.INetworkRu
leSet .

Parameter -IPRule is changing type from


Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes[] to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.INwRuleSet

IPRules[] . Please use New-AzEventHubIPRuleConfig cmdlet to construct an in-


memory object which can be fed as input to -IPRule .
Parameter -VirtualNetworkRule is changing type from
Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetVirtualNetworkRulesAttribu
tes[] to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.INwRuleSet
VirtualNetworkRules[] . Please use New-AzEventHubVirtualNetworkRuleConfig

cmdlet to construct an in-memory object which can then be fed as input to -


VirtualNetworkRule .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided to -InputObject parameter.


-InputObject parameter set would have a change in behaviour. Refer the section

to know more.
Get-AzEventHubNetworkRuleSet
Output type has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSNetworkRuleSetAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.INetworkRu

leSet .

Authorization Rules and SAS Keys

New-AzEventHubAuthorizationRule
Output type has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSSharedAccessAuthorizationRuleAttri

butes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAuthoriza

tionRule .

Set-AzEventHubAuthorizationRule
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.EventHub.Models.PSSharedAccessAuthorizationRuleAttri
butes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAuthoriza
tionRule .

-InputObject parameter set would have a change in behaviour. Refer the section

to know more.
-InputObject parameter would no longer support alias -AuthRuleObj .

Get-AzEventHubAuthorizationRule
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSSharedAccessAuthorizationRuleAttri

butes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAuthoriza

tionRule .

New-AzEventHubKey
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSListKeysAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAccessKe

ys .
Parameter -ResourceGroupName would no longer support alias -ResourceGroup .

Get-AzEventHubKey
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSListKeysAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAccessKe

ys .

Consumer Groups

New-AzEventHubConsumerGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSConsumerGroupAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IConsumer
Group .

Set-AzEventHubConsumerGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSConsumerGroupAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IConsumer

Group .
-InputObject parameter set would have a change in behaviour. Refer the section

to know more.

Get-AzEventHubConsumerGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSConsumerGroupAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IConsumer

Group .

Parameter -MaxCount has been removed. Use -Skip and -Top pagination use case.
Remove-AzEventHubConsumerGroup
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSConsumerGroupAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IConsumer

Group .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Clusters

New-AzEventHubCluster
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ICluster .

-ResourceId would be removed as it is not supported for Creation operation and is


available for use after resource is created.

Set-AzEventHubCluster
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ICluster .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


-InputObject parameter set would have a change in behaviour. Refer the section

to know more.

Get-AzEventHubCluster
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ICluster .

Remove-AzEventHubCluster
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ICluster .

-ResourceId parameter would be deprecated. Henceforth, resource id can be


provided as input to -InputObject parameter.

Get-AzEventHubClustersAvailableRegion
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models. PSEventHubsAvailableCluster[] to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IAvailable

Cluster .

EventHub

New-AzEventHub
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .
-InputObject would be removed as it is not supported for Creation operation and

is available for use after resource is created.

Set-AzEventHub
Input type of parameter -InputObject and output type of the cmdlet have been
changed from Microsoft.Azure.Commands.EventHub.Models.PSEventHubAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .
CaptureDescription class data members would be flattened and would directly be
accessible as data members within
Microsoft. Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .
Please refer to example on top to know more.
-InputObject parameter set would have a change in behaviour. Refer the section
to know more.
-InputObject parameter would no longer support alias -EventHubObj .

Remove-AzEventHub
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .

-ResourceId parameter would be deprecated. Henceforth, resource id can be


provided as input to -InputObject parameter.

Get-AzEventHub
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .

Parameter -MaxCount has been removed. Use -Skip and -Top for pagination use
case.
Parameter -NamespaceObject is being replaced by -InputObject of type
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub .

Private Endpoints

Approve-AzEventHubPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubPrivateEndpointConnectionAt

tributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IPrivateEn

dpointConnection .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Deny-AzEventHubPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubPrivateEndpointConnectionAt

tributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IPrivateEn

dpointConnection .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


Remove-AzEventHubPrivateEndpointConnection
-ResourceId parameter would be deprecated. Henceforth, resource id can be
provided as input to -InputObject parameter.

Get-AzEventHubPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubPrivateEndpointConnectionAt
tributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IPrivateEn
dpointConnection .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Private Links

Get-AzEventHubPrivateLink
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubPrivateLinkResourceAttribu

tes[] to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IPrivateLi

nkResourcesListResult .

Disaster Recovery Configs

Get-AzEventHubGeoDRConfiguration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast

erRecovery .
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast

erRecovery .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

New-AzEventHubGeoDRConfiguration
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubDRConfigurationAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast
erRecovery .

-InputObject and -ResourceId are not supported during resource creation, hence

are being removed.

Remove-AzEventHubGeoDRConfiguration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubDRConfigurationAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast
erRecovery .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Set-AzEventHubGeoDRConfigurationBreakPair
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubDRConfigurationAttributes

to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast

erRecovery .

Set-AzEventHubGeoDRConfigurationFailOver
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubDRConfigurationAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IArmDisast
erRecovery .

Schema Groups

New-AzEventHubSchemaGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubsSchemaRegistryAttributes

to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ISchemaGr

oup .

Get-AzEventHubSchemaGroup
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubsSchemaRegistryAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ISchemaGr

oup .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Remove-AzEventHubSchemaGroup
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.EventHub.Models.PSEventHubsSchemaRegistryAttributes
to
Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ISchemaGr

oup .

CheckNameAvailability

Test-AzEventHubName
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.EventHub.Models.
PSCheckNameAvailabilityResultAttributes to

Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.ICheckName
AvailabilityResult .
Migration Guide for latest Az.ServiceBus
PowerShell Module
Article • 07/04/2023

The Az.ServiceBus PowerShell module version 9.0.1 of Azure PowerShell that would be
released in October introduces improvised cmdlets for public use.

These changes are focused towards making the PowerShell use seamless for the end
users.

The following example installs the latest version of the Az.ServiceBus Azure PowerShell
module.

PowerShell

Install-Module -Name Az.ServiceBus -Repository PSGallery -Scope CurrentUser

Major Changes:

Behavior of -InputObject:
Until Module 8.3.0, -InputObject supports passing an in memory object to additional
cmdlet in pipeline. Due to above design, updating resources becomes a multi step
approach.

With the new module release, -InputObject parameter set would be changing for a
seamless experience.

In contrast to earlier approach, -InputObject would now support object of


corresponding input type as well as resource Id directly to the cmdlet. This would make
cmdlet usage fairly easy and faster as compared to the old approach.

Below example shows the difference in -InputObject Usage:

Before
Below example shows how to update queue properties on existing service bus
namespace with Module version 8.3.0 or older
$QueueObj = Get-AzServiceBusQueue -ResourceGroup Default-ServiceBus-WestUS -
NamespaceName SB-Example1 -QueueName SB-Queue_example1

$QueueObj.ForwardTo = "q1"

$QueueObj.ForwardDeadLetteredMessagesTo = "q1"

$QueueObj.DefaultMessageTimeToLive = "P1YT3H11M2S"

Set-AzServiceBusQueue -ResourceGroup Default-ServiceBus-WestUS -


NamespaceName SB-Example1 -QueueName SB-Queue_example1 -InputObject
$QueueObj

After
Below example shows how to update queue properties starting with / after Module
version 9.0.1

$queue = Get-AzServiceBusQueue -InputObject <ResourceID of ServiceBus Queue>

Set-AzServiceBusQueue -InputObject $queue -ForwardTo q1 -


ForwardDeadLetteredMessagesTo q2 -DefaultMessageTimeToLive (New-Timespan -
Days 365 -Hours 3 -Minutes 11 -Seconds 2)

Input type of parameters -DefaultMessageTimeToLive , -AutoDeleteOnIdle , -


LockDuration , -DuplicateDetectionHistoryTimeWindow has been changed from
System.String to System.Timespan. Hence, ISO 8601 format for timespan can NO
longer be fed as input to these parameters. Please use New-TimeSpan cmdlet
object to construct Timespan variables as shown in the example above. Please refer
New-TimeSpan to know more about New-TimeSpan.

Pipelining support
Accept pipeline Input for InputObject (InputObject pipelining) can be implemented
in the following manner:

Get-AzServiceBusQueue -InputObject <ResourceId of the queue> | Set-


AzServiceBusQueue -MessageRetentionInDays 6

Property pipelining would be disabled. In other words, None of the cmdlet


parameters apart from -InputObject would accept pipeline input.
-InputObject parameter would no longer support parameter aliasing.
Positional Binding
Positional binding is not supported.

Deprecation Announcements
With new release,below cmdlets are marked to be deprecated:

Add-AzServiceBusIPRule
Add-AzServiceBusVirtualNetworkRule
Remove-AzServiceBusIPRule
Remove-AzServiceBusVirtualNetworkRule
Remove-AzServiceBusNetworkRuleSet

Use Set-AzServiceBusNetworkRuleSet to add/remove multiple IP/ virtual network rules.

Changes to existing Cmdlets

Network Rule Sets

Set-AzServiceBusNetworkRuleSet
Input type of parameter -InputObject and Output type of the cmdlet have been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSNetworkRuleSetAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.INetwork
RuleSet .

Parameter -IPRule is changing type from


Microsoft.Azure.Commands.ServiceBus.Models.PSNWRuleSetIpRulesAttributes[] to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.INwRuleS

etIPRules[] .Please use New-AzServiceBusIPRuleConfig cmdlet to construct an in-


memory object which can then be fed as input to -IPRule .
Parameter -VirtualNetworkRule is changing type from
Microsoft.Azure.Commands.ServiceBus.Models.PSNWRuleSetVirtualNetworkRulesAttri

butes[] to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.INwRuleS
etVirtualNetworkRules[] .Please use New-AzServiceBusVirtualNetworkRuleConfig
cmdlet to construct an in-memory object which can then be fed as input to -
VirtualNetworkRule .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided to -InputObject parameter.


-InputObject parameter set would have a change in behaviour. Refer the section

to know more.

Get-AzServiceBusNetworkRuleSet
Input type of parameter -InputObject and Output type of the cmdlet have been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSNetworkRuleSetAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.INetwork

RuleSet .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided to -InputObject parameter.

Authorization Rules and SAS Keys

New-AzServiceBusAuthorizationRule
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSharedAccessAuthorizationRuleAttr
ibutes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbAutho
rizationRule .

Set-AzServiceBusAuthorizationRule
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSharedAccessAuthorizationRuleAttr

ibutes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbAutho

rizationRule .
-InputObject parameter set would have a change in behaviour. Refer the section

to know more.
-InputObject parameter would no longer support alias -AuthRuleObj .
Get-AzServiceBusAuthorizationRule
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSharedAccessAuthorizationRuleAttr

ibutes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbAutho

rizationRule .

New-AzServiceBusKey
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSListKeysAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IAccess
Keys .

Get-AzServiceBusKey
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSListKeysAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IAccess
Keys .

Queue Entity

New-AzServiceBusQueue
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSQueueAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbQueu

e.

-SizeInBytes and -MessageCount are readonly parameters and are getting


removed.
Parameter -EnableBatchedOperations is renamed to -EnableBatchedOperation .
Input type of parameters -DefaultMessageTimeToLive , -AutoDeleteOnIdle , -
LockDuration , -DuplicateDetectionHistoryTimeWindow has been changed from

System.String to System.Timespan. Hence, ISO 8601 format for timespan can NO


longer be fed as input to these parameters. Please use New-TimeSpan cmdlet
object to construct Timespan variables. Please refer New-TimeSpan to know more
about New-TimeSpan.

Set-AzServiceBusQueue
Input type of parameter -InputObject and of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSQueueAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbQueu

e.
-InputObject parameter set would have a change in behaviour. Refer the section

to know more.
-InputObject parameter would no longer support alias -QueueObj .

Remove-AzServiceBusQueue
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSQueueAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbQueu

e.
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Get-AzServiceBusQueue
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSQueueAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbQueu
e.

Parameter -MaxCount has been removed. Use -Skip and -Top for pagination use
cases.

Topic Entity

Get-AzServiceBusTopic
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSTopicAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbTopi

c.
Parameter -MaxCount has been removed. Use -Skip and -Top for pagination use
cases.
Parameter -ResourceGroupName would no longer support alias -ResourceGroup .

Set-AzServiceBusTopic
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from Microsoft.Azure.Commands.ServiceBus.Models.PSTopicAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbTopi

c.
-InputObject parameter set would have a change in behaviour. Refer the section

to know more.
-InputObject parameter would no longer support alias -TopicObj .

Parameter -ResourceGroupName would no longer support alias -ResourceGroup .

New-AzServiceBusTopic
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSTopicAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbTopi
c.

-SizeInBytes is readonly parameter and is getting removed.


Parameter -EnableBatchedOperations would be renamed to -
EnableBatchedOperation .

Input type of parameters -DefaultMessageTimeToLive , -AutoDeleteOnIdle , -


DuplicateDetectionHistoryTimeWindow has been changed from System.String to

System.Timespan. Hence, ISO 8601 format for timespan can NO longer be fed as
input to these parameters. Please use New-TimeSpan cmdlet object to construct
Timespan variables. Please refer New-TimeSpan to know more about New-
TimeSpan.
Parameter -ResourceGroupName would no longer support alias -ResourceGroup .

Remove-AzServiceBusTopic
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSTopicAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbTopi

c.
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


Parameter -ResourceGroupName would no longer support alias -ResourceGroup .

Rule Entity

Get-AzServiceBusRule
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSRulesAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IRule .
Parameter -MaxCount has been removed. Use -Skip and -Top for pagination use
cases.

Set-AzServiceBusRule
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from Microsoft.Azure.Commands.ServiceBus.Models.PSRulesAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IRule .

-InputObject parameter set would have a change in behaviour. Refer the section

to know more.

New-AzServiceBusRule
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSRulesAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IRule .

Parameter -RequiresPreprocessing is being renamed to -


ActionRequiresPreprocessing .

Remove-AzServiceBusRule
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSRulesAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IRule .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Subscription Entity

Get-AzServiceBusSubscription
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSubscriptionAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbSubsc
ription .

Parameter -MaxCount has been removed. Use -Skip and -Top for pagination use
cases.

New-AzServiceBusSubscription
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSubscriptionAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbSubsc

ription .
Input type of parameters -DefaultMessageTimeToLive , -AutoDeleteOnIdle , -
LockDuration , -DuplicateDetectionHistoryTimeWindow has been changed from

System.String to System.Timespan. Hence, ISO 8601 format for timespan can NO


longer be fed as input to these parameters. Please use New-TimeSpan cmdlet
object to construct Timespan variables. Please refer New-TimeSpan to know more
about New-TimeSpan.

Set-AzServiceBusSubscription
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSubscriptionAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbSubsc
ription .

-InputObject parameter set would have a change in behaviour. Refer the section
to know more.
-InputObject parameter would no longer support alias -SubscriptionObj .
Remove-AzServiceBusSubscription
Input type of parameter -InputObject and Output type of the cmdlet has been
changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSSubscriptionAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ISbSubsc
ription .

-ResourceId parameter would be deprecated. Henceforth, resource id can be


provided as input to -InputObject parameter.

Private Endpoints

Approve-AzServiceBusPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusPrivateEndpointConnecti

onAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IPrivate

EndpointConnection .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Deny-AzServiceBusPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusPrivateEndpointConnecti

onAttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IPrivate

EndpointConnection .
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Remove-AzServiceBusPrivateEndpointConnection
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Get-AzServiceBusPrivateEndpointConnection
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusPrivateEndpointConnecti
onAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IPrivate
EndpointConnection .

-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.

Private Links

Get-AzServiceBusPrivateLink
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusPrivateLinkResourceAttr

ibutes[] to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IPrivate

LinkResourcesListResult .

Disaster Recovery Configs

Get-AzServiceBusGeoDRConfiguration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa

sterRecovery .
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu
tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa

sterRecovery .
-Name parameter would be removed from -InputObject parameter set.

Henceforth, -InputObject must contain the ResourceId of Disaster Recovery


Configuration alias.
-ResourceId parameter would be deprecated. Henceforth, resource id can be

provided as input to -InputObject parameter.


New-AzServiceBusGeoDRConfiguration
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu

tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa
sterRecovery .

-InputObject and -ResourceId are not supported during resource creation, hence
are being removed.

Remove-AzServiceBusGeoDRConfiguration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu
tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa
sterRecovery .

-ResourceId parameter would be deprecated. Henceforth, resource id can be


provided as input to -InputObject parameter.

Set-AzServiceBusGeoDRConfigurationBreakPair
Parameter -ResourceId is being removed. Henceforth, resource id can be provided
as input to -InputObject .
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu
tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa

sterRecovery .

Set-AzServiceBusGeoDRConfigurationFailOver
Parameter -ResourceId is being removed. Henceforth, resource id can be provided
as input to -InputObject .
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu
tes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IArmDisa

sterRecovery .

Migration Configurations

Complete-AzServiceBusMigration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu

tes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati

onConfigProperties .

Parameter -ResourceId is being removed. Henceforth, resource id can be provided


as input to -InputObject .

Get-AzServiceBusMigration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusMigrationConfigurationA

ttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati

onConfigProperties .

Output type of the cmdlet has been changed from


Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusMigrationConfigurationA

ttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati

onConfigProperties .

Start-AzServiceBusMigration
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusMigrationConfigurationA

ttributes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati

onConfigProperties .

Remove-AzServiceBusMigration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu
tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati
onConfigProperties .

Stop-AzServiceBusMigration
Input type of parameter -InputObject has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSServiceBusDRConfigurationAttribu

tes to

Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.IMigrati
onConfigProperties .

Parameter -ResourceId is being removed. Henceforth, resource id can be provided


as input to -InputObject .

CheckNameAvailability

Test-AzServiceBusName
Output type of the cmdlet has been changed from
Microsoft.Azure.Commands.ServiceBus.Models.PSCheckNameAvailabilityResultAttri

butes to
Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.Models.Api202201Preview.ICheckNa

meAvailabilityResult .
Migration Guide for Az 8.0.0
Article • 07/04/2023

Az.Aks

Get-AzAks

Alias Get-AzAks is removed. Please use Get-AzAksCluster instead.

Before

PowerShell

Get-AzAks -ResourceGroupName $resourceGroupName -Name $name

After

PowerShell

Get-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name

New-AzAks

Alias New-AzAks is removed. Please use New-AzAksCluster instead.

Before

PowerShell

New-AzAks -ResourceGroupName $resourceGroupName -Name $name -Location


$location

After

PowerShell

New-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name -Location


$location

Set-AzAks

Alias Set-AzAks is removed. Please use Set-AzAksCluster instead.

Before

PowerShell

Set-AzAks -ResourceGroupName $resourceGroupName -Name $name

After

PowerShell

Set-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name

Remove-AzAks

Alias Remove-AzAks is removed. Please use Remove-AzAksCluster instead.

Before

PowerShell

Remove-AzAks -ResourceGroupName $resourceGroupName -Name $name

After

PowerShell

Remove-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name

Az.Cdn

New-AzCdnProfile
Changed the type of parameter Sku to SkuName
Changed the type of parameter
ProfileName to Name

Before

PowerShell

$profileSku = "Standard_Microsoft";

$cdnProfileName = "profileNameXXXX";

$resourceGroupName = "myresourcegroup"

New-AzCdnProfile -Sku $profileSku -ProfileName $cdnProfileName -


ResourceGroupName $resourceGroupName -Location Global

After

PowerShell

$profileSku = "Standard_Microsoft";

$cdnProfileName = "profileNameXXXX";

$resourceGroupName = "myresourcegroup"

New-AzCdnProfile -SkuName $profileSku -Name $cdnProfileName -


ResourceGroupName $resourceGroupName -Location Global

New-AzCdnEndpoint

Changed parameter EndpointName to Name


Changed parameter GeoFilters to
GeoFilter
Changed parameter DefaultOriginGroup to DefaultOriginGroupId
Merge
parameters
OriginHostName , OriginId , OriginName , Priority , PrivateLinkApprovalMessage , PrivateLink

Location , PrivateLinkResourceId , Weight , HttpPort , HttpsPort into parameter Origin


Merge parameters
OriginGroupName , OriginGroupProbeIntervalInSeconds , OriginGroupProbePath , OriginGroup
ProbeProtocol , OriginGroupProbeRequestType into parameter OriginGroup
Split parameter

DeliveryPolicy in to parameters DeliveryPolicyDescription , DeliveryPolicyRule


Add

parameters SubscriptionId , UrlSigningKey , WebApplicationFirewallPolicyLinkId


Delete
parameter CdnProfile

Before

PowerShell
New-AzCdnEndpoint -ResourceGroupName myresourcegroup -ProfileName
mycdnprofile -Location westus -EndpointName myendpoint `

-OriginName mystorage -OriginHostName


mystorage.blob.core.windows.net `
-OriginHostHeader mystorage.blob.core.windows.net -
IsHttpAllowed $false

After

PowerShell

$origin = @{

Name = "origin1"

HostName = "host1.hello.com"

};

$location = "westus"

$endpoint = New-AzCdnEndpoint -Name $endpointName -ResourceGroupName


$ResourceGroupName -ProfileName $cdnProfileName -Location $location -Origin
$origin

New-AzCdnDeliveryPolicy

Delete command New-AzCdnDeliveryPolicy . Use New-AzCdnDeliveryRuleObject create


rule object and used it in New-AzCdnEndpoint directly

New-AzCdnDeliveryRule

Changed command name to New-AzCdnDeliveryRuleObject

Before

PowerShell

New-AzCdnDeliveryRule -Name "rule1" -Order 1 -Condition $cond1 -Action


$action1

After

PowerShell
$cond1 = New-AzCdnDeliveryRuleIsDeviceConditionObject -Name "IsDevice" -
ParameterMatchValue "Desktop"

$action1 = New-AzCdnUrlRewriteActionObject -Name "UrlRewrite" -


ParameterDestination "/def" -ParameterSourcePattern "/abc" -
ParameterPreserveUnmatchedPath $true

$rule1 = New-AzCdnDeliveryRuleObject -Name "Rule1" -Action $action1,$action2


-Condition $cond1 -Order 1

New-AzCdnCustomDomain

Changed the type of parameter CustomDomainName to Name


Add parameter
SubscriptionId
Delete parameter CdnEndpoint

Before

PowerShell

New-AzCdnCustomDomain -ResourceGroupName $resourceGroupName -ProfileName


$cdnProfileName -EndpointName $endpointName -CustomDomainName
$customDomainName -HostName $customDomainHostName

After

PowerShell

New-AzCdnCustomDomain -ResourceGroupName $resourceGroupName -ProfileName


$cdnProfileName -EndpointName $endpointName -Name $customDomainName -
HostName $customDomainHostName -SubscriptionId $subId

Set-AzCdnProfile

Replaced by command Update-AzCdnProfile

Before

PowerShell

$profileObject = Get-AzCdnProfile -ResourceGroupName myresourcegroup -


ProfileName mycdnprofile

$profileObject.Tags = @{"key"="value"}

Set-AzCdnProfile -CdnProfile $profileObject

After

PowerShell

$profileSku = "Standard_Microsoft";

$cdnProfileName = "profileNameXXXX";

$resourceGroupName = "myresourcegroup"

New-AzCdnProfile -SkuName $profileSku -Name $cdnProfileName -


ResourceGroupName $resourceGroupName -Location Global

$tags = @{

Tag1 = 11

Tag2 = 22

Update-AzCdnProfile -Name $cdnProfileName -ResourceGroupName


$resourceGroupName -Tag $tags

Set-AzCdnEndpoint

Replaced by command Update-AzCdnEndpoint


DeliveryPolicyDescription and
DeliveryPolicyRule should be provided together when you want to update one of

them.

Before

PowerShell

$endpointObject = Get-AzCdnEndpoint -ResourceGroupName myresourcegroup -


ProfileName mycdnprofile -EndpointName myendpoint

$endpointObject.IsHttpAllowed = $false

Set-AzCdnEndpoint -CdnEndpoint $endpointObject

After

PowerShell

$tags = @{

Tag1 = 11

Tag2 = 22

//Update tags

Update-AzCdnEndpoint -Name $endpointName -ProfileName $cdnProfileName -


ResourceGroupName $resourceGroupName -Tag $tags

//Update DeliveryPolicyDescription or DeliveryPolicyRule

Update-AzCdnEndpoint -Name $endpointName -ProfileName $cdnProfileName -


ResourceGroupName $resourceGroupName `

-DeliveryPolicyDescription $descprption -DeliveryPolicyRule $rule

Set-AzCdnOriginGroup

Replaced by command Update-AzCdnOriginGroup

Before

PowerShell

Set-AzCdnOriginGroup -ResourceGroupName $resourceGroupName -ProfileName


$profileName -EndpointName $endpointName -OriginGroupName $originGroupName -
OriginId $originIds -ProbeIntervalInSeconds $probeInterval

After

PowerShell

Update-AzCdnOriginGroup -EndpointName $endpointName -Name $originGroup.Name


-ProfileName $cdnProfileName -ResourceGroupName $ResourceGroupName `

-HealthProbeSetting $healthProbeParametersObject2 -Origin


@(@{ Id = $originId })

Set-AzCdnOrigin

Replaced by command Update-AzCdnOrigin

Before

PowerShell

Set-AzCdnOrigin -ResourceGroupName $resourceGroupName -ProfileName


$cdnProfileName -EndpointName $endpointName `

-OriginName $originName -HostName "mystorage2.blob.core.windows.net"

After

PowerShell
Update-AzCdnOrigin -ResourceGroupName $resourceGroupName -ProfileName
$cdnProfileName -EndpointName $endpointName `

-Name $originName -HostName "mystorage2.blob.core.windows.net" -


HttpPort 456 -HttpsPort 789

Az.EventHub

New-AzEventHubNamespace

Parameter Identity is removed.

Before

PowerShell

New-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name


MyNamespaceName -Location northeurope -SkuName Premium -IdentityType
SystemAssigned -Identity

After

PowerShell

New-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name


MyNamespaceName -Location northeurope -SkuName Premium -IdentityType
SystemAssigned

Set-AzEventHubNamespace

Parameter Identity is removed.

Before

PowerShell

Set-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name


MyNamespaceName -EncryptionConfig $ec1,$ec2 -Identity

After
PowerShell

Set-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name


MyNamespaceName -EncryptionConfig $ec1,$ec2

Az.HealthcareApis

Set-AzHealthcareApisService

Combine New-AzHealthcareApisService and Set-AzHealthcareApisService into New-


AzHealthcareApisService

Before

PowerShell

Set-AzHealthcareApisService -Name MyService -ResourceGroupName


MyResourceGroup -CosmosOfferThroughput 500

After

PowerShell

New-AzHealthcareApisService -Name MyService -ResourceGroupName


MyResourceGroup -Location MyLocation -Kind fhir-R4 -CosmosOfferThroughput
500

Get-AzHealthcareApisService

-ResourceId is removed

Before

PowerShell

Get-AzHealthcareApisService -ResourceId $ResourceId

After
PowerShell

Get-AzHealthcareApisService -ResourceGroupName $ResourceGroup -Name $Name

Remove-AzHealthcareApisService

-ResourceId is removed

Before

PowerShell

Remove-AzHealthcareApisService -ResourceId $ResourceId

After

PowerShell

Remove-AzHealthcareApisService -ResourceGroupName $ResourceGroup -Name $Name

New-AzHealthcareApisService

-ManagedIdentity is renamed to -IdentityType


-FhirVersion is removed and the
desired content can be selected with the parameter -Kind
-DisableCorsCredential and
-AllowCorsCredential : now uniformly named as -AllowCorsCredential , example: -
AllowCorsCredential:$false or -AllowCorsCredential:$true
-DisableSmartProxy and -
EnableSmartProxy : now uniformly named as -EnableSmartProxy , example: -
EnableSmartProxy:$false or -EnableSmartProxy:$true

Before

PowerShell

New-AzHealthcareApisService -Name MyService -ResourceGroupName


MyResourceGroup -Location MyLocation -FhirVersion fhir-R4 -
CosmosOfferThroughput 500 -ManagedIdentity $IdentityType -
DisableCorsCredential -DisableSmartProxy

After
PowerShell

New-AzHealthcareApisService -Name MyService -ResourceGroupName


MyResourceGroup -Location MyLocation -Kind fhir-R4 -CosmosOfferThroughput
500 -IdentityType $IdentityType -AllowCorsCredential:$false -
EnableSmartProxy:$false

Migration Guide for Az 7.0.0


Article • 07/04/2023

Az.Accounts

Context and account cmdlets


Output of the following cmdlets have been changed:

Get-AzContext
Remove-AzContext
Rename-AzContext
Select-AzContext
Connect-AzAccount
Disconnect-AzAccount
Import-AzContext
Save-AzContext

Removed ServicePrincipalSecret and CertificatePassword in PSAzureRmAccount

Before

PowerShell

PS C:\> $cred = Get-Credential

PS C:\> Connect-AzAccount -ServicePrincipal -Tenant 54826b22-xxxx-xxxx-xxxx-


xxxxxxxxxxxxx -Credential $cred

PS C:\> (Get-AzContext).Account.ExtendedProperties

Key Value

--- -----

CertificatePath C:\certificate.pfx

CertificatePassword password****

Tenants 54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx

ServicePrincipalSecret 7QK7Q********************************

Subscriptions 0b1f6471-xxxx-xxxx-xxxx-xxxxxxxxxxxxx

After

PowerShell
PS C:\> $cred = Get-Credential

PS C:\> Connect-AzAccount -ServicePrincipal -Tenant 54826b22-xxxx-xxxx-xxxx-


xxxxxxxxxxxxx -Credential $cred

PS C:\> (Get-AzContext).Account.ExtendedProperties

Key Value

--- -----

CertificatePath C:\certificate.pfx

Tenants 54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx

Subscriptions 0b1f6471-xxxx-xxxx-xxxx-xxxxxxxxxxxxx

Az.Aks

Get-AzAksVersion

Property Upgrades in output changed to Upgrade .

Before

PowerShell

PS C:\> (Get-AzAksVersion -location eastus).Upgrades

OrchestratorType OrchestratorVersion IsPreview

---------------- ------------------- ---------

Kubernetes 1.19.13

Kubernetes 1.20.7
Kubernetes 1.20.9
Kubernetes 1.20.7
Kubernetes 1.20.9
Kubernetes 1.20.9
Kubernetes 1.21.1
Kubernetes 1.21.2
Kubernetes 1.21.1
Kubernetes 1.21.2
Kubernetes 1.21.2
Kubernetes 1.22.1 True

Kubernetes 1.22.2 True

Kubernetes 1.22.1 True

Kubernetes 1.22.2 True

Kubernetes 1.22.2 True

After

PowerShell
PS C:\> (Get-AzAksVersion -location eastus).Upgrade

OrchestratorType OrchestratorVersion IsPreview

---------------- ------------------- ---------

Kubernetes 1.19.13

Kubernetes 1.20.7
Kubernetes 1.20.9
Kubernetes 1.20.7
Kubernetes 1.20.9
Kubernetes 1.20.9
Kubernetes 1.21.1
Kubernetes 1.21.2
Kubernetes 1.21.1
Kubernetes 1.21.2
Kubernetes 1.21.2
Kubernetes 1.22.1 True

Kubernetes 1.22.2 True

Kubernetes 1.22.1 True

Kubernetes 1.22.2 True

Kubernetes 1.22.2 True

Az.ContainerInstance

New-AzContainerGroup

Removed parameter NetworkProfileId, added SubnetId as its alternative

Before

PowerShell

PS C:\> $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -


Name test-cg -Location eastus -Container $container -OsType Linux -
NetworkProfileId
"/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virt
ualNetworks/{vnetName}/subnets/{subnetName}"

PS C:\> $containerGroup.NetworkProfileId

/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtu
alNetworks/{vnetName}/subnets/{subnetName}

After

PowerShell
PS C:\> $container = New-AzContainerInstanceObject -Name test-container -
Image nginx

PS C:\> $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -


Name test-cg -Location eastus -Container $container -OsType Linux -
RestartPolicy "Never" -IpAddressType 'Private' -SubnetId
@{"Id"="/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Netwo
rk/virtualNetworks/{vnetName}/subnets/{subnetName}"; "Name"="subnet"}

PS C:\> $containerGroup.SubnetId | fl

Id :
/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtu
alNetworks/{vnetName}/subnets/{subnetName}

Name : subnet

Invoke-AzContainerInstanceCommand

Displayed command execution result as the cmdlet output by connecting websocket in


backend

Before

PowerShell

PS C:\> $websocket = Invoke-AzContainerInstanceCommand -ContainerGroupName


test-cg -ContainerName test-container -ResourceGroupName test-rg -Command
"echo hello" -TerminalSizeCol 12 -TerminalSizeRow 12

PS C:\> $websocket

Password WebSocketUri

-------- ------------

****************** wss://bridge-linux-
xx.eastus.management.azurecontainer.io/exec/caas-
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/bridge-xxxxxxxxxxxxxxx?rows=12&cols=12api-
version=2018-02-01-preview

User needs connect websocket using password to fetch command execution


result

After

PowerShell

PS C:\> Invoke-AzContainerInstanceCommand -ContainerGroupName test-cg -


ContainerName test-container -ResourceGroupName test-rg -Command "echo
hello"

hello

Az.Functions

Update-AzFunctionApp, Update-AzFunctionAppPlan

Update-AzFunctionApp will prompt for confirmation. This behavior can be bypassed by


specifying -Force .

Before

PowerShell

Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName


MyResourceGroupName -PlanName NewPlanName

After

PowerShell

Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName


MyResourceGroupName -PlanName NewPlanName -Force

New-AzFunctionApp

If FunctionsVersion parameter is not specified when executing the New-AzFunctionApp


cmdlet, then the default Functions version will be set to 4 .

There is no change to the usage.

Remove-AzFunctionApp

If this is the last app in the app service plan, then the plan will not be deleted. Before
this release, the app plan will also be deleted.

There is no change to the usage.

Az.HDInsight

New-AzHDInsightCluster

Changed the type of parameter "OSType" from


Microsoft.Azure.Management.HDInsight.Models.OSType to System.string

There is no change to the usage.

New-AzHDInsightCluster, New-AzHDInsightClusterConfig

Changed the type of parameter "ClusterTier" from


Microsoft.Azure.Management.HDInsight.Models.ClusterTier to System.string

There is no change to the usage.

Set-AzHDInsightClusterDiskEncryptionKey, Set-
AzHDInsightClusterSize

The output type has changed from


'Microsoft.Azure.Management.HDInsight.Models.Cluster' to
'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightCluster'.

All properties remain the same, so there is no change to the usage.

Cluster cmdlets

The type of property 'AssignedIdentity' has changed from


'Microsoft.Azure.Management.HDInsight.Models.ClusterIdentity' to
'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightClusterIdentity'.
All properties remain the same, so there is no change to the usage.

Get-AzHDInsightProperties

The generic type for output 'property VmSizes' has been changed from
System.Collections.Generic.IDictionary2[System.String,Microsoft.Azure.Commands.HDIn
sight.Models.Management.AzureHDInsightVmSizesCapability] to

System.Collections.Generic.IList1[System.String] .

Before

PowerShell

PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"

PS C:\> $availableVmSizes = $result.VmSizes['iaas'].AvailableVmSizes

After

PowerShell

PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"

PS C:\> $availableVmSizes = $result.VmSizes

Az.KeyVault

New-AzKeyVaultRoleDefinition, Get-
AzKeyVaultRoleDefinition

The following properties in PSKeyVaultPermission model are renamed:

AllowedActions -> Actions

DeniedActions -> NotActions


AllowedDataActions -> DataActions

DeniedDataActions -> NotDataActions

Before

PowerShell
PS C:\> $backupRole = Get-AzKeyVaultRoleDefinition -HsmName myHsm -
RoleDefinitionName "Managed HSM Backup User"

PS C:\> $backupRole.Permissions

AllowedActions DeniedActions AllowedDataActions DeniedDataActions

-------------- ------------- ------------------ -----------------

0 action(s) 0 action(s) 3 action(s) 0 action(s)

PS C:\> $backupRole.Permissions.AllowedDataActions

Microsoft.KeyVault/managedHsm/backup/start/action

Microsoft.KeyVault/managedHsm/backup/status/action

Microsoft.KeyVault/managedHsm/keys/backup/action

After

PowerShell

PS C:\> $backupRole = Get-AzKeyVaultRoleDefinition -HsmName myHsm -


RoleDefinitionName "Managed HSM Backup User"

PS C:\> $backupRole.Permissions

Actions NotActions DataActions NotDataActions

------- ---------- ----------- --------------

0 action(s) 0 action(s) 3 action(s) 0 action(s)

PS C:\> $backupRole.Permissions.DataActions

Microsoft.KeyVault/managedHsm/backup/start/action

Microsoft.KeyVault/managedHsm/backup/status/action

Microsoft.KeyVault/managedHsm/keys/backup/action

Az.ManagedServices

New-AzManagedServicesDefinition

The -DisplayName parameter was removed.

Before

PowerShell

PS C:\> New-AzManagedServicesDefinition -DisplayName "MyTestDefinition" -


ManagedByTenantId 72f9acbf-86f1-41af-91ab-2d7ef011db47 -RoleDefinitionId
acdd72a7-3385-48ef-bd42-f606fba81ae7 -PrincipalId 714160ec-87d5-42bb-8b17-
287c0dd7417d

After

PowerShell

PS C:\> $permantAuth = New-AzManagedServicesAuthorizationObject -PrincipalId


"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -RoleDefinitionId "xxxxxxxx-xxxx-
xxxx-xxxx-xxxxxxxxxxxx" -PrincipalIdDisplayName "Test user" -
DelegatedRoleDefinitionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","xxxxxxxx-
xxxx-xxxx-xxxx-xxxxxxxxxxxx"

PS C:\> New-AzManagedServicesDefinition -Name xxxxxxxx-xxxx-xxxx-xxxx-


xxxxxxxxxxxx -RegistrationDefinitionName "Test definition" -
ManagedByTenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Authorization
$permantAuth -Description "Test definition desc" -Scope
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Az.Monitor

Get-AzLog

The type of the properties 'EventName', 'Category', 'ResourceProviderName',


'OperationName', 'Status', 'SubStatus has changed from
Microsoft.Azure.Management.Monitor.Models.LocalizableString to System.String

Before

PowerShell

PS C:\> $log = Get-AzLog -MaxRecord 1

PS C:\> $eventName = $log.EventName.LocalizedValue

PS C:\> $category = $log.Category.LocalizedValue

PS C:\> $resourceProviderName = $log.ResourceProviderName.LocalizedValue

PS C:\> $operationName = $log.OperationName.LocalizedValue

PS C:\> $status = $log.Status.LocalizedValue

PS C:\> $subStatus = $log.SubStatus.LocalizedValue

After

PowerShell
PS C:\> $log = Get-AzLog -MaxRecord 1

PS C:\> $eventName = $log.EventName

PS C:\> $category = $log.Category

PS C:\> $resourceProviderName = $log.ResourceProviderName

PS C:\> $operationName = $log.OperationName

PS C:\> $status = $log.Status

PS C:\> $subStatus = $log.SubStatus

Get-AzMetric,Get-AzMetricDefinition

The type of property 'Unit' has changed to System.String

There is no change to the usage.

New-AzMetricAlertRuleV2Criteria

The type of property 'TimeAggregation' has changed to System.String

There is no change to the usage.

Az.OperationalInsights

Get-AzOperationalInsightsCluster

Made "list" the default parameter set.

Before

PowerShell

There is no default parameter set.

After

PowerShell
Default parameter set is now "list", when providing resource group name -
return all clusters for the given resource group.

Update-AzOperationalInsightsCluster

Made "UpdateByNameParameterSet" the default parameter set.

Before

PowerShell

There is no default parameter set.

After

PowerShell

Default parameter set is now "UpdateByNameParameterSet".

Az.RecoveryServices

Get-AzRecoveryServicesBackupContainer

Changed the BackupManagementType from MARS to MAB. Functionality remains same,


this is to bring consistency across cmdlets.

Before

PowerShell

$containers = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -


BackupManagementType MARS -VaultId $vault.ID

After

PowerShell

$cont = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -


BackupManagementType MAB -VaultId $vault.ID

Get-AzRecoveryServicesBackupItem

Changed the BackupManagementType from MARS to MAB. Functionality remains same,


this is to bring consistency across cmdlets

Before

PowerShell

Get-AzRecoveryServicesBackupItem -BackupManagementType MARS -VaultId


$vault.ID -WorkloadType FileFolder

After

PowerShell

Get-AzRecoveryServicesBackupItem -BackupManagementType MAB -VaultId


$vault.ID -WorkloadType FileFolder

Get-AzRecoveryServicesBackupJob

Changed the BackupManagementType from MARS to MAB. Functionality remains same,


this is to bring consistency across cmdlets

Before

PowerShell

Get-AzRecoveryServicesBackupJob -BackupManagementType MARS -VaultId


$vault.ID

After

PowerShell

Get-AzRecoveryServicesBackupJob -BackupManagementType MAB -VaultId $vault.ID

Az.Resources

AzAD cmdlets

Please refer to the migration guide of the Active Directory cmdlets.

PolicyAssignment cmdlets

The type of property 'Identity' of type


'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyA
ssignment' has changed from 'System.Management.Automation.PSObject' to
'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyId
entity'.

Before

PowerShell

PS C:\> $v = Get-AzPolicyAssignment -Id $someId

PS C:\> Write-Host $v.type, $v.principalId, $v.tenantId

After

PowerShell

PS C:\> $v = Get-AzPolicyAssignment -Id $someId

PS C:\> Write-Host $v.IdentityType, $v.PrincipalId, $v.TenantId,


$v.UserAssignedIdentities

Az.Storage

Get-AzRmStorageShare

Parameter "Name" has been removed from parameter set "ShareResourceId", since
name can be inferred from the resource ID.

Before

PowerShell
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..." -Name
"MyStorageShare"

After

PowerShell

$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..."

Migration Guide for Az 6.0.0


Article • 07/04/2023

This document describes the changes between the 5.0.0 and 6.0.0 versions of Az.

Migration Guide for Az 6.0.0


Supported versions of PowerShell
Az.Accounts
Connect-AzAccount
Az.ContainerInstance
New-AzContainerGroup
Remove-AzContainerGroup
Get-AzContainerGroup
Get-AzContainerInstanceLog
Az.DesktopVirtualization
New-AzWvdHostPool
Expand-AzWvdMsixImage
New-AzWvdMsixPackage
Update-AzWvdHostPool
Az.StreamAnalytics
Get-AzStreamAnalyticsDefaultFunctionDefinition
New-AzStreamAnalyticsJob
New-AzStreamAnalyticsTransformation
Az.RecoveryServices
Set-AzRecoveryServicesBackupProperty
Get-AzRecoveryServicesBackupJobDetail
Az.Storage
Remove-AzRmStorageShare
Az.ServiceFabric
Add-AzServiceFabricClusterCertificate
Get-AzServiceFabricManagedClusterService
New-AzServiceFabricManagedCluster
New-AzServiceFabricManagedClusterService
Remove-AzServiceFabricClusterCertificate
Remove-AzServiceFabricManagedClusterService
Set-AzServiceFabricManagedCluster
Set-AzServiceFabricManagedClusterService

Supported versions of PowerShell


Due to CVE-2021-26701 Az 6 is only supported on the following platforms:

PowerShell 7.1: version 7.1.3 or above


PowerShell 7.0: version 7.0.6 or above
Windows PowerShell 5.1

For further details, refer to the Azure PowerShell support lifecycle

Az.Accounts

Connect-AzAccount

Removed obsolete parameters ManagedServiceHostName, ManagedServicePort and


ManagedServiceSecret.

Before

PowerShell

Connect-AzAccount -Identity -ManagedServiceSecret $secret

After

PowerShell

#To use customized MSI endpoint, please set environment variable


MSI_ENDPOINT, e.g. "http://localhost:50342/oauth2/token"; to use customized
MSI secret, please set environment variable MSI_SECRET.

Connect-AzAccount -Identity

Az.ContainerInstance

New-AzContainerGroup

No longer supports the parameter Image , RegistryCredential ,


AzureFileVolumeShareName , AzureFileVolumeAccountCredential ,

AzureFileVolumeMountPath , IdentityId , AssignIdentity , OsType , Cpu , MemoryInGB ,


IpAddressType , DnsNameLabel , Port , Command , EnvironmentVariable ,

RegistryServerDomain and no alias was found for the original parameter name.
Before

PowerShell

PS C:\> New-AzContainerGroup -ResourceGroupName demo -Name mycontainer -


Image nginx -OsType Linux -IpAddressType Public -Port @(8000)

ResourceGroupName : demo

Id : /subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/demo/providers/Microsoft.ContainerInstance/conta
inerGroups/mycontainer

Name : mycontainer

Type : Microsoft.ContainerInstance/containerGroups

Location : westus
Tags :

ProvisioningState : Creating

Containers : {mycontainer}

ImageRegistryCredentials :

RestartPolicy :

IpAddress : 13.88.10.240

Ports : {8000}

OsType : Linux

Volumes :

State : Running

Events : {}

After

PowerShell

PS C:\> $port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP

PS C:\> $port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP

PS C:\> $container = New-AzContainerInstanceObject -Name test-container -


Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)

PS C:\> $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -


Name test-cg -Location eastus -Container $container -OsType Linux -
RestartPolicy "Never" -IpAddressType Public

Location Name Type

-------- ---- ----

eastus test-cg Microsoft.ContainerInstance/containerGroups

Remove-AzContainerGroup

The cmdlet 'Remove-AzContainerGroup' no longer supports the parameter 'ResourceId'


and no alias was found for the original parameter name.
Before

PowerShell

PS C:\> Find-AzResource -ResourceGroupEquals MyResourceGroup -


ResourceNameEquals MyContainer | Remove-AzContainerGroup

After

PowerShell

PS C:\> Remove-AzContainerGroup -Name test-cg -ResourceGroupName test-rg

Location Name Type

-------- ---- ----

eastus test-cg Microsoft.ContainerInstance/containerGroups

Get-AzContainerGroup

The cmdlet 'Get-AzContainerGroup' no longer supports the parameter 'ResourceId' and


no alias was found for the original parameter name.

Before

PowerShell

PS C:\> Find-AzResource -ResourceGroupEquals demo -ResourceNameEquals


mycontainer | Get-AzContainerGroup

ResourceGroupName : demo

Id : /subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/demo/providers/Microsoft.ContainerInstance/conta
inerGroups/mycontainer

Name : mycontainer

Type : Microsoft.ContainerInstance/containerGroups

Location : westus
Tags :

ProvisioningState : Succeeded

Containers : {mycontainer}

ImageRegistryCredentials :

RestartPolicy :

IpAddress : 13.88.10.240

Ports : {8000}

OsType : Linux

Volumes :

State : Running

Events : {}

After

PowerShell

PS C:\> Get-AzContainerGroup

Location Name Type

-------- ---- ----

eastus bez-cg1 Microsoft.ContainerInstance/containerGroups

eastus bez-cg2 Microsoft.ContainerInstance/containerGroups

Get-AzContainerInstanceLog

The cmdlet 'Get-AzContainerInstanceLog' no longer supports the parameter


'ResourceId' and no alias was found for the original parameter name.
The cmdlet 'Get-
AzContainerInstanceLog' no longer supports the parameter 'Name' and no alias was
found for the original parameter name.

Before

PowerShell

PS C:\> Get-AzContainerGroup -ResourceGroupName demo -Name mycontainer |


Get-AzContainerInstanceLog

Log line 1.

Log line 2.

Log line 3.

Log line 4.

After

PowerShell

PS C:\> Get-AzContainerInstanceLog -ContainerGroupName test-cg -


ContainerName test-container -ResourceGroupName test-rg

Az.DesktopVirtualization

New-AzWvdHostPool
The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'SsoContext' and
no alias was found for the original parameter name.

Expand-AzWvdMsixImage

The cmdlet 'Expand-AzWvdMsixImage' no longer supports the type


'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.
IMsixImageUri' for parameter 'MsixImageUri'.

Before

PowerShell

$MsixImageUri =
[Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102
Preview.IMsixImageUri]::New()

Get-AzWvdDesktop -ResourceGroupName ResourceGroupName -ApplicationGroupName


ApplicationGroupName -Name DesktopName | Expand-AzWvdMsixImage -MsixImageUri
$MsixImageUri

After

PowerShell

$MsixImageUri =
[Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201
Preview.IMsixImageUri]::New()

Get-AzWvdDesktop -ResourceGroupName ResourceGroupName -ApplicationGroupName


ApplicationGroupName -Name DesktopName | Expand-AzWvdMsixImage -MsixImageUri
$MsixImageUri

New-AzWvdMsixPackage

The element type for parameter 'PackageApplication' has been changed from
'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.
IMsixPackageApplications' to
'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.
IMsixPackageApplications'.
The element type for parameter 'PackageDependency' has
been changed from
'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.
IMsixPackageDependencies' to
'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.
IMsixPackageDependencies'.

Before

PowerShell

PS C:\> $apps =
@([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api202011
02Preview.IMsixPackageApplications]::New())

PS C:\> $deps =
@([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api202011
02Preview.IMsixPackageDependencies]::New())

PS C:\> New-AzWvdMsixPackage -FullName PackageFullName `

-HostPoolName HostPoolName `

-ResourceGroupName ResourceGroupName `
-SubscriptionId SubscriptionId `

-DisplayName displayname `

-ImagePath imageURI `

-IsActive:$false `

-IsRegularRegistration:$false `

-LastUpdated datelastupdated `

-PackageApplication $apps `

-PackageDependency $deps `

-PackageFamilyName packagefamilyname `
-PackageName packagename `

-PackageRelativePath packagerelativepath `

-Version packageversion `

After

PowerShell

PS C:\> $apps =
@([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api202102
01Preview.IMsixPackageApplications]::New())

PS C:\> $deps =
@([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api202102
01Preview.IMsixPackageDependencies]::New())

PS C:\> New-AzWvdMsixPackage -FullName PackageFullName `

-HostPoolName HostPoolName `

-ResourceGroupName ResourceGroupName `
-SubscriptionId SubscriptionId `

-DisplayName displayname `

-ImagePath imageURI `

-IsActive:$false `

-IsRegularRegistration:$false `

-LastUpdated datelastupdated `

-PackageApplication $apps `

-PackageDependency $deps `

-PackageFamilyName packagefamilyname `
-PackageName packagename `

-PackageRelativePath packagerelativepath `

-Version packageversion `

Update-AzWvdHostPool

The cmdlet 'Update-AzWvdHostPool' no longer supports the parameter 'SsoContext'


and no alias was found for the original parameter name.

Az.StreamAnalytics

Get-AzStreamAnalyticsDefaultFunctionDefinition

The cmdlet 'Get-AzStreamAnalyticsDefaultFunctionDefinition' no longer supports the


parameter 'File' and no alias was found for the original parameter name.

Before

PowerShell

Get-AzStreamAnalyticsDefaultFunctionDefinition -ResourceGroupName
"StreamAnalytics-Default-West-US" -JobName "StreamJob22" -File
"C:\RetrieveDefaultDefinitionRequest.json" -Name "ScoreTweet"

After

PowerShell

Get-AzStreamAnalyticsDefaultFunctionDefinition -ResourceGroupName azure-rg-


test -JobName sajob-01-pwsh -Name mlsfunction-01 -BindingType
Microsoft.MachineLearningServices -Endpoint "http://875da830-4d5f-44f1-b221-
718a5f26a21d.eastus.azurecontainer.io/score"-UdfType Scalar

Input is specified in flattened parameters instead from the input file.

New-AzStreamAnalyticsJob

The cmdlet 'New-AzStreamAnalyticsJob' no longer supports the parameter 'File' and no


alias was found for the original parameter name.
Before

PowerShell

New-AzStreamAnalyticsJob -ResourceGroupName "StreamAnalytics-Default-West-


US" -File "C:\JobDefinition.json"

After

PowerShell

New-AzStreamAnalyticsJob -ResourceGroupName azure-rg-test -Name sajob-02-


pwsh -Location westcentralus -SkuName Standard

Input is specified in flattened parameters instead from the input file.

New-AzStreamAnalyticsTransformation

The cmdlet 'New-AzStreamAnalyticsTransformation' no longer supports the parameter


'File' and no alias was found for the original parameter name.

Before

PowerShell

New-AzStreamAnalyticsTransformation -ResourceGroupName "StreamAnalytics-


Default-West-US" -File "C:\Transformation.json" -JobName "StreamingJob" -
Name "StreamingJobTransform"

After

PowerShell

New-AzStreamAnalyticsTransformation -ResourceGroupName azure-rg-test -


JobName sajob-01-pwsh -Name tranf-01 -StreamingUnit 6 -Query "Select Id,
Name from input-01"

Input is specified in flattened parameters instead from the input file.

Az.RecoveryServices

Set-AzRecoveryServicesBackupProperty
Removed Set-AzRecoveryServicesBackupProperties plural alias, use Set-
AzRecoveryServicesBackupProperty cmdlet name going forward

Get-AzRecoveryServicesBackupJobDetail

Removed Get-AzRecoveryServicesBackupJobDetails plural alias, use Get-


AzRecoveryServicesBackupJobDetail cmdlet name going forward

Before

PowerShell

$jobDetails = Get-AzRecoveryServicesBackupJobDetails -VaultId $vault.ID -Job


$job

$jobDetails2 = Get-AzRecoveryServicesBackupJobDetails -VaultId $vault.ID -


JobId $job.JobId

After

PowerShell

$jobDetails = Get-AzRecoveryServicesBackupJobDetail -VaultId $vault.ID -Job


$job

$jobDetails2 = Get-AzRecoveryServicesBackupJobDetail -VaultId $vault.ID -


JobId $job.JobId

Az.Storage

Remove-AzRmStorageShare

The cmdlet 'Remove-AzRmStorageShare' can remove share with snapshots by default


before; but after the change remove share with snapshots will fail by default, need add
parameter "-Include Snapshots" to make remove success.

Before

PowerShell

Remove-AzRmStorageShare -ResourceGroupName $resourceGroupName -


StorageAccountName $accountName -Name $shareName

After

PowerShell

Remove-AzRmStorageShare -ResourceGroupName $resourceGroupName -


StorageAccountName $accountName -Name $shareName -Force -Include Snapshots

Az.ServiceFabric

Add-AzServiceFabricClusterCertificate

this cmdlet has been removed completely. please follow instructions here to add cluster
certificates.

Get-AzServiceFabricManagedClusterService

Change PSManagedService model to avoid using the properties parameter directly from
sdk. Now all the properties are in the first level of the object.
And remove deprecated
parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and
ServiceDnsName

Before

PowerShell

$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId

$statelessService.Properties.ProvisioningState

After

PowerShell

$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId

$statelessService.ProvisioningState

New-AzServiceFabricManagedCluster

Remove deprecated parameter ReverseProxyEndpointPort.


New-AzServiceFabricManagedClusterService

Change PSManagedService model to avoid using the properties parameter directly from
sdk. Now all the properties are in the first level of the object.
And remove deprecated
parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and
ServiceDnsName

Before

PowerShell

$service = New-AzServiceFabricManagedClusterService -ResourceGroupName


$resourceGroupName -ClusterName $clusterName -ApplicationName $appName -Name
$serviceName -Type $serviceTypeName -Stateless -InstanceCount -1 -
PartitionSchemaSingleton

$statelessService.Properties.ProvisioningState

After

PowerShell

$service = New-AzServiceFabricManagedClusterService -ResourceGroupName


$resourceGroupName -ClusterName $clusterName -ApplicationName $appName -Name
$serviceName -Type $serviceTypeName -Stateless -InstanceCount -1 -
PartitionSchemaSingleton

$statelessService.ProvisioningState

Remove-AzServiceFabricClusterCertificate

this cmdlet has been removed completely. please follow instructions here to add cluster
certificates.

Remove-AzServiceFabricManagedClusterService

Change PSManagedService model to avoid using the properties parameter directly from
sdk. Now all the properties are in the first level of the object.

Set-AzServiceFabricManagedCluster

Remove deprecated parameter ReverseProxyEndpointPort.


Set-AzServiceFabricManagedClusterService

Change PSManagedService model to avoid using the properties parameter directly from
sdk. Now all the properties are in the first level of the object.
And remove deprecated
parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and
ServiceDnsName

Before

PowerShell

$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId

$statelessService.Properties.MinInstanceCount = 3

service | Set-AzServiceFabricManagedClusterService

After

PowerShell

$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId

$statelessService.MinInstanceCount = 3

service | Set-AzServiceFabricManagedClusterService

Migration Guide for Az 5.0.0


Article • 07/04/2023

This document describes the changes between the 4.0.0 and 5.0.0 versions of Az.

Migration Guide for Az 5.0.0


Az.Aks
New-AzAksCluster
Set-AzAksCluster
Az.ContainerRegistry
New-AzContainerRegistry
Az.Functions
Get-AzFunctionApp
New-AzFunctionApp
Az.KeyVault
New-AzKeyVault
Update-AzKeyVault
Get-AzKeyVaultSecret
Az.ManagedServices
Get-AzManagedServicesDefinition
New-AzManagedServicesAssignment
Remove-AzManagedServicesAssignment
Remove-AzManagedServicesDefinition
Az.ResourceManager
Get-AzManagementGroupDeployment
Get-AzManagementGroupDeploymentOperation
Get-AzDeployment
Get-AzDeploymentOperation
Get-AzDeploymentWhatIfResult
Get-AzTenantDeployment
Get-AzTenantDeploymentOperation
New-AzManagementGroupDeployment
New-AzDeployment
New-AzTenantDeployment
Remove-AzManagementGroupDeployment
Remove-AzDeployment
Remove-AzTenantDeployment
Save-AzManagementGroupDeploymentTemplate
Save-AzDeploymentTemplate
Save-AzTenantDeploymentTemplate
Stop-AzManagementGroupDeployment
Stop-AzDeployment
Stop-AzTenantDeployment
Test-AzManagementGroupDeployment
Test-AzDeployment
Test-AzTenantDeployment
Get-AzResourceGroupDeployment
Get-AzResourceGroupDeploymentOperation
Get-AzResourceGroupDeploymentWhatIfResult
New-AzResourceGroupDeployment
Remove-AzResourceGroupDeployment
Save-AzResourceGroupDeploymentTemplate
Stop-AzResourceGroupDeployment
Test-AzResourceGroupDeployment
Get-AzManagementGroupDeploymentWhatIfResult
Get-AzTenantDeploymentWhatIfResult
Az.Sql
Set-AzSqlServerActiveDirectoryAdministrator
Az.Synapse
New-AzSynapseSqlPool
Update-AzSynapseSqlPool
Az.Network
Approve-AzPrivateEndpointConnection
Deny-AzPrivateEndpointConnection
Get-AzPrivateEndpointConnection
Remove-AzPrivateEndpointConnection
Set-AzPrivateEndpointConnection
New-AzNetworkWatcherConnectionMonitorEndpointObject

Az.Aks

New-AzAksCluster
No longer supports the parameter NodeOsType and no alias was found for the
original parameter
name, it will always be Linux .
No longer supports the alias ClientIdAndSecret for parameter
ServicePrincipalIdAndSecret .
The default value of NodeVmSetType is changed from AvailabilitySet to
VirtualMachineScaleSets .
The default value of NetworkPlugin is changed from none to azure .

Before

PowerShell

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster -


WindowsProfileAdminUserName azureuser -WindowsProfileAdminUserPassword $cred
-NetworkPlugin azure -NodeOsType Linux -ClientIdAndSecret xxx

After

PowerShell

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster -


WindowsProfileAdminUserName azureuser -WindowsProfileAdminUserPassword $cred
-NodeVmSetType AvailabilitySet -ServicePrincipalIdAndSecret xxx

Set-AzAksCluster
No longer supports the alias ClientIdAndSecret for parameter
ServicePrincipalIdAndSecret .

Before

PowerShell

Get-AzAksCluster -ResourceGroupName xxx -Name xxx | Set-AzAksCluster -


ClientIdAndSecret xxx

After

PowerShell

Get-AzAksCluster -ResourceGroupName xxx -Name xxx | Set-AzAksCluster -


ServicePrincipalIdAndSecret xxx

Az.ContainerRegistry
New-AzContainerRegistry
No longer supports the parameter StorageAccountName and no alias was found for the
original parameter name.

Before

PowerShell

New-AzContainerRegistry -Name $name -ResourceGroupName $rg -Location


$location -SKU Classic -StorageAccountName $storage

After

Classic was deprecated and StorageAccountName was removed since it only works with

Classic
Container Registry.

Az.Functions

Get-AzFunctionApp
Removed IncludeSlot switch parameter from all but one parameter set of Get-
AzFunctionApp . The
cmdlet now supports retrieving deployment slots in the results when

-IncludeSlot is specified.
This functionality was broken in the previous cmdlet version.
However, this is now fixed.

New-AzFunctionApp
Fixed -DisableApplicationInsights in New-AzFunctionApp so that no application
insights project
is created when this option is specified.
Removed support to create PowerShell 6.2 function apps since PowerShell 6.2 is
EOL. The current
guidance for customers is to create PowerShell 7.0 function apps
instead.
Changed the default runtime version in Functions version 3 on Windows for
PowerShell function apps
from 6.2 to 7.0 when the RuntimeVersion parameter is
not specified.
Changed the default runtime version in Functions version 3 on Windows and Linux
for Node function
apps from 10 to 12 when the RuntimeVersion parameter is not
specified. However, users can still
create Node 10 function apps by specifying -
Runtime Node and -RuntimeVersion 10 . Changed the
default runtime version in

Functions version 3 on Linux for Python function apps from 3.7 to 3.8
when the
RuntimeVersion parameter is not specified. However, users can still create Python

3.7
function apps by specifying -Runtime Python and -RuntimeVersion 3.7 .

Before

PowerShell

# Create a Node 10 function app on Linux

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Linux `
-Runtime Node

# Create a Node 10 function app on Windows

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Windows `

-Runtime Node

# Create a Python 3.7 function app on Linux

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Linux `
-Runtime Python

After

PowerShell

# Create a Node 10 function app on Linux

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Linux `
-Runtime Node `

-RuntimeVersion 10

# Create a Node 10 function app on Windows

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Windows `

-Runtime Node

# Create a Python 3.7 function app on Linux

New-AzFunctionApp -ResourceGroupName $rd `

-Name $functionAppName `

-StorageAccountName $storageAccountName `

-Location $location `

-OSType Linux `
-Runtime Python `

-RuntimeVersion 3.7

Az.KeyVault

New-AzKeyVault
No longer supports the parameter DisableSoftDelete and no alias was found for the
original parameter name.

Before

PowerShell

# Opt out soft delete while creating a key vault

New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -


Location 'East US' -DisableSoftDelete

After
The ability to update soft-delete setting is deprecated in Az.KeyVault 3.0.0. Read more

Update-AzKeyVault
No longer supports the parameter EnableSoftDelete , SoftDeleteRetentionInDays , and
no alias was
found for the original parameter name.

Before

PowerShell
Update-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -
EnableSoftDelete -SoftDeleteRetentionInDays 15

After
The ability to update soft-delete setting is deprecated in Az.KeyVault 3.0.0. Read more

Get-AzKeyVaultSecret
The property SecretValueText of type
Microsoft.Azure.Commands.KeyVault.Models.PSKeyVaultSecret
has been removed. Either

apply a -AsPlainText to the call to get the plain text secret,


or use $secret.SecretValue
of type SecureString in your script.

Before

PowerShell

$secret = Get-AzKeyVaultSecret -VaultName myVault -Name mySecret

$secretInPlainText = $secret.SecretValueText

After

PowerShell

$secretInPlainText = Get-AzKeyVaultSecret -VaultName myVault -Name mySecret


-AsPlainText

Az.ManagedServices

Get-AzManagedServicesDefinition
No longer supports the parameter ResourceId and no alias was found for the original
parameter name.

Before

PowerShell
Get-AzManagedServicesDefinition -ResourceId xxx

After

PowerShell

Get-AzManagedServicesDefinition -Id xxx

New-AzManagedServicesAssignment
No longer supports the parameter RegistrationDefinitionName ,
RegistrationDefinitionResourceId ,
and no alias was found for the original parameter

name.

Before

PowerShell

New-AzManagedServicesAssignment -RegistrationDefinitionName xxx -Scope xxx

After

PowerShell

New-AzManagedServicesAssignment -Scope xxx -RegistrationDefinition xxx

Remove-AzManagedServicesAssignment
No longer supports the parameter Id , ResourceId , and no alias was found for the
original
parameter name.

Before

PowerShell

Remove-AzManagedServicesAssignment -ResourceId xxx

After

PowerShell

Get-AzManagedServicesAssignment -Scope xxx | Remove-


AzManagedServicesAssignment

Remove-AzManagedServicesDefinition
No longer supports the parameter Id , ResourceId , and no alias was found for the
original
parameter name.

Before

PowerShell

Remove-AzManagedServicesDefinition -ResourceId xxx

After

PowerShell

Get-AzManagedServicesDefinition -Scope xxx | Remove-


AzManagedServicesDefinition

Az.ResourceManager

Get-AzManagementGroupDeployment
No longer supports the parameter ApiVersion and no alias was found for the original
parameter name.

Before

PowerShell

Get-AzManagementGroupDeployment -ManagementGroupId xxx -Name xxx -ApiVersion


xxx

After

PowerShell

Get-AzManagementGroupDeployment -ManagementGroupId xxx -Name xxx

Get-AzManagementGroupDeploymentOperation
Same with Get-AzManagementGroupDeployment .

Get-AzDeployment
Same with Get-AzManagementGroupDeployment .

Get-AzDeploymentOperation
Same with Get-AzManagementGroupDeployment .

Get-AzDeploymentWhatIfResult
Same with Get-AzManagementGroupDeployment .

Get-AzTenantDeployment
Same with Get-AzManagementGroupDeployment .

Get-AzTenantDeploymentOperation
Same with Get-AzManagementGroupDeployment .

New-AzManagementGroupDeployment
Same with Get-AzManagementGroupDeployment .

New-AzDeployment
Same with Get-AzManagementGroupDeployment .

New-AzTenantDeployment
Same with Get-AzManagementGroupDeployment .

Remove-AzManagementGroupDeployment
Same with Get-AzManagementGroupDeployment .

Remove-AzDeployment
Same with Get-AzManagementGroupDeployment .

Remove-AzTenantDeployment
Same with Get-AzManagementGroupDeployment .

Save-AzManagementGroupDeploymentTemplate
Same with Get-AzManagementGroupDeployment .

Save-AzDeploymentTemplate
Same with Get-AzManagementGroupDeployment .

Save-AzTenantDeploymentTemplate
Same with Get-AzManagementGroupDeployment .

Stop-AzManagementGroupDeployment
Same with Get-AzManagementGroupDeployment .

Stop-AzDeployment
Same with Get-AzManagementGroupDeployment .

Stop-AzTenantDeployment
Same with Get-AzManagementGroupDeployment .

Test-AzManagementGroupDeployment
Same with Get-AzManagementGroupDeployment .

Test-AzDeployment
Same with Get-AzManagementGroupDeployment .

Test-AzTenantDeployment
Same with Get-AzManagementGroupDeployment .

Get-AzResourceGroupDeployment
Same with Get-AzManagementGroupDeployment .

Get-AzResourceGroupDeploymentOperation
Same with Get-AzManagementGroupDeployment .

Get-AzResourceGroupDeploymentWhatIfResult
Same with Get-AzManagementGroupDeployment .

New-AzResourceGroupDeployment
Same with Get-AzManagementGroupDeployment .

Remove-AzResourceGroupDeployment
Same with Get-AzManagementGroupDeployment .

Save-AzResourceGroupDeploymentTemplate
Same with Get-AzManagementGroupDeployment .

Stop-AzResourceGroupDeployment
Same with Get-AzManagementGroupDeployment .

Test-AzResourceGroupDeployment
Same with Get-AzManagementGroupDeployment .

Get-AzManagementGroupDeploymentWhatIfResult
Same with Get-AzManagementGroupDeployment .

Get-AzTenantDeploymentWhatIfResult
Same with Get-AzManagementGroupDeployment .

Az.Sql

Set-AzSqlServerActiveDirectoryAdministrator
No longer supports the parameter IsAzureADOnlyAuthentication and no alias was found
for the
original parameter name.

Before

PowerShell

Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName
'ResourceGroup01' -ServerName 'Server01' -DisplayName 'DBAs' -
IsAzureADOnlyAuthentication

After

PowerShell

Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName
'ResourceGroup01' -ServerName 'Server01' -DisplayName 'DBAs'

Az.Synapse

New-AzSynapseSqlPool
No longer supports the parameter FromBackup , FromRestorePoint ,
BackupResourceGroupName ,
BackupWorkspaceName , BackupSqlPoolName ,
BackupSqlPoolObject , BackupResourceId ,
SourceResourceGroupName ,

SourceWorkspaceName , SourceSqlPoolName , SourceSqlPoolObject ,


SourceResourceId ,
RestorePoint , and no alias was found for the original parameter name.

Before

PowerShell

New-AzSynapseSqlPool -FromBackup -WorkspaceName ContosoWorkspace -Name


ContosoSqlPool -BackupWorkspaceName ContosoWorkspace -BackupSqlPoolName
ExistingContosoSqlPool

After

PowerShell

PS C:\> New-AzSynapseSqlPool -WorkspaceName ContosoWorkspace -Name


ContosoSqlPool -PerformanceLevel DW200c

Update-AzSynapseSqlPool
No longer supports the parameter Suspend , Resume , and no alias was found for the
original
parameter name.

Az.Network

Approve-AzPrivateEndpointConnection
No longer supports the parameter PrivateLinkResourceType and no alias was found for
the original
parameter name.

Before

PowerShell

Approve-AzPrivateEndpointConnection -ResourceGroupName xxx -ServiceName xxx


-Name xxx -PrivateLinkResourceType 'Microsoft.Network/privateLinkServices' -
Description xxx

After

PowerShell

Approve-AzPrivateEndpointConnection -ResourceGroupName xxx -ServiceName xxx


-Name xxx -Description xxx

Deny-AzPrivateEndpointConnection
Same with Approve-AzPrivateEndpointConnection .

Get-AzPrivateEndpointConnection
Same with Approve-AzPrivateEndpointConnection .

Remove-AzPrivateEndpointConnection
Same with Approve-AzPrivateEndpointConnection .

Set-AzPrivateEndpointConnection
Same with Approve-AzPrivateEndpointConnection .

New-
AzNetworkWatcherConnectionMonitorEndpointObject
No longer supports the parameter FilterType , FilterItem , and no alias was found for
the original
parameter name.

Before

PowerShell

$MySrcResourceId1 = '/subscriptions/00000000-0000-0000-0000-
000000000000/resourcegroups/myresourceGroup/providers/Microsoft.OperationalI
nsights/workspaces/myworkspace'

$SrcEndpointFilterItem1 =New-
AzNetworkWatcherConnectionMonitorEndpointFilterItemObject -Type
'AgentAddress' -Address 'WIN-P0HGNDO2S1B'

$SourceEndpointObject1 = New-AzNetworkWatcherConnectionMonitorEndPointObject
-Name 'workspaceEndpoint' -ResourceId $MySrcResourceId1 -FilterType Include
-FilterItem $SrcEndpointFilterItem1

After

PowerShell

MySrcResourceId1 = '/subscriptions/00000000-0000-0000-0000-
000000000000/resourcegroups/myresourceGroup/providers/Microsoft.OperationalI
nsights/workspaces/myworkspace'

$SourceEndpointObject1 = New-AzNetworkWatcherConnectionMonitorEndPointObject
-Name 'workspaceEndpoint' -ResourceId $MySrcResourceId1

Migration Guide for Az 4.1.0


Article • 07/04/2023

This document describes the changes between the 3.0.0 and 4.1.0 versions of Az.

Migration Guide for Az 4.1.0


Az.ApiManagement
Add-AzApiManagementRegion
New-AzApiManagement
Set-AzApiManagement
Get-AzApiManagementProperty
New-AzApiManagementProperty
Remove-AzApiManagementProperty
Set-AzApiManagementProperty
Az.Batch
Get-AzBatchApplication, New-AzBatchApplication
Get-AzBatchComputeNode, New-AzBatchPool
Get-AzBatchApplicationPackage, New-AzBatchApplicationPackage
Az.Compute
Remove-AzVmssDiagnosticsExtension
Get-AzVMImage
New-AzVMConfig
Update-AzVM
New-AzProximityPlacementGroup
Remove-AzProximityPlacementGroup
Get-AzProximityPlacementGroup
Add-AzVmssAdditionalUnattendContent
Add-AzVmssDataDisk
Add-AzVmssExtension
Add-AzVmssNetworkInterfaceConfiguration
Add-AzVmssSecret
Add-AzVmssSshPublicKey
Add-AzVmssWinRMListener
New-AzVmssConfig
Remove-AzVmssDataDisk
Remove-AzVmssExtension
Remove-AzVmssNetworkInterfaceConfiguration
Set-AzVmssBootDiagnostic
Set-AzVmssOsProfile
Set-AzVmssRollingUpgradePolicy
Set-AzVmssStorageProfile
New-AzVmss
Repair-AzVmssServiceFabricUpdateDomain
Get-AzVmss
Set-AzVmssOrchestrationServiceState
Update-AzVmss
Add-AzVmssDiagnosticsExtension
Disable-AzVmssDiskEncryption
Az.KeyVault
New-AzKeyVaultCertificateOrganizationDetail
New-AzKeyVaultCertificateAdministratorDetail
New-AzKeyVault
Az.Monitor
Add-AzLogProfile
Get-AzLogProfile
New-AzMetricAlertRuleV2Criteria
Az.Network
Get-AzNetworkWatcherConnectionMonitor
New-AzNetworkWatcherConnectionMonitorTestConfigurationObject
Az.OperationalInsights
Get-AzOperationalInsightsDataSource
New-AzOperationalInsightsApplicationInsightsDataSource
New-AzOperationalInsightsAzureActivityLogDataSource
New-AzOperationalInsightsCustomLogDataSource
New-AzOperationalInsightsLinuxPerformanceObjectDataSource
New-AzOperationalInsightsLinuxSyslogDataSource
New-AzOperationalInsightsWindowsEventDataSource
New-AzOperationalInsightsWindowsPerformanceCounterDataSource
Remove-AzOperationalInsightsDataSource
Disable-AzOperationalInsightsIISLogCollection
Disable-AzOperationalInsightsLinuxCustomLogCollection
Disable-AzOperationalInsightsLinuxPerformanceCollection
Disable-AzOperationalInsightsLinuxSyslogCollection
Enable-AzOperationalInsightsIISLogCollection
Enable-AzOperationalInsightsLinuxCustomLogCollection
Enable-AzOperationalInsightsLinuxPerformanceCollection
Enable-AzOperationalInsightsLinuxSyslogCollection
Get-AzOperationalInsightsSavedSearch
Get-AzOperationalInsightsSavedSearchResult
Get-AzOperationalInsightsSearchResult
Get-AzOperationalInsightsStorageInsight
New-AzOperationalInsightsStorageInsight
Remove-AzOperationalInsightsStorageInsight
Set-AzOperationalInsightsStorageInsight
Get-AzOperationalInsightsLinkTarget
Get-AzOperationalInsightsWorkspace
New-AzOperationalInsightsWorkspace
Set-AzOperationalInsightsWorkspace
Invoke-AzOperationalInsightsQuery
Az.Resources
Get-AzDeploymentScript
Get-AzDeploymentScriptLog
Save-AzDeploymentScriptLog
Get-AzResourceLock, New-AzResourceLock, Remove-AzResourceLock, Set-
AzResourceLock
Get-AzPolicyAlias
New-AzPolicyAssignment
Remove-AzDeploymentScript
Az.Storage
Update-AzStorageAccountNetworkRuleSet, Get-
AzStorageAccountNetworkRuleSet
New-AzStorageTable, Get-AzStorageTable
Get-AzStorageFile, Remove-AzStorageFile, Get-AzStorageFileContent, Set-
AzStorageFileContent, Start-AzStorageFileCopy
Get-AzStorageFile, New-AzStorageDirectory, Remove-AzStorageDirectory
Get-AzStorageShare, New-AzStorageShare, Remove-AzStorageShare
Set-AzStorageShareQuota
Remove-AzStorageDirectory

Az.ApiManagement

Add-AzApiManagementRegion

The type of property Type of type


Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentity has

changed from
Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentityType to

System.String .
New-AzApiManagement

The cmdlet New-AzApiManagement no longer supports the parameter


AssignIdentity and no alias
was found for the original parameter name.
The parameter set __AllParameterSets for cmdlet New-AzApiManagement has been
removed.

Set-AzApiManagement

The cmdlet Set-AzApiManagement no longer supports the parameter


AssignIdentity and no alias
was found for the original parameter name.

The parameter set __AllParameterSets for cmdlet Set-AzApiManagement has been


removed.

Get-AzApiManagementProperty

The cmdlet Get-AzApiManagementProperty has been replaced by Get-


AzApiManagementNamedValue .

New-AzApiManagementProperty

The cmdlet New-AzApiManagementProperty has been replaced by New-


AzApiManagementNamedValue .

Remove-AzApiManagementProperty

The cmdlet Remove-AzApiManagementProperty has been replaced by Remove-


AzApiManagementNamedValue .

Set-AzApiManagementProperty

The cmdlet Set-AzApiManagementProperty has been replaced by Set-


AzApiManagementNamedValue .

Az.Batch

Get-AzBatchApplication , New-AzBatchApplication
The property ApplicationPackages of type
Microsoft.Azure.Commands.Batch.Models.PSApplication has
been removed.

Get-AzBatchComputeNode , New-AzBatchPool

The property PublicIPs of type


Microsoft.Azure.Commands.Batch.Models.PSNetworkConfiguration has
been removed

Get-AzBatchApplicationPackage , New-
AzBatchApplicationPackage

The type of property StorageUrlExpiry of type


Microsoft.Azure.Commands.Batch.Models.PSApplicationPackage has changed from
System.DateTime to
System.DateTime? .

Az.Compute

Remove-AzVmssDiagnosticsExtension

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Get-AzVMImage

The cmdlet Get-AzVMImage no longer supports the parameter FilterExpression


and no alias was
found for the original parameter name.
The parameter set ListVMImage for cmdlet Get-AzVMImage has been removed.

New-AzVMConfig

The cmdlet New-AzVMConfig no longer supports the parameter AssignIdentity and


no alias was
found for the original parameter name.
The parameter set AssignIdentityParameterSet for cmdlet New-AzVMConfig has
been removed.
Update-AzVM

The cmdlet Update-AzVM no longer supports the parameter AssignIdentity and no


alias was found
for the original parameter name.
The parameter set AssignIdentityParameterSet for cmdlet Update-AzVM has been
removed.

New-AzProximityPlacementGroup

The generic type for property VirtualMachines , VirtualMachineScaleSets , and


AvailabilitySets
has been changed from

System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su

bResource] to
System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su

bResourceWithColocationStatus] .
The property VirtualMachinesColocationStatus ,
VirtualMachineScaleSetsColocationStatus , and
AvailabilitySetsColocationStatus

of type
Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup

has been removed.

Before

PowerShell

PS C:\> New-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName


-Name $proximityPlacementGroupName -Location $location -Tag @{key1 = 'val1'}
| Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : Standard

VirtualMachinesColocationStatus : {}

VirtualMachineScaleSetsColocationStatus : {}

AvailabilitySetsColocationStatus : {}

ColocationStatus :

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

After

PowerShell

PS C:\> New-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName


-Name $proximityPlacementGroupName -Location $location -Tag @{key1 = 'val1'}
| Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : StandardColocationStatus
:

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

Remove-AzProximityPlacementGroup

The generic type for property VirtualMachines , VirtualMachineScaleSets , and


AvailabilitySets
has been changed from

System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su
bResource] to

System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su
bResourceWithColocationStatus] .

The property VirtualMachinesColocationStatus ,


VirtualMachineScaleSetsColocationStatus , and
AvailabilitySetsColocationStatus
of type
Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup
has been removed.

Before

PowerShell
PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName
-Name $proximityPlacementGroupName | Remove-AzProximityPlacementGroup |
Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : Standard

VirtualMachinesColocationStatus : {}

VirtualMachineScaleSetsColocationStatus : {}

AvailabilitySetsColocationStatus : {}

ColocationStatus :

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

After

PowerShell

PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName


-Name $proximityPlacementGroupName | Remove-AzProximityPlacementGroup |
Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : StandardColocationStatus
:

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

Get-AzProximityPlacementGroup
The generic type for property VirtualMachines , VirtualMachineScaleSets , and
AvailabilitySets
has been changed from
System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su

bResource] to
System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.Su

bResourceWithColocationStatus] .

The property VirtualMachinesColocationStatus ,


VirtualMachineScaleSetsColocationStatus , and
AvailabilitySetsColocationStatus

of type
Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup

has been removed.

Before

PowerShell

PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName


-Name $proximityPlacementGroupName | Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : Standard

VirtualMachinesColocationStatus : {}

VirtualMachineScaleSetsColocationStatus : {}

AvailabilitySetsColocationStatus : {}

ColocationStatus :

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

After

PowerShell

PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName


-Name $proximityPlacementGroupName | Format-List

ResourceGroupName : $resourceGroupName

ProximityPlacementGroupType : StandardColocationStatus
:

Id : /subscriptions/9e223dbe-3399-4e19-
88eb-
0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/p
roximityPlacementGroups/$proximityPlacementGroupName

Name : $proximityPlacementGroupName

Type :
Microsoft.Compute/proximityPlacementGroups

Location : $location

Tags : {[key1, val1]}

VirtualMachines : {}

VirtualMachineScaleSets : {}

AvailabilitySets : {}

Add-AzVmssAdditionalUnattendContent

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssDataDisk

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssExtension

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssNetworkInterfaceConfiguration
The type of property AutomaticRepairsPolicy of type
Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssSecret

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssSshPublicKey

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Add-AzVmssWinRMListener

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

New-AzVmssConfig

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet

has changed from


Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .
No longer supports the parameter AutomaticRepairMaxInstanceRepairsPercent and
no alias was found for the original parameter name.
No longer supports the parameter AssignIdentity and no alias was found for the
original parameter name.
The parameter set __AllParameterSets has been removed.
The parameter set ExplicitIdentityParameterSet has been removed.
The parameter set AssignIdentityParameterSet has been removed.

Remove-AzVmssDataDisk

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Remove-AzVmssExtension

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Remove-AzVmssNetworkInterfaceConfiguration

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Set-AzVmssBootDiagnostic

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Set-AzVmssOsProfile

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Set-AzVmssRollingUpgradePolicy

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Set-AzVmssStorageProfile

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

New-AzVmss

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Repair-AzVmssServiceFabricUpdateDomain
The type of property AutomaticRepairsPolicy of type
Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Get-AzVmss

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Set-AzVmssOrchestrationServiceState

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has

changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Update-AzVmss

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet

has changed from


Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to

Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

No longer supports the parameter AutomaticRepairMaxInstanceRepairsPercent and


no alias was found
for the original parameter name.
The parameter set __AllParameterSets has been removed.
The parameter set ExplicitIdentityParameterSet has been removed.

Add-AzVmssDiagnosticsExtension

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Disable-AzVmssDiskEncryption

The type of property AutomaticRepairsPolicy of type


Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet has
changed from
Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy to
Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy .

Az.KeyVault

New-AzKeyVaultCertificateOrganizationDetail

The alias New-AzKeyVaultCertificateOrganizationDetails is removed. Please use New-


AzKeyVaultCertificateOrganizationDetail .

Before

PowerShell

PS C:\> New-AzKeyVaultCertificateOrganizationDetails -AdministratorDetails


$AdminDetails

After

PowerShell

PS C:\> New-AzKeyVaultCertificateOrganizationDetail -AdministratorDetails


$AdminDetails

New-AzKeyVaultCertificateAdministratorDetail

The alias New-AzKeyVaultCertificateAdministratorDetails is removed. Please use New-


AzKeyVaultCertificateAdministratorDetail .
Before

PowerShell

PS C:\> $AdminDetails = New-AzKeyVaultCertificateAdministratorDetails -


FirstName 'Patti' -LastName 'Fuller' -EmailAddress
'[email protected]' -PhoneNumber '5553334444'

After

PowerShell

PS C:\> $AdminDetails = New-AzKeyVaultCertificateAdministratorDetail -


FirstName 'Patti' -LastName 'Fuller' -EmailAddress
'[email protected]' -PhoneNumber '5553334444'

New-AzKeyVault

-EnableSoftDelete is removed, as soft delete is enabled by default. Please use -

DisableSoftDelete if you do not want this behavior.

Before

PowerShell

PS C:\> New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName


'Group14' -Location 'East US' -EnableSoftDelete

After

PowerShell

PS C:\> New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName


'Group14' -Location 'East US'

Az.Monitor

Add-AzLogProfile
The type of property RetentionPolicy of type
Microsoft.Azure.Commands.Insights.OutputClasses.PSLogProfile has changed from
Microsoft.Azure.Management.Monitor.Management.Models.RetentionPolicy to

Microsoft.Azure.Management.Monitor.Models.RetentionPolicy .

Get-AzLogProfile

The type of property RetentionPolicy of type


Microsoft.Azure.Commands.Insights.OutputClasses.PSLogProfile has changed from

Microsoft.Azure.Management.Monitor.Management.Models.RetentionPolicy to
Microsoft.Azure.Management.Monitor.Models.RetentionPolicy .

New-AzMetricAlertRuleV2Criteria

The parameter set __AllParameterSets for cmdlet New-AzMetricAlertRuleV2Criteria has


been removed.

Az.Network

Get-AzNetworkWatcherConnectionMonitor

The generic type for property RoundTripTimeMs has been changed from
System.Nullable1[System.Int32] to System.Nullable1[System.Double] .

New-
AzNetworkWatcherConnectionMonitorTestConfigurationObjec
t

The generic type for parameter SuccessThresholdRoundTripTimeMs has been changed


from
System.Nullable1[System.Int32] to System.Nullable1[System.Double] .

Az.OperationalInsights

Get-AzOperationalInsightsDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.
New-AzOperationalInsightsApplicationInsightsDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsAzureActivityLogDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsCustomLogDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-
AzOperationalInsightsLinuxPerformanceObjectDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsLinuxSyslogDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsWindowsEventDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-
AzOperationalInsightsWindowsPerformanceCounterDataSourc
e

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.
Remove-AzOperationalInsightsDataSource

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Disable-AzOperationalInsightsIISLogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Disable-AzOperationalInsightsLinuxCustomLogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Disable-AzOperationalInsightsLinuxPerformanceCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Disable-AzOperationalInsightsLinuxSyslogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Enable-AzOperationalInsightsIISLogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Enable-AzOperationalInsightsLinuxCustomLogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Enable-AzOperationalInsightsLinuxPerformanceCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.
Enable-AzOperationalInsightsLinuxSyslogCollection

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Get-AzOperationalInsightsSavedSearch

The property Metadata of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSSearchListSavedSearchRespons

e has been
removed.

Get-AzOperationalInsightsSavedSearchResult

The cmdlet Get-AzOperationalInsightsSavedSearchResult was not supported by SDK


anymore and has been removed.

Get-AzOperationalInsightsSearchResult

The cmdlet Get-AzOperationalInsightsSearchResult was not supported by SDK anymore


and has been removed.

Get-AzOperationalInsightsStorageInsight

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsStorageInsight

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Remove-AzOperationalInsightsStorageInsight

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Set-AzOperationalInsightsStorageInsight
The property PortalUrl of type
Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Get-AzOperationalInsightsLinkTarget

The cmdlet Get-AzOperationalInsightsLinkTarget was not supported by SDK anymore


and has been removed.

Get-AzOperationalInsightsWorkspace

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

New-AzOperationalInsightsWorkspace

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been
removed.
The cmdlet New-AzOperationalInsightsWorkspace no longer supports the parameter
CustomerId and
no alias was found for the original parameter name.
The parameter set __AllParameterSets for cmdlet New-
AzOperationalInsightsWorkspace has been
removed.

Set-AzOperationalInsightsWorkspace

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Invoke-AzOperationalInsightsQuery

The property PortalUrl of type


Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace
has been removed.

Az.Resources

Get-AzDeploymentScript
The type of property Status of type
Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript has
changed from
Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus to
Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus .

Get-AzDeploymentScriptLog

The type of property Status of type


Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript has

changed from
Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus to
Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus .

Save-AzDeploymentScriptLog

The type of property Status of type


Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript has
changed from
Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus to
Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus .

Get-AzResourceLock, New-AzResourceLock, Remove-


AzResourceLock, Set-AzResourceLock

Parameter TenantLevel has been removed.

Get-AzPolicyAlias

The generic type for property Aliases has been changed from
System.Collections.Generic.IList1[Microsoft.Azure.Management.ResourceManager.Models

.AliasType] to

System.Collections.Generic.IList1[Microsoft.Azure.Management.ResourceManager.Models
.Alias] .

New-AzPolicyAssignment

The cmdlet New-AzPolicyAssignment no longer supports the type


System.Management.Automation.PSObject for parameter PolicyDefinition .
The cmdlet New-AzPolicyAssignment no longer supports the type
System.Management.Automation.PSObject for parameter PolicySetDefinition .
Remove-AzDeploymentScript

The type of property Status of type


Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript has
changed from
Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus to
Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus .

Az.Storage

Update-AzStorageAccountNetworkRuleSet , Get-
AzStorageAccountNetworkRuleSet

Changed NetWorkRule DefaultAction value from: Allow = 1, Deny = 0, to: Allow = 0,


Deny = 1.

New-AzStorageTable , Get-AzStorageTable

Output object AzureStorageTable.CloudTable.ServiceClient have 2 properties removed:


ConnectionPolicy, ConsistencyLevel.

Get-AzStorageFile , Remove-AzStorageFile , Get-


AzStorageFileContent , Set-AzStorageFileContent , Start-
AzStorageFileCopy

Change output type from CloudFile to AzureStorageFile, the original output will become
child
property "CloudFile" of the new output

Before

PowerShell

PS C:\> $file = Get-AzStorageFile -ShareName $shareName -Path testfile -


Context $ctx

PS C:\> Remove-AzStorageFile -File $file

After

PowerShell
PS C:\> $file = Get-AzStorageFile -ShareName $shareName -Path testfile -
Context $ctx

PS C:\> Remove-AzStorageFile -File $file.CloudFile

Get-AzStorageFile , New-AzStorageDirectory , Remove-


AzStorageDirectory

Change output type from CloudFileDirectory to AzureStorageFileDirectory, the original


output will
become child property "CloudFileDirectory" of the new output

Before

PowerShell

PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -


Context $ctx

PS C:\> Remove-AzStorageDirectory -Directory $dir

After

PowerShell

PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -


Context $ctx

PS C:\> Remove-AzStorageDirectory -Directory $dir.CloudFileDirectory

Get-AzStorageShare , New-AzStorageShare , Remove-


AzStorageShare

Change output type from FileShareProperties to AzureStorageFileShare, the original


output will
become child property "CloudFileShare" of the new output

Before

PowerShell

PS C:\> $share = Get-AzStorageShare -Name $shareName -Context $ctx

PS C:\> Remove-AzStorageShare -Share $share

After

PowerShell

PS C:\> $share = Get-AzStorageShare -Name $shareName -Context $ctx

PS C:\> Remove-AzStorageShare -Share $share.CloudFileShare

Set-AzStorageShareQuota

Change output type from FileShareProperties to AzureStorageFileShare, the original


output will
become sub child property ""CloudFileShare.Properties"" of the new output

Before

PowerShell

PS C:\> $shareProperties = Set-AzStorageShareQuota -Name $shareName -Quota


100 -Context $ctx

PS C:\> $shareProperties

ETag LastModified Quota

---- ------------ -----

"0x8D7F5BC7789FC63" 5/11/2020 3:03:30 PM +00:00 100

After

PowerShell

PS C:\> $share = Set-AzStorageShareQuota -Name $shareName -Quota 100 -


Context $ctx

PS C:\> $share

File End Point: https://weiors1.file.core.windows.net/

Name QuotaGiB LastModified IsSnapshot SnapshotTime

---- -------- ------------ ---------- ------------

weitest1 100 5/11/2020 3:03:30 PM +00:00 False

PS C:\> $share.CloudFileShare.Properties

ETag LastModified Quota

---- ------------ -----

"0x8D7F5BC7789FC63" 5/11/2020 3:03:30 PM +00:00 100

Remove-AzStorageDirectory

When removing sub File Directories with parent Directory object and -Path, Can't input -
Path from
pipeline with type (string) match anymore.

Before

PowerShell

PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -


Context $ctx

PS C:\> @('dir1', 'dir2') | Remove-AzStorageDirectory -Directory $dir

After

PowerShell

PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -


Context $ctx

PS C:\> $paths = @(

[PSCustomObject]@{ Path = 'dir1 }

[PSCustomObject]@{ Path = 'dir2' }

PS C:\> $paths | Remove-AzStorageDirectory -Directory


$dir.CloudFileDirectory

Migration Guide for Az 3.0.0


Article • 07/04/2023

This document describes the changes between the 2.0.0 and 3.0.0 versions of Az

Migration Guide for Az 3.0.0


Batch
Get-AzBatchNodeAgentSku
Incompatibility with previous versions of Az.Resources
Compute
New-AzDiskConfig
HDInsight
Get-AzHDInsightJobOutput
Add-AzHDInsightConfigValues
Disable-AzHDInsightMonitoring
Enable-AzHDInsightMonitoring
Get-AzHDInsightMonitoring
Get-AzHDInsightProperty
Grant-AzHDInsightRdpServicesAccess
Remove-AzHDInsightCluster
Revoke-AzHDInsightRdpServicesAccess
Set-AzHDInsightGatewayCredential
IotHub
New-AzIotHubImportDevices
New-AzIotHubExportDevices
Add-AzIotHubEventHubConsumerGroup
Get-AzIotHubEventHubConsumerGroup
Remove-AzIotHubEventHubConsumerGroup
Set-AzIotHub
RecoveryServices
Edit-AzRecoveryServicesAsrRecoveryPlan
Get-AzRecoveryServicesAsrRecoveryPlan
New-AzRecoveryServicesAsrReplicationProtectedItem
Resources
Incompatibility with previous versions of Az.Batch
ServiceFabric
Add-ServiceFabricApplicationCertificate
Sql
Get-AzSqlDatabaseSecureConnectionPolicy
Get-AzSqlDatabaseIndexRecommendations
Get-AzSqlDatabaseRestorePoints
Get-AzSqlDatabaseAuditing
Set-AzSqlDatabaseAuditing
Get-AzSqlServerAuditing
Set-AzSqlServerAuditing
Get-AzSqlServerAdvancedThreatProtectionSettings
Clear-AzSqlServerAdvancedThreatProtectionSettings
Update-AzSqlServerAdvancedThreatProtectionSettings
Get-AzSqlDatabaseAdvancedThreatProtectionSettings
Update-AzSqlDatabaseAdvancedThreatProtectionSettings
Clear-AzSqlDatabaseAdvancedThreatProtectionSettings
Update-AzSqlDatabaseVulnerabilityAssessmentSettings
Get-AzSqlDatabaseVulnerabilityAssessmentSettings
Clear-AzSqlDatabaseVulnerabilityAssessmentSettings
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings
Update-AzSqlInstanceVulnerabilityAssessmentSettings
Get-AzSqlInstanceVulnerabilityAssessmentSettings
Clear-AzSqlInstanceVulnerabilityAssessmentSettings
Update-AzSqlServerVulnerabilityAssessmentSettings
Get-AzSqlServerVulnerabilityAssessmentSettings
Clear-AzSqlServerVulnerabilityAssessmentSettings
Get-AzSqlServerAdvancedThreatProtectionPolicy
Get-AzSqlServerThreatDetectionPolicy
Remove-AzSqlServerThreatDetectionPolicy
Set-AzSqlServerThreatDetectionPolicy
Get-AzSqlDatabaseThreatDetectionPolicy
Set-AzSqlDatabaseThreatDetectionPolicy
Remove-AzSqlDatabaseThreatDetectionPolicy

Batch

Get-AzBatchNodeAgentSku

Removed Get-AzBatchNodeAgentSku and replaced it with Get-


AzBatchSupportedImage .

Get-AzBatchSupportedImage returns the same data as Get-AzBatchNodeAgentSku but


in a more friendly format.
New non-verified images are also now returned. Additional information about
Capabilities and BatchSupportEndOfLife for each image is also included.

Before

PowerShell

$Context = Get-AzBatchAccountKeys -AccountName "ContosoBatchAccount"

Get-AzBatchNodeAgentSku -BatchContext $Context

After

PowerShell

$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"

Get-AzBatchSupportedImage -BatchContext $Context

Previous Version Incompatibility with Az.Resources


Module
Version 2.0.1 of the ‘Az.Batch’ module is incompatible with earlier versions (version 1.7.0
or earlier) of the ‘Az.Resources’ module. This will result in being unable to import version
1.7.0 of the ‘Az.Resources’ module when version 2.0.1 of the ‘Az.Batch’ module is
imported. To fix this issue, simply update the ‘Az.Resources’ module to version 1.7.1 or
greater, or simply install the latest version of the ‘Az’ module.

Compute

New-AzDiskConfig

UploadSizeInBytes parameter is used instead of DiskSizeGB for New-AzDiskConfig when

CreateOption is Upload

Before

PowerShell

$diskconfig = New-AzDiskConfig -Location 'Central US' -DiskSizeGB 1023 -


SkuName Standard_LRS -OsType Windows -CreateOption Upload -DiskIOPSReadWrite
500 -DiskMBpsReadWrite 8

After

PowerShell

$diskconfig = New-AzDiskConfig -Location 'Central US' -UploadSizeInBytes


1023 * 1024 * 1024 * 1024 -SkuName Standard_LRS -OsType Windows -
CreateOption Upload -DiskIOPSReadWrite 500 -DiskMBpsReadWrite 8

HDInsight

Get-AzHDInsightJobOutput

Updated the Get-AzHDInsightJobOutput cmdlet to support granular role-based


access to the storage key.
Users with HDInsight Cluster Operator, Contributor, or Owner roles will not be
affected.
Users with only the Reader role will need to specify DefaultStorageAccountKey
parameter explicitly.

Before

PowerShell

Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId

After

PowerShell

Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -


DefaultStorageAccountKey $storageAccountKey

Add-AzHDInsightConfigValues

Cmdlet Add-AzHDInsightConfigValue removed alias to Add-AzHDInsightConfigValues .

Before
Using deprecated alias

PowerShell

Add-AzHDInsightConfigValues

After

PowerShell

Add-AzHDInsightConfigValue

Disable-AzHDInsightMonitoring

Added a new Disable-AzHDInsightMonitoring cmdlet. Use this cmdlet to disable


monitoring in a HDInsight cluster (replaces Disable-
AzHDInsightOperationsManagementSuite and Disable-AzHDInsightOMS ).

Before

PowerShell

Disable-AzHDInsightOMS -Name testcluster

PowerShell

Disable-AzHDInsightOperationsManagementSuite -Name testcluster

After

PowerShell

Disable-AzHDInsightMonitoring -Name testcluster

Enable-AzHDInsightMonitoring

Added a new Enable-AzHDInsightMonitoring cmdlet. Use this cmdlet to enable


monitoring in a HDInsight cluster (replaces Enable-
AzHDInsightOperationsManagementSuite and Enable-AzHDInsightOMS ).
Before

PowerShell

Enable-AzHDInsightOMS Enable-AzHDInsightMonitoring -Name testcluster -


WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for
workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>

PowerShell

Enable-AzHDInsightOperationsManagementSuite Enable-AzHDInsightMonitoring -
Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -
PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>

After

PowerShell

Enable-AzHDInsightMonitoring Enable-AzHDInsightMonitoring -Name testcluster


-WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for
workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>

Get-AzHDInsightMonitoring

Added a new Get-AzHDInsightMonitoring cmdlet. Use this cmdlet to get the status of
monitoring installation in an Azure HDInsight cluster (replaces Get-
AzHDInsightOperationsManagementSuite and Get-AzHDInsightOMS ).

Before

PowerShell

Get-AzHDInsightOMS -Name testcluster

PowerShell

Get-AzHDInsightOperationsManagementSuite -Name testcluster

After

PowerShell
Get-AzHDInsightMonitoring -Name testcluster

Get-AzHDInsightProperty

Cmdlet Get-HDInsightProperty removed alias to Get-AzHDInsightProperties .

Before

Using deprecated alias

PowerShell

Get-AzHDInsightProperties -Location "East US 2"

After

PowerShell

Get-AzHDInsightProperty -Location "East US 2"

Grant-AzHDInsightRdpServicesAccess

Removed the Grant-AzHDInsightRdpServicesAccess and Revoke-


AzHDInsightRdpServicesAccess cmdlets. These are no longer necessary because clusters
using Windows OS type are not supported. Please create a cluster using Linux OS type
instead.

Remove-AzHDInsightCluster

The output type of Remove-AzHDInsightCluster changed from


Microsoft.Azure.Management.HDInsight.Models.ClusterGetResponse to bool .

Before

PowerShell

$cluster = Remove-AzHDInsightCluster -ClusterName "your-hadoop-001"

After

PowerShell

Remove-AzHDInsightCluster -ClusterName "your-hadoop-001" -PassThru

True

Revoke-AzHDInsightRdpServicesAccess

The cmdlet is deprecated. There is no replacement for it.

Set-AzHDInsightGatewayCredential

The output type of Set-AzHDInsightGatewayCredential changed from


HttpConnectivitySettings to AzureHDInsightGatewaySettings .

IotHub

New-AzIotHubImportDevices

This alias is removed, please use New-AzIotHubImportDevice instead.

Before

PowerShell

New-AzIotHubImportDevices -ResourceGroupName "myresourcegroup" -Name


"myiothub" -InputBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-
04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -OutputBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/?sv=2015-04-
05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D"

After

PowerShell

New-AzIotHubImportDevice -ResourceGroupName "myresourcegroup" -Name


"myiothub" -InputBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-
04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -OutputBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/?sv=2015-04-
05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D"

New-AzIotHubExportDevices

This alias is removed, please use New-AzIotHubExportDevice instead.

Before

PowerShell

New-AzIotHubExportDevices -ResourceGroupName "myresourcegroup" -Name


"myiothub" -ExportBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-
04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -ExcludeKeys

After

PowerShell

New-AzIotHubExportDevice -ResourceGroupName "myresourcegroup" -Name


"myiothub" -ExportBlobContainerUri
"https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-
04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-
26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -ExcludeKeys

Add-AzIotHubEventHubConsumerGroup

Parameter EventHubEndPointName is deprecated without being replaced as IotHub comes


with only one built-in endpoint("events") which could handle system and device
messages.

Before

PowerShell

Add-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name


"myiothub" -EventHubConsumerGroupName "myconsumergroup" -
EventHubEndpointName "/EventHubEndpointName"

After

PowerShell

Add-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name


"myiothub" -EventHubConsumerGroupName "myconsumergroup"

Get-AzIotHubEventHubConsumerGroup

Parameter EventHubEndPointName is deprecated without being replaced as IotHub comes


with only one built-in endpoint("events") which could handle system and device
messages.

Before

PowerShell

Get-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name


"myiothub" -EventHubEndpointName "/EventHubEndpointName"

After

PowerShell

Get-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name


"myiothub"

Remove-AzIotHubEventHubConsumerGroup

Parameter EventHubEndPointName is deprecated without being replaced as IotHub comes


with only one built-in endpoint("events") which could handle system and device
messages.

Before

PowerShell

Remove-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -


Name "myiothub" -EventHubConsumerGroupName myconsumergroup -
EventHubEndpointName "/EventHubEndpointName"

After

PowerShell

Remove-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -


Name "myiothub" -EventHubConsumerGroupName myconsumergroup

Set-AzIotHub

Parameter OperationsMonitoringProperties is deprecated without being replaced as


IotHub is no longer using built-in endpoint("operationsMonitoringEvents").

RecoveryServices

Edit-AzRecoveryServicesAsrRecoveryPlan

ASRRecoveryPlanGroup.ReplicationProtectedItems ,
ASRRecoveryPlanGroup.StartGroupActions and ASRRecoveryPlanGroup.EndGroupActions is

removed from output.

Get-AzRecoveryServicesAsrRecoveryPlan

ASRRecoveryPlanGroup.ReplicationProtectedItems ,
ASRRecoveryPlanGroup.StartGroupActions and ASRRecoveryPlanGroup.EndGroupActions is

removed from output.

New-AzRecoveryServicesAsrReplicationProtectedItem

Parameter IncludeDiskId is changed to support directly writing to a managed disk in


Azure Site Recovery.

Before

PowerShell

$job = New-AzRecoveryServicesAsrReplicationProtectedItem -
RecoveryAzureStorageAccountId $recoveryAzureStorageAccountId -IncludeDiskId
$includeDiskId -VMwareToAzure -Account
$fabric.FabricSpecificDetails.RunAsAccounts[0] -RecoveryResourceGroupId
$RecoveryResourceGroupId -RecoveryAzureNetworkId $RecoveryAzureNetworkId -
name $name -ProcessServer $fabric.FabricSpecificDetails.ProcessServers[0] -
ProtectableItem $protectableItem -ProtectionContainerMapping $pcm -
RecoveryAzureSubnetName $RecoveryAzureSubnetName -RecoveryVmName
$RecoveryVmName -LogStorageAccountId $LogStorageAccountId

After

PowerShell

$disk1 = New-AzRecoveryServicesAsrInMageAzureV2DiskInput -DiskId $diskId -


LogStorageAccountId $logStorageAccountId -DiskType $diskType

$disk2 = New-AzRecoveryServicesAsrInMageAzureV2DiskInput -DiskId $diskId2 -


LogStorageAccountId $logStorageAccountId -DiskType $diskType2

$job = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -


Account $fabric.FabricSpecificDetails.RunAsAccounts[0] -
RecoveryResourceGroupId $RecoveryResourceGroupId -RecoveryAzureNetworkId
$RecoveryAzureNetworkId -name $name -ProcessServer
$fabric.FabricSpecificDetails.ProcessServers[0] -ProtectableItem
$protectableItem -ProtectionContainerMapping $pcm -RecoveryAzureSubnetName
$RecoveryAzureSubnetName -RecoveryVmName $RecoveryVmName -
LogStorageAccountId $LogStorageAccountId -InMageAzureV2DiskInput
$disk1,$disk2

Resources

Previous Version Incompatibility with Az.Batch Module


Version 1.7.1 of the ‘Az.Resources’ module is incompatible with earlier versions (version
1.1.2 or earlier) of the ‘Az.Batch’ module. This will result in being unable to import
version 1.1.2 of the ‘Az.Batch’ module when version 1.7.1 of the ‘Az.Resources’ module is
imported. To fix this issue, update the ‘Az.Batch’ module to version 2.0.1 or greater, or
simply install the latest version of the ‘Az’ module.

ServiceFabric

Add-ServiceFabricApplicationCertificate

Removed Add-ServiceFabricApplicationCertificate as this scenario is covered by Add-


AzVmssSecret .
Before

PowerShell

Add-AzServiceFabricApplicationCertificate -ResourceGroupName "Group1" -Name


"Contoso01SFCluster" -SecretIdentifier
"http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion"

After

PowerShell

$Vault = Get-AzKeyVault -VaultName "ContosoVault"

$CertConfig = New-AzVmssVaultCertificateConfig -CertificateUrl


"http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion" -
CertificateStore "Certificates"

$VMSS = New-AzVmssConfig

Add-AzVmssSecret -VirtualMachineScaleSet $VMSS -SourceVaultId


$Vault.ResourceId -VaultCertificate $CertConfig

Sql

Get-AzSqlDatabaseSecureConnectionPolicy

Note that secure connection is deprecated and so command is removed. Please use the
SQL database blade in the Azure portal to view the connection strings

Get-AzSqlDatabaseIndexRecommendations

Get-AzSqlDatabaseIndexRecommendations alias is removed. Use Get-


AzSqlDatabaseIndexRecommendation instead.

Get-AzSqlDatabaseRestorePoints

Get-AzSqlDatabaseRestorePoints alias is removed. Use Get-AzSqlDatabaseRestorePoint

instead.

Get-AzSqlDatabaseAuditing

The cmdlet Get-AzSqlDatabaseAudit is replacing this cmdlet.


The output type is changing from the existing type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel'
to the new type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseAuditingSettingsModel',
removing properties AuditState and StorageAccountName . and
StorageAccountSubscriptionId . Scripts can retrieve storage account information

from the new StorageAccountResourceId property.

Before

PowerShell

PS C:\> Get-AzSqlDatabaseAuditing -ResourceGroupName "ResourceGroup01" -


ServerName "Server01" -DatabaseName "Database01"

DatabaseName : database01

AuditAction : {}
AuditActionGroup : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP,

BATCH_COMPLETED_GROUP, ...}

ResourceGroupName : resourcegroup01

ServerName : server01

AuditState : Enabled

StorageAccountName : mystorage

StorageKeyType : Primary

RetentionInDays : 0

StorageAccountSubscriptionId : 7fe3301d-31d3-4668-af5e-211a890ba6e3

PredicateExpression : statement <> 'select 1'

After

PowerShell

PS C:\> Get-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -


ServerName "Server01" -DatabaseName "Database01"

ServerName : server01

DatabaseName : database01

AuditAction : {}

ResourceGroupName : resourcegroup01

AuditActionGroup :
{SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP,

BATCH_COMPLETED_GROUP, ...}

PredicateExpression : statement <> 'select 1'

BlobStorageTargetState : Enabled

StorageAccountResourceId : /subscriptions/7fe3301d-31d3-4668-
af5e-
211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/stor
ageAccounts/mystorage

StorageKeyType : Primary

RetentionInDays : 0

EventHubTargetState : Enabled

EventHubName : eventHubName

EventHubAuthorizationRuleResourceId : EventHubAuthorizationRuleResourceId

LogAnalyticsTargetState : Enabled

WorkspaceResourceId : "/subscriptions/4b9e8510-67ab-4e9a-
95a9-e2f1e570ea9c/resourceGroups/insights-
integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

Set-AzSqlDatabaseAuditing

The cmdlet Set-AzSqlDatabaseAudit is replacing this cmdlet.


The output type is changing from the existing type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel'
to the new type :'bool'

Before

PowerShell

Set-AzSqlDatabaseAuditing -State Enabled -ResourceGroupName


"ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -
DatabaseName "Database01"

After

PowerShell

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName


"Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -
StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-
211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/stor
ageAccounts/mystorage"

Get-AzSqlServerAuditing

The cmdlet Get-AzSqlServerAudit is replacing this cmdlet.


The output type is changing from the existing type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel'
to the new type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.ServerAuditingSettingsModel'.
Properties AuditState , StorageAccountName , and StorageAccountSubscriptionId are
removed. Scripts that use StorageAccountName and StorageAccountSubscriptionId
proeprties can retrieve this information from the new StorageAccountResourceId
property.

Before

PowerShell

PS C:\> Get-AzSqlServerAuditing -ResourceGroupName "resourcegroup01" -


ServerName "server01"

AuditActionGroup : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP, BATCH_COMPLETED_GROUP, ...}

ResourceGroupName : resourcegroup01

ServerName : server01

AuditState : Enabled

StorageAccountName : mystorage

StorageKeyType : Primary

RetentionInDays : 0

StorageAccountSubscriptionId : 7fe3301d-31d3-4668-af5e-211a890ba6e3

PredicateExpression : statement <> 'select 1'

After

PowerShell

PS C:\> Get-AzSqlServerAudit -ResourceGroupName "resourcegroup01" -


ServerName "server01"

ServerName : server01

ResourceGroupName : resourcegroup01

AuditActionGroup :
{SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP, BATCH_COMPLETED_GROUP, ...}

PredicateExpression : statement <> 'select 1'

BlobStorageTargetState : Enabled

StorageAccountResourceId : /subscriptions/7fe3301d-31d3-4668-
af5e-
211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/stor
ageAccounts/mystorage

StorageKeyType : Primary

RetentionInDays : 0

EventHubTargetState : Enabled

EventHubName : eventHubName

EventHubAuthorizationRuleResourceId : EventHubAuthorizationRuleResourceId

LogAnalyticsTargetState : Enabled

WorkspaceResourceId : "/subscriptions/4b9e8510-67ab-4e9a-
95a9-e2f1e570ea9c/resourceGroups/insights-
integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

Set-AzSqlServerAuditing

The cmdlet Set-AzSqlServerAudit is replacing this cmdlet.


The output type is changing from the existing type
:'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel'
to the new type :'bool'

Before

PowerShell

Set-AzSqlServerAuditing -State Enabled -ResourceGroupName "ResourceGroup01"


-ServerName "Server01" -StorageAccountName "Storage22"

After

PowerShell

PS C:\> Set-AzSqlServerAudit -ResourceGroupName "ResourceGroup01" -


ServerName "Server01" -BlobStorageTargetState Enabled -
StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-
211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/stor
ageAccounts/mystorage"

Get-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Get-AzSqlServerAdvancedThreatProtectionSettings is replaced by Get-


AzSqlServerAdvancedThreatProtectionSetting

Before

PowerShell

Get-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01"

After

PowerShell
Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01"

Clear-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Clear-AzSqlServerAdvancedThreatProtectionSettings is replaced by Clear-


AzSqlServerAdvancedThreatProtectionSetting

Before

PowerShell

Clear-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01"

After

PowerShell

Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01"

Update-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Update-AzSqlServerAdvancedThreatProtectionSettings is replaced by Update-


AzSqlServerAdvancedThreatProtectionSetting

Before

PowerShell

Update-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails
"[email protected];[email protected]" -EmailAdmins $False -
ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -
StorageAccountName "mystorageAccount"

After
PowerShell

Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails
"[email protected];[email protected]" -EmailAdmins $False -
ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -
StorageAccountName "mystorageAccount"

Get-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Get-AzSqlDatabaseAdvancedThreatProtectionSettings is replaced by Get-


AzSqlDatabaseAdvancedThreatProtectionSetting

Before

PowerShell

Get-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

PowerShell

Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

Update-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Update-AzSqlDatabaseAdvancedThreatProtectionSettings is repleaced by Update-


AzSqlDatabaseAdvancedThreatProtectionSetting

Before

PowerShell

Update-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -
NotificationRecipientsEmails "[email protected];[email protected]" -
EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability",
"SQL_Injection" -StorageAccountName "mystorageAccount"

After

PowerShell

Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -
NotificationRecipientsEmails "[email protected];[email protected]" -
EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability",
"SQL_Injection" -StorageAccountName "mystorageAccount"

Clear-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Clear-AzSqlDatabaseAdvancedThreatProtectionSettings is repleaced by Clear-


AzSqlDatabaseAdvancedThreatProtectionSetting

Before

PowerShell

Clear-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

PowerShell

Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

Update-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Update-


AzSqlDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Update-AzSqlDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01"`

-ServerName "Server01"`

-DatabaseName "Database01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

After

PowerShell

Update-AzSqlDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01"`

-ServerName "Server01"`

-DatabaseName "Database01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

Get-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Get-


AzSqlDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Get-AzSqlDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Get-AzSqlDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Clear-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Clear-


AzSqlDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Clear-AzSqlDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Clear-AzSqlDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Update-
AzSqlInstanceDatabaseVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by


Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-InstanceName "ManagedInstance01" `

-DatabaseName "Database01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

After

PowerShell

Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-InstanceName "ManagedInstance01" `

-DatabaseName "Database01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

Get-
AzSqlInstanceDatabaseVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by


Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Clear-
AzSqlInstanceDatabaseVulnerabilityAssessmentSettings
Cmdlet Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

PowerShell

Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Update-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Update-


AzSqlInstanceVulnerabilityAssessmentSetting

Before

PowerShell

Update-AzSqlInstanceVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-InstanceName "ManagedInstance01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

After

PowerShell
Update-AzSqlInstanceVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-InstanceName "ManagedInstance01" `

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

Get-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Get-


AzSqlInstanceVulnerabilityAssessmentSetting

Before

PowerShell

Get-AzSqlInstanceVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Get-AzSqlInstanceVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Clear-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Clear-


AzSqlInstanceVulnerabilityAssessmentSetting

Before

PowerShell
Clear-AzSqlInstanceVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Clear-AzSqlInstanceVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Update-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Update-


AzSqlServerVulnerabilityAssessmentSetting

Before

PowerShell

Update-AzSqlServerVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01"`

-ServerName "Server01"`

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

After

PowerShell

Update-AzSqlServerVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01"`

-ServerName "Server01"`

-StorageAccountName "mystorage" `

-ScanResultsContainerName "vulnerability-assessment" `

-RecurringScansInterval Weekly `

-EmailSubscriptionAdmins $true `

-NotificationEmail @("[email protected]" , "[email protected]")

Get-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Get-


AzSqlServerVulnerabilityAssessmentSetting

Before

PowerShell

Get-AzSqlServerVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After

PowerShell

Get-AzSqlServerVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Clear-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Clear-


AzSqlServerVulnerabilityAssessmentSetting

Before

PowerShell

Clear-AzSqlServerVulnerabilityAssessmentSettings `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

After
PowerShell

Clear-AzSqlDatabaseVulnerabilityAssessmentSetting `

-ResourceGroupName "ResourceGroup01" `

-ServerName "Server01" `

-DatabaseName "Database01"

Get-AzSqlServerAdvancedThreatProtectionPolicy

Cmdlet Get-AzSqlServerAdvancedThreatProtectionPolicy is deleted and no cmdlet is


repleaced it

Get-AzSqlServerThreatDetectionPolicy

Cmdlet Get-AzSqlServerThreatDetectionPolicy is repleaced by Get-


AzSqlServerThreatDetectionSetting

Before

PowerShell

PS C:\> Get-AzSqlServerThreatDetectionPolicy -ResourceGroupName


"ResourceGroup11" -ServerName "Server01"

ResourceGroupName : ResourceGroup11

ServerName : Server01

ThreatDetectionState : Enabled

NotificationRecipientsEmails : [email protected]

StorageAccountName : mystorage

EmailAdmins : True

ExcludedDetectionTypes : {}
RetentionInDays : 0

After

PowerShell

PS C:\> Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName


"ResourceGroup11" -ServerName "Server01"

ResourceGroupName : ResourceGroup11

ServerName : Server01

ThreatDetectionState : Enabled

NotificationRecipientsEmails : [email protected]

StorageAccountName : mystorage

EmailAdmins : True

ExcludedDetectionTypes : {}
RetentionInDays : 0

Remove-AzSqlServerThreatDetectionPolicy

Cmdlet Remove-AzSqlServerThreatDetectionPolicy is repleaced by Clear-


AzSqlServerAdvancedThreatProtectionSetting

Before

PowerShell

Remove-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11"


-ServerName "Server01"

After

PowerShell

Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01"

Set-AzSqlServerThreatDetectionPolicy

Cmdlet Set-AzSqlServerThreatDetectionPolicy is repleaced by Update-


AzSqlServerAdvancedThreatProtectionSetting

Before

PowerShell

Set-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -


ServerName "Server01" -NotificationRecipientsEmails
"[email protected];[email protected]" -EmailAdmins $False -
ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -
StorageAccountName "mystorageAccount"

After

PowerShell
Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails
"[email protected];[email protected]" -EmailAdmins $False -
ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -
StorageAccountName "mystorageAccount"

Get-AzSqlDatabaseThreatDetectionPolicy

Cmdlet Get-AzSqlDatabaseThreatDetectionPolicy is repleaced by Get-


AzSqlDatabaseThreatDetectionSetting

Before

PowerShell

PS C:\> Get-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName


"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

DatabaseName : Database01

ResourceGroupName : ResourceGroup11

ServerName : Server01

ThreatDetectionState : Enabled

NotificationRecipientsEmails : [email protected]

StorageAccountName : mystorage

EmailAdmins : True

ExcludedDetectionTypes : {}
RetentionInDays : 0

After

PowerShell

PS C:\> Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName


"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

DatabaseName : Database01

ResourceGroupName : ResourceGroup11

ServerName : Server01

ThreatDetectionState : Enabled

NotificationRecipientsEmails : [email protected]

StorageAccountName : mystorage

EmailAdmins : True

ExcludedDetectionTypes : {}
RetentionInDays : 0

Set-AzSqlDatabaseThreatDetectionPolicy
Cmdlet Set-AzSqlDatabaseThreatDetectionPolicy is repleaced by Update-
AzSqlDatabaseAdvancedThreatProtectionSetting

Before

PowerShell

Set-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11"


-ServerName "Server01" -DatabaseName "Database01" -
NotificationRecipientsEmails "[email protected];[email protected]" -
EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability",
"SQL_Injection" -StorageAccountName "mystorageAccount"

After

PowerShell

Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -
NotificationRecipientsEmails "[email protected];[email protected]" -
EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability",
"SQL_Injection" -StorageAccountName "mystorageAccount"

Remove-AzSqlDatabaseThreatDetectionPolicy

Cmdlet Remove-AzSqlDatabaseThreatDetectionPolicy is repleaced by Clear-


AzSqlDatabaseAdvancedThreatProtectionSetting

Before

PowerShell

Remove-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

PowerShell

Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName
"ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

Migration Guide for Az 2.0.0


Article • 07/04/2023

This document describes the changes between the 1.0.0 and 2.0.0 versions of Az

Table of Contents
Module breaking changes
Az.Compute
Az.HDInsight
Az.Storage

Module breaking changes

Az.Compute
Removed Managed Parameter from New-AzAvailabilitySet and Update-
AzAvailabilitySet cmdlets in favor of using Sku = Aligned

Before

PowerShell

Update-AzAvailabilitySet -Managed

After

PowerShell

Update-AzAvailabilitySet -Sku Aligned

For consistency, removed Image parameter from 'ByName' and 'ByResourceId'


parameter sets in Update-AzImage

Before
Note that the below code is functional, but the passed-in ImageName is not used,
so removing this parameter has no functional impact.
PowerShell

Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -


Tag $tags

Update-AzImage -ResourceId $Id -Image $Image -Tag $tags

After

PowerShell

Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags

Update-AzImage -ResourceId $Id -Tag $tags

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Restart-AzVM

Before
Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Restart-AzVM -InputObject $VM -Name $Name

Restart-AzVM -ResourceId $Id -Name $Name

After

PowerShell

Restart-AzVM -InputObject $VM

Restart-AzVM -ResourceId $Id

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Start-AzVM

Before
Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Start-AzVM -InputObject $VM -Name $Name

Start-AzVM -ResourceId $Id -Name $Name

After

PowerShell

Start-AzVM -InputObject $VM

Start-AzVM -ResourceId $Id

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Stop-AzVM

Before
Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Stop-AzVM -InputObject $VM -Name $Name

Stop-AzVM -ResourceId $Id -Name $Name

After

PowerShell

Stop-AzVM -InputObject $VM

Stop-AzVM -ResourceId $Id

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Remove-AzVM
Before
Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Remove-AzVM -InputObject $VM -Name $Name

Remove-AzVM -ResourceId $Id -Name $Name

After

PowerShell

Remove-AzVM -InputObject $VM

Remove-AzVM -ResourceId $Id

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Set-AzVM

Before

Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Set-AzVM -InputObject $VM -Name $Name ...

Set-AzVM -ResourceId $Id -Name $Name ...

After

PowerShell

Set-AzVM -InputObject $VM ...

Set-AzVM -ResourceId $Id ...

For consistency, removed Name parameter from 'ByObject' and 'ByResourceId'


parameter sets in Save-AzVMImage

Before

Note that the below code is functional, but the passed-in Name is not used, so
removing this parameter has no functional impact.

PowerShell

Save-AzVMImage -InputObject $VM -Name $Name ...

Save-AzVMImage -ResourceId $Id -Name $Name ...

After

PowerShell

Save-AzVMImage -InputObject $VM ...

Save-AzVMImage -ResourceId $Id ...

Added ProtectionPolicy property to encapsulate ProtectFromScaleIn property in


PSVirtualMachineScaleSetVM

Before

PowerShell

$vmss = Get-AzVMssVM ...

$vmss.ProtectFromScaleIn = $true

$vmss = Update-AzVMssVM ...

$vmss.ProtectFromScaleIn = $true

$vmss = Remove-AzVMssVMDataDisk ...

$vmss.ProtectFromScaleIn = $true

After

PowerShell
$vmss = Get-AzVMssVM ...

$vmss.ProtectionPolicy.ProtectFromScaleIn = $true

$vmss = Update-AzVMssVM ...

$vmss.ProtectionPolicy.ProtectFromScaleIn = $true

$vmss = Remove-AzVMssVMDataDisk ...

$vmss.ProtectionPolicy.ProtectFromScaleIn = $true

Added EncryptionSettingsCollection Property to enclose EncryptionSettings


property in PSDisk

Before

PowerShell

$disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...

$disk.EncryptionSettings

$disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...

$disk.EncryptionSettings

$update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey


...

$update.EncryptionSettings

$update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...

$update.EncryptionSettings

After

PowerShell

$disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...

$disk.EncryptionSettingsCollection.EncryptionSettings

$disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...

$disk.EncryptionSettingsCollection.EncryptionSettings

$update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey


...

$update.EncryptionSettingsCollection.EncryptionSettings

$update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...

$update.EncryptionSettingsCollection.EncryptionSettings

Added EncryptionSettingsCollection Property to enclose EncryptionSettings


property in PSSnapshot

Before

PowerShell

$snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...

$snap.EncryptionSettings

$snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...

$snap.EncryptionSettings

$update = New-AzSnapshotUpdateConfig ... | Set-


AzSnapshotUpdateDiskEncryptionKey ...

$update.EncryptionSettings

$update = New-AzSnapshotUpdateConfig ... | Set-


AzSnapshotUpdateKeyEncryptionKey ...

$update.EncryptionSettings

After

PowerShell

$snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...

$snap.EncryptionSettingsCollection.EncryptionSettings

$snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...

$snap.EncryptionSettingsCollection.EncryptionSettings

$update = New-AzSnapshotUpdateConfig ... | Set-


AzSnapshotUpdateDiskEncryptionKey ...

$update.EncryptionSettingsCollection.EncryptionSettings

$update = New-AzSnapshotUpdateConfig ... | Set-


AzSnapshotUpdateKeyEncryptionKey ...

$update.EncryptionSettingsCollection.EncryptionSettings

Removed VirtualMachineProfile property from PSVirtualMachineScaleSet

Before

PowerShell

$vmss = New-AzVMSSConfig ...

$vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled =
$true

After

PowerShell

$vmss = New-AzVMSSConfig ...

$vmss.AdditionalCapabilities.UltraSSDEnabled = $true

Cmdlet Set-AzVMBootDiagnostic removed alias to Set-AzVMBootDiagnostics

Before
Using deprecated alias

PowerShell

Set-AzVMBootDiagnostics

After

PowerShell

Set-AzVMBootDIagnostic

Cmdlet Export-AzLogAnalyticThrottledRequest removed alias to Export-


AzLogAnalyticThrottledRequests

Before
Using deprectaed alias

PowerShell

Export-AzLogAnalyticThrottledRequests

After

PowerShell
Export-AzLogAnalyticThrottledRequest

Az.HDInsight
Removed the Grant-AzHDInsightHttpServicesAccess and Revoke-
AzHDInsightHttpServicesAccess cmdlets. These are no longer necessary because

HTTP access is always enabled on all HDInsight clusters.


Added a new Set-AzHDInsightGatewayCredential cmdlet. Use this cmdlet to change
the gateway HTTP username and password (replaces Grant-
AzHDInsightHttpServicesAccess ).
Updated the Get-AzHDInsightJobOutput cmdlet to support granular role-based
access to the storage key.
Users with HDInsight Cluster Operator, Contributor, or Owner roles will not be
affected.
Users with only the Reader role will need to specify DefaultStorageAccountKey
parameter explicitly.

For more information about these role-based access changes, see aka.ms/hdi-config-
update

Before

PowerShell

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential


$credential

After

PowerShell

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential


$credential

Users with only Reader role for cmdlet Get-


AzHDInsightJobOutput

Before
PowerShell

Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId

After

PowerShell

Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -


DefaultStorageAccountKey $storageAccountKey

Az.Storage
Namespaces for types returned from Blob, Queue, and File cmdlets have changed
their namespace from Microsoft.WindowsAzure.Storage to
Microsoft.Azure.Storage . While this is not technically a breaking change according

to the breaking change policy, it may require some changes in code that uses the
methods from the Storage .Net SDK to interact with the objects returned from
these cmdlets.

Example 1: Add a message to a Queue (change


CloudQueueMessage object namespace)

Before:

PowerShell

$queue = Get-AzStorageQueue –Name $queueName –Context $ctx

$queueMessage = New-Object -TypeName


"Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage,$($queue.CloudQ
ueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1"

$queue.CloudQueue.AddMessageAsync($QueueMessage)

After:

PowerShell

$queue = Get-AzStorageQueue –Name $queueName –Context $ctx

$queueMessage = New-Object -TypeName


"Microsoft.Azure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.Ge
tType().Assembly.FullName)" -ArgumentList "This is message 1"

$queue.CloudQueue.AddMessageAsync($QueueMessage)

Example 2: Fetch Blob/File Attributes with AccessCondition


(change AccessCondition object namespace)

Before:

PowerShell

$accessCondition= New-Object
Microsoft.WindowsAzure.Storage.AccessCondition

$blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName

$blob.ICloudBlob.FetchAttributes($accessCondition)

$file = Get-AzureStorageFile -ShareName $shareName -Path $filepath

$file.FetchAttributes($accessCondition)

After:

PowerShell

$accessCondition= New-Object Microsoft.Azure.Storage.AccessCondition

$blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName

$blob.ICloudBlob.FetchAttributes($accessCondition)

$file = Get-AzureStorageFile -ShareName $shareName -Path $filepath

$file.FetchAttributes($accessCondition)

While not technically a breaking change, you will notice output differences in the
Sku.Name property of Storage Accounts returned from New/Get/Set-
AzStorageAccount changes are as follows. (After the change, output and input

SkuName are aligned.)


"StandardLRS" -> "Standard_LRS";
"StandardGRS" -> "Standard_GRS";
"StandardRAGRS" -> "Standard_RAGRS";
"StandardZRS" -> "Standard_ZRS";
"PremiumLRS" -> "Premium_LRS";

The default service behavior when creating a storage account withous specifying a
Kind has changed. In previous versions, when a storage account was created with
no Kind specified, the Storage account Kind of Storage was used, in the new
version StorageV2 is the default Kind value. If you need to create a V1 Storage
account with Kind 'Storage', add parameter '-Kind Storage'

Example : Create a storage Account (Default Kind change)


Before:

PowerShell

PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name


accountname -SkuName Standard_LRS -Location "westus"

StorageAccountName ResourceGroupName Location SkuName Kind


AccessTier CreationTime ProvisioningState
EnableHttpsTrafficOnly

------------------ ----------------- -------- ------- ---- ---


------- ------------ ----------------- ----------------------

accountname groupname westus StandardLRS Storage Hot


4/17/2018 10:34:32 AM Succeeded False

After:

PowerShell

PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name


accountname -SkuName Standard_LRS -Location "westus"

StorageAccountName ResourceGroupName Location SkuName Kind


AccessTier CreationTime ProvisioningState
EnableHttpsTrafficOnly

------------------ ----------------- -------- ------- ---- --


-------- ------------ ----------------- ---------------------
-

accountname groupname westus Standard_LRS StorageV2


Hot 4/17/2018 10:34:32 AM Succeeded False

Breaking changes for Az 1.0.0


Article • 07/04/2023

This document provides detailed information on the changes between AzureRM 6.x and
the new Az
module, version 1.x and later. The table of contents will help guide you
through a full migration
path, including module-specific changes that may affect your
scripts.

For general advice on getting started with a migration from AzureRM to Az, see Start
migration from
AzureRM to Az.

) Important

There have been breaking changes between Az 1.0.0 and Az 2.0.0 as well. After
following this guide
for updating from AzureRM to Az, see the Az 2.0.0 breaking
changes to find out
if you need to make additional changes.

Table of Contents
General breaking changes
Cmdlet noun prefix changes
Module name changes
Removed modules
Windows PowerShell 5.1 and .NET 4.7.2
Temporary removal of user login using PSCredential
Default device code login instead of web browser prompt
Module breaking changes
Az.ApiManagement (previously AzureRM.ApiManagement)
Az.Billing (previously AzureRM.Billing, AzureRM.Consumption, and
AzureRM.UsageAggregates)
Az.CognitiveServices (previously AzureRM.CognitiveServices)
Az.Compute (previously AzureRM.Compute)
Az.DataFactory (previously AzureRM.DataFactories and AzureRM.DataFactoryV2)
Az.DataLakeAnalytics (previously AzureRM.DataLakeAnalytics)
Az.DataLakeStore (previously AzureRM.DataLakeStore)
Az.KeyVault (previously AzureRM.KeyVault)
Az.Media (previously AzureRM.Media)
Az.Monitor (previously AzureRM.Insights)
Az.Network (previously AzureRM.Network)
Az.OperationalInsights (previously AzureRM.OperationalInsights)
Az.RecoveryServices (previously AzureRM.RecoveryServices,
AzureRM.RecoveryServices.Backup, and
AzureRM.RecoveryServices.SiteRecovery)
Az.Resources (previously AzureRM.Resources)
Az.ServiceFabric (previously AzureRM.ServiceFabric)
Az.Sql (previously AzureRM.Sql)
Az.Storage (previously Azure.Storage and AzureRM.Storage)
Az.Websites (previously AzureRM.Websites)

General breaking changes


This section details the general breaking changes that are part of the redesign of the Az
module.

Cmdlet Noun Prefix Changes


In the AzureRM module, cmdlets used either AzureRM or Azure as a noun prefix. Az
simplifies and normalizes cmdlet names, so that all cmdlets use 'Az' as their cmdlet noun
prefix. For example:

Azure PowerShell

Get-AzureRMVM

Get-AzureKeyVaultSecret

Has changed to:

Azure PowerShell

Get-AzVM

Get-AzKeyVaultSecret

To make the transition to these new cmdlet names simpler, Az introduces two new
cmdlets, Enable-AzureRmAlias and Disable-AzureRmAlias. Enable-AzureRmAlias creates
aliases for the older cmdlet names in AzureRM that map to the newer Az cmdlet names.
Using the -Scope argument with Enable-AzureRmAlias allows you to choose where
aliases are enabled.

For example, the following script in AzureRM:

Azure PowerShell
#Requires -Modules AzureRM.Storage

Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

Can be run with minimal changes using Enable-AzureRmAlias :

Azure PowerShell

#Requires -Modules Az.Storage

Enable-AzureRmAlias -Scope Process

Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

Running Enable-AzureRmAlias -Scope CurrentUser will enable the aliases for all
PowerShell sessions you open, so that after executing this cmdlet, a script like this would
not need to be changed at all:

Azure PowerShell

Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

For complete details on the usage of the alias cmdlets, see the Enable-AzureRmAlias
reference.

When you're ready to disable aliases, Disable-AzureRmAlias removes the created aliases.
For complete details,
see the Disable-AzureRmAlias reference.

) Important

When disabling aliases, make sure that they are disabled for all scopes which had
aliases enabled.

Module Name Changes


The module names have changed from AzureRM.* to Az.* , except for the following
modules:

AzureRM module Az module

Azure.Storage Az.Storage

Azure.AnalysisServices Az.AnalysisServices

AzureRM.Profile Az.Accounts
AzureRM module Az module

AzureRM.Insights Az.Monitor

AzureRM.DataFactories Az.DataFactory

AzureRM.DataFactoryV2 Az.DataFactory

AzureRM.RecoveryServices.Backup Az.RecoveryServices

AzureRM.RecoveryServices.SiteRecovery Az.RecoveryServices

AzureRM.Tags Az.Resources

AzureRM.MachineLearningCompute Az.MachineLearning

AzureRM.UsageAggregates Az.Billing

AzureRM.Consumption Az.Billing

The changes in module names mean that any script that uses #Requires or Import-
Module to load specific modules will need to be changed to use the new module instead.
For modules where the cmdlet suffix has not changed,
this means that although the
module name has changed, the suffix indicating the operation space has not.

Migrating #Requires and Import-Module Statements


Scripts that use #Requires or Import-Module to declare a dependency on AzureRM
modules must be updated to use the new module names. For example:

Azure PowerShell

#Requires -Module AzureRM.Compute

Should be changed to:

Azure PowerShell

#Requires -Module Az.Compute

For Import-Module :

Azure PowerShell

Import-Module -Name AzureRM.Compute

Should be changed to:

Azure PowerShell

Import-Module -Name Az.Compute

Migrating Fully-Qualified Cmdlet Invocations


Scripts that use module-qualified cmdlet invocations, such as:

Azure PowerShell

AzureRM.Compute\Get-AzureRmVM

Must be changed to use the new module and cmdlet names:

Azure PowerShell

Az.Compute\Get-AzVM

Migrating module manifest dependencies


Modules that express dependencies on AzureRM modules through a module manifest
(.psd1) file will need to updated the module names in their RequiredModules section:

PowerShell

RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})

Must be changed to:

PowerShell

RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})

Removed modules
The following modules have been removed:

AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler

The tools for these services are no longer actively supported. Customers are encouraged
to move to alternative services as soon as it is convenient.

Windows PowerShell 5.1 and .NET 4.7.2


Using Az with PowerShell 5.1 for Windows requires the installation of .NET Framework
4.7.2. Using PowerShell
Core 6.x or later does not require .NET Framework.

Temporary removal of User login using PSCredential


Due to changes in the authentication flow for .NET Standard, we are temporarily
removing user login via PSCredential. This capability will be re-introduced in the
1/15/2019 release for PowerShell 5.1 for Windows. This is discussed in detail in this
GitHub issue.

Default device code login instead of web browser prompt


Due to changes in the authentication flow for .NET Standard, we are using device login
as the default login flow during interactive login. Web browser based login will be re-
introduced for PowerShell 5.1 for Windows as the default in the 1/15/2019 release. At
that time, users will be able to choose device login using a Switch parameter.

Module breaking changes


This section details specific breaking changes for individual modules and cmdlets.

Az.ApiManagement (previously
AzureRM.ApiManagement)
Removed the following cmdlets:
New-AzureRmApiManagementHostnameConfiguration
Set-AzureRmApiManagementHostnames
Update-AzureRmApiManagementDeployment
Import-AzureRmApiManagementHostnameCertificate
Use Set-AzApiManagement cmdlet to set these properties instead
Removed the following properties:
Removed property PortalHostnameConfiguration , ProxyHostnameConfiguration ,
ManagementHostnameConfiguration and ScmHostnameConfiguration of type
PsApiManagementHostnameConfiguration from PsApiManagementContext . Instead

use PortalCustomHostnameConfiguration , ProxyCustomHostnameConfiguration ,


ManagementCustomHostnameConfiguration and ScmCustomHostnameConfiguration

of type PsApiManagementCustomHostNameConfiguration .
Removed property StaticIPs from PsApiManagementContext. The property
has been split into PublicIPAddresses and PrivateIPAddresses .
Removed required property Location from New-
AzureApiManagementVirtualNetwork cmdlet.

Az.Billing (previously AzureRM.Billing,


AzureRM.Consumption, and AzureRM.UsageAggregates)
The InvoiceName parameter was removed from the Get-AzConsumptionUsageDetail
cmdlet. Scripts will need to use other identity parameters for the invoice.

Az.CognitiveServices (previously
AzureRM.CognitiveServices)
Removed GetSkusWithAccountParamSetName parameter set from Get-
AzCognitiveServicesAccountSkus cmdlet. You must get Skus by Account Type and

Location, instead of using ResourceGroupName and Account Name.

Az.Compute (previously AzureRM.Compute)


IdentityIds are removed from Identity property in PSVirtualMachine and

PSVirtualMachineScaleSet objects
Scripts should no longer use the value of this
field to make processing decisions.
The type of InstanceView property of PSVirtualMachineScaleSetVM object is
changed from VirtualMachineInstanceView to
VirtualMachineScaleSetVMInstanceView

AutoOSUpgradePolicy and AutomaticOSUpgrade properties are removed from


UpgradePolicy property

The type of Sku property in PSSnapshotUpdate object is changed from DiskSku to


SnapshotSku

VmScaleSetVMParameterSet is removed from Add-AzVMDataDisk cmdlet, you can no

longer add a data disk individually to a ScaleSet VM.


Az.DataFactory (previously AzureRM.DataFactories and
AzureRM.DataFactoryV2)
The GatewayName parameter has become mandatory in the New-
AzDataFactoryEncryptValue cmdlet

Removed New-AzDataFactoryGatewayKey cmdlet


Removed LinkedServiceName parameter from Get-AzDataFactoryV2ActivityRun
cmdlet
Scripts should no longer use the value of this field to make processing
decisions.

Az.DataLakeAnalytics (previously
AzureRM.DataLakeAnalytics)
Removed deprecated cmdlets: New-AzDataLakeAnalyticsCatalogSecret , Remove-
AzDataLakeAnalyticsCatalogSecret , and Set-AzDataLakeAnalyticsCatalogSecret

Az.DataLakeStore (previously AzureRM.DataLakeStore)


The following cmdlets have had the Encoding parameter changed from the type
FileSystemCmdletProviderEncoding to System.Text.Encoding . This change removes
the encoding values String and Oem . All the other prior encoding values remain.
New-AzureRmDataLakeStoreItem
Add-AzureRmDataLakeStoreItemContent
Get-AzureRmDataLakeStoreItemContent

Removed deprecated Tags property alias from New-AzDataLakeStoreAccount and


Set-AzDataLakeStoreAccount cmdlets

Scripts using

Azure PowerShell

New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}

Should be changed to

Azure PowerShell

New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}

Removed deprecated properties Identity , EncryptionState ,


EncryptionProvisioningState , EncryptionConfig , FirewallState , FirewallRules ,
VirtualNetworkRules , TrustedIdProviderState , TrustedIdProviders , DefaultGroup ,

NewTier , CurrentTier , FirewallAllowAzureIps from PSDataLakeStoreAccountBasic


object. Any script that
uses the PSDatalakeStoreAccount returned from Get-
AzDataLakeStoreAccount should not reference these properties.

Az.KeyVault (previously AzureRM.KeyVault)


The PurgeDisabled property was removed from the PSKeyVaultKeyAttributes ,
PSKeyVaultKeyIdentityItem , and PSKeyVaultSecretAttributes objects
Scripts

should no longer reference the PurgeDisabled property to make processing


decisions.

Az.Media (previously AzureRM.Media)


Remove deprecated Tags property alias from New-AzMediaService cmdlet
Scripts
using

Azure PowerShell

New-AzureRMMediaService -Tags @{TagName="TagValue"}

Should be changed to

Azure PowerShell

New-AzMediaService -Tag @{TagName="TagValue"}

Az.Monitor (previously AzureRM.Insights)


Removed plural names Categories and Timegrains parameter in favor of singular
parameter names from Set-AzDiagnosticSetting cmdlet
Scripts using

Azure PowerShell

Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1,


Category2

Should be changed to
Azure PowerShell

Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2

Az.Network (previously AzureRM.Network)


Removed deprecated ResourceId parameter from Get-
AzServiceEndpointPolicyDefinition cmdlet

Removed deprecated EnableVmProtection property from PSVirtualNetwork object


Removed deprecated Set-AzVirtualNetworkGatewayVpnClientConfig cmdlet

Scripts should no longer make processing decisions based on the values fo these fields.

Az.OperationalInsights (previously
AzureRM.OperationalInsights)
Default parameter set for Get-AzOperationalInsightsDataSource is removed, and
ByWorkspaceNameByKind has become the default parameter set

Scripts that listed data sources using

Azure PowerShell

Get-AzureRmOperationalInsightsDataSource

Should be changed to specify a Kind

Azure PowerShell

Get-AzOperationalInsightsDataSource -Kind AzureActivityLog

Az.RecoveryServices (previously
AzureRM.RecoveryServices,
AzureRM.RecoveryServices.Backup, and
AzureRM.RecoveryServices.SiteRecovery)
Removed Encryption parameter from New/Set-AzRecoveryServicesAsrPolicy
cmdlet
TargetStorageAccountName parameter is now mandatory for managed disk restores

in Restore-AzRecoveryServicesBackupItem cmdlet
Removed StorageAccountName and StorageAccountResourceGroupName parameters in
Restore-AzRecoveryServicesBackupItem cmdlet
Removed Name parameter in Get-AzRecoveryServicesBackupContainer cmdlet

Az.Resources (previously AzureRM.Resources)


Removed Sku parameter from New/Set-AzPolicyAssignment cmdlet

Removed Password parameter from New-AzADServicePrincipal and New-


AzADSpCredential cmdlet
Passwords are automatically generated, scripts that
provided the password:

Azure PowerShell

New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -


Password $secPassword

Should be changed to retrieve the password from the output:

Azure PowerShell

$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-


2007d0668476

$secPassword = $credential.Secret

Az.ServiceFabric (previously AzureRM.ServiceFabric)


The following cmdlet return types have been changed:
The property ServiceTypeHealthPolicies of type ApplicationHealthPolicy has
been removed.
The property ApplicationHealthPolicies of type
ClusterUpgradeDeltaHealthPolicy has been removed.
The property OverrideUserUpgradePolicy of type ClusterUpgradePolicy has
been removed.
These changes affect the following cmdlets:
Add-AzServiceFabricClientCertificate
Add-AzServiceFabricClusterCertificate
Add-AzServiceFabricNode
Add-AzServiceFabricNodeType
Get-AzServiceFabricCluster
Remove-AzServiceFabricClientCertificate
Remove-AzServiceFabricClusterCertificate
Remove-AzServiceFabricNode
Remove-AzServiceFabricNodeType
Remove-AzServiceFabricSetting
Set-AzServiceFabricSetting
Set-AzServiceFabricUpgradeType
Update-AzServiceFabricDurability
Update-AzServiceFabricReliability

Az.Sql (previously AzureRM.Sql)


Removed State and ResourceId parameters from Set-
AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet

Removed deprecated cmdlets: Get/Set-AzSqlServerBackupLongTermRetentionVault ,


Get/Start/Stop-AzSqlServerUpgrade , Get/Set-AzSqlDatabaseAuditingPolicy ,

Get/Set-AzSqlServerAuditingPolicy , Remove-AzSqlDatabaseAuditing , Remove-

AzSqlServerAuditing
Removed deprecated parameter Current from Get-
AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet
Removed deprecated parameter DatabaseName from Get-
AzSqlServerServiceObjective cmdlet

Removed deprecated parameter PrivilegedLogin from Set-


AzSqlDatabaseDataMaskingPolicy cmdlet

Az.Storage (previously Azure.Storage and


AzureRM.Storage)
To support creating an Oauth storage context with only the storage account name,
the default parameter set has been changed to OAuthParameterSet
Example: $ctx = New-AzureStorageContext -StorageAccountName $accountName
The Location parameter has become mandatory in the Get-AzStorageUsage cmdlet
The Storage API methods now use the Task-based Asynchronous Pattern (TAP),
instead of synchronous API calls. The following examples demonstrate the new
asynchronous commands:

Blob Snapshot
AzureRM:
Azure PowerShell

$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context


$ctx

$b.ICloudBlob.Snapshot()

Az:

Azure PowerShell

$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context


$ctx

$task = $b.ICloudBlob.SnapshotAsync()

$task.Wait()

$snapshot = $task.Result

Share Snapshot

AzureRM:

Azure PowerShell

$Share = Get-AzureStorageShare -Name $containerName -Context $ctx

$snapshot = $Share.Snapshot()

Az:

Azure PowerShell

$Share = Get-AzStorageShare -Name $containerName -Context $ctx

$task = $Share.SnapshotAsync()

$task.Wait()

$snapshot = $task.Result

Undelete soft-deleted blob


AzureRM:

Azure PowerShell

$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -


IncludeDeleted -Context $ctx

$b.ICloudBlob.Undelete()

Az:

Azure PowerShell

$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -


IncludeDeleted -Context $ctx

$task = $b.ICloudBlob.UndeleteAsync()

$task.Wait()

Set Blob Tier


AzureRM:

Azure PowerShell

$blockBlob = Get-AzureStorageBlob -Container $containerName -Blob


$blockBlobName -Context $ctx

$blockBlob.ICloudBlob.SetStandardBlobTier("hot")

$pageBlob = Get-AzureStorageBlob -Container $containerName -Blob


$pageBlobName -Context $ctx

$pageBlob.ICloudBlob.SetPremiumBlobTier("P4")

Az:

Azure PowerShell

$blockBlob = Get-AzStorageBlob -Container $containerName -Blob


$blockBlobName -Context $ctx

$task = $blockBlob.ICloudBlob.SetStandardBlobTierAsync("hot")

$task.Wait()

$pageBlob = Get-AzStorageBlob -Container $containerName -Blob $pageBlobName


-Context $ctx

$task = $pageBlob.ICloudBlob.SetPremiumBlobTierAsync("P4")

$task.Wait()

Az.Websites (previously AzureRM.Websites)


Removed deprecated properties from the PSAppServicePlan , PSCertificate ,
PSCloningInfo , and PSSite objects
Migrate Azure PowerShell from
AzureRM to Az
Article • 07/04/2023

All versions of the AzureRM PowerShell module are outdated. The Az PowerShell
module is now the recommended PowerShell module for interacting with Azure.

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

Why a new module?


The biggest and most important change is that PowerShell, being
based on the .NET
Standard library, has been a cross-platform product since its introduction.

Like the PowerShell language, we're committed to bringing Azure support to all
platforms. Our
commitment meant that the Azure PowerShell modules needed to be
updated to use .NET Standard and be
compatible with PowerShell Core. Rather than
modifying the existing AzureRM module and introducing
complex changes to add this
support, the Az module was created.

Creating a new module also allowed our engineers to make the design, naming of
cmdlets, and modules
consistent. All modules now start with the Az. prefix and cmdlets
all use the Verb-AzNoun naming
convention. Previously, cmdlet names were longer and
inconsistent.

The number of modules were also reduced: Some modules that worked with the same
services have been
combined. Management plane and data plane cmdlets for the same
service are now contained within a
single module. For those of you who manually
manage dependencies and imports, this consolidation
makes things much simpler.

By making these important changes, the team has committed to making it easier than
ever before and
on more platforms than previously possible to use Azure with
PowerShell cmdlets.

Upgrading to Az PowerShell
Scripts written for the AzureRM cmdlets won't automatically work with Az. To make the
transition easier, the
AzureRM to Az migration toolkit was
developed. No migration to
a new command set is ever convenient, but this article will help you get
started on
transitioning to the Az PowerShell module. To learn more about why the Az PowerShell
module was created, see Introducing the new Azure PowerShell Az module.

The new cmdlet names have been designed to be easy to learn. Instead of using
AzureRm or Azure
in cmdlet names, use Az . For example, the old cmdlet New-AzureRMVm
has become New-AzVm .
However, migration is more than becoming familiar with the new
cmdlet names, though. There are
renamed modules, parameters, and other important
changes.

To see the full list of breaking changes between AzureRM and Az, see the
full changes
from AzureRM to Az.

Ensure existing scripts work with the latest


AzureRM release
Before taking any migration steps, determine what versions of AzureRM are installed on
your system.
Doing so allows you to make sure scripts are already running on the latest
release and let you know
what versions of AzureRM must be uninstalled.

To determine what versions of AzureRM you have installed, run the following example:

PowerShell

Get-Module -Name AzureRM -ListAvailable -All

The latest available release of AzureRM is 6.13.2. If you don't have this version installed,
your existing scripts may need additional modifications to work with the Az module
beyond the scope
of what's described in this article and in the breaking changes list.

If your scripts don't work with AzureRM 6.13.2, update them according to the
AzureRM
5.x to 6.x migration guide. If you use an
earlier version of the AzureRM module, there
are migration guides available for each major version.
Option 1 (recommended): Automatically
migrate your PowerShell scripts
This recommended option minimizes the effort required to migrate AzureRM scripts to
Az.

Install the AzureRM to Az migration toolkit


PowerShell

Install-Module -Name Az.Tools.Migration

Convert your scripts automatically


With the AzureRM to Az migration toolkit, you can generate a plan to determine what
changes will be
performed on your scripts before making any modifications to them and
before installing the Az
PowerShell module.

The Automatically migrate PowerShell scripts from AzureRM to the Az PowerShell


module quickstart walks you through the entire process
of automatically updating your
PowerShell scripts from AzureRM to the Az PowerShell module.

Option 2: Use compatibility mode with Enable-


AzureRmAlias
The Az module has a compatibility mode to help you use existing scripts while you
update to the new
syntax. The Enable-AzureRmAlias cmdlet enables
a compatibility
mode through aliases. This mode allows you to use existing scripts with minimal
modification while working towards a full migration to Az. By default, Enable-
AzureRmAlias only
enables compatibility aliases for the current PowerShell session. Use
its Scope parameter to
persist compatibility aliases across PowerShell sessions. For more
information, see
the Enable-AzureRmAlias reference documentation.

) Important

Even though the cmdlet names are aliased, there may still be new (or renamed)
parameters or
changed return values for the Az cmdlets. Don't expect enabling
aliases to take care of the
migration for you. See the full breaking changes list to
find where your
scripts may require updates.
Option 3: Migrate your scripts in Visual Studio
Code with the Azure PowerShell extension

Install the Azure PowerShell extension for Visual Studio


Code
Install the Azure PowerShell extension for VSCode

Convert your scripts manually


1. Load your AzureRM script in VSCode
2. Start the migration by opening the command palette Ctrl+Shift+P and select
Migrate Azure PowerShell script

3. Select source version AzureRM


4. Follow the recommended actions for each underlined command or parameter.

Next steps
Uninstall AzureRM
Install Azure PowerShell
Quickstart: Automatically migrate
PowerShell scripts from AzureRM to the
Az PowerShell module
Article • 07/04/2023

In this article, you'll learn how to use the Az.Tools.Migration PowerShell module to
automatically
upgrade your PowerShell scripts and script modules from AzureRM to the
Az PowerShell module. For
additional migration options, see
Migrate Azure PowerShell
from AzureRM to Az.

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

Requirements
Update your existing PowerShell scripts to the latest version of the
AzureRM
PowerShell module (6.13.1) .

Install the Az.Tools.Migration PowerShell module.

PowerShell

Install-Module -Name Az.Tools.Migration

Step 1: Generate an upgrade plan


You use the New-AzUpgradeModulePlan cmdlet to generate an upgrade plan for migrating
your
scripts and modules to the Az PowerShell module. This cmdlet doesn’t make any
changes to your
existing scripts. Use the FilePath parameter for targeting a specific
script or the
DirectoryPath parameter for targeting all scripts in a specific folder.
7 Note

The New-AzUpgradeModulePlan cmdlet doesn't execute the plan, it only generates


the upgrade steps.

The following example generates a plan for all the scripts in the C:\Scripts folder. The
OutVariable parameter is specified so the results are returned and simultaneously

stored in a
variable named Plan .

PowerShell

# Generate an upgrade plan for all the scripts and module files in the
specified folder and save it to a variable.

New-AzUpgradeModulePlan -FromAzureRmVersion 6.13.1 -ToAzVersion 8.0.0 -


DirectoryPath 'C:\Scripts' -OutVariable Plan

As shown in the following output, the upgrade plan details the specific file and offset
points that
require changes when moving from AzureRM to the Az PowerShell cmdlets.

Output

Order Location UpgradeType


PlanResult Original

----- -------- -----------


---------- --------

1 compute-create-dockerhost.ps1:59:24
CmdletParameter ReadyToUpgrade ExtensionName

2 compute-create-dockerhost.ps1:59:1 Cmdlet
ReadyToUpgrade Set-AzureRmVM...

3 compute-create-dockerhost.ps1:54:1 Cmdlet
ReadyToUpgrade New-AzureRmVM

4 compute-create-dockerhost.ps1:51:1 Cmdlet
ReadyToUpgrade Add-AzureRmVM...

5 compute-create-dockerhost.ps1:47:1 Cmdlet
ReadyToUpgrade Add-AzureRmVM...

6 compute-create-dockerhost.ps1:46:1 Cmdlet
ReadyToUpgrade Set-AzureRmVM...

7 compute-create-dockerhost.ps1:45:1 Cmdlet
ReadyToUpgrade Set-AzureRmVM...

8 compute-create-dockerhost.ps1:44:13 Cmdlet
ReadyToUpgrade New-AzureRmVM...

9 compute-create-dockerhost.ps1:40:8 Cmdlet
ReadyToUpgrade New-AzureRmNe...

10 compute-create-dockerhost.ps1:36:8 Cmdlet
ReadyToUpgrade New-AzureRmNe...

11 compute-create-dockerhost.ps1:31:16 Cmdlet
ReadyToUpgrade New-AzureRmNe...

12 compute-create-dockerhost.ps1:26:15 Cmdlet
ReadyToUpgrade New-AzureRmNe...

13 compute-create-dockerhost.ps1:22:8 Cmdlet
ReadyToUpgrade New-AzureRmPu...

14 compute-create-dockerhost.ps1:18:9 Cmdlet
ReadyToUpgrade New-AzureRmVi...

15 compute-create-dockerhost.ps1:15:17 Cmdlet
ReadyToUpgrade New-AzureRmVi...

16 compute-create-dockerhost.ps1:12:1 Cmdlet
ReadyToUpgrade New-AzureRmRe...

17 compute-create-windowsvm-quick.ps1:18:3
CmdletParameter ReadyToUpgrade ImageName

18 compute-create-windowsvm-quick.ps1:14:1 Cmdlet
ReadyToUpgrade New-AzureRmVM

19 compute-create-windowsvm-quick.ps1:11:1 Cmdlet
ReadyToUpgrade New-AzureRmRe...

20 compute-create-wordpress-mysql.ps1:59:24
CmdletParameter ReadyToUpgrade ExtensionName

...

Before performing the upgrade, you need to view the results of the plan for problems.
The following
example returns a list of scripts and the items in those scripts that will
prevent them from being
upgraded automatically.

PowerShell

# Filter plan results to only warnings and errors

$Plan | Where-Object PlanResult -ne ReadyToUpgrade | Format-List

The items shown in the following output won't be upgraded automatically without
manually correcting
the issues first.

Output

Order : 42

UpgradeType : CmdletParameter

PlanResult : ErrorParameterNotFound

PlanSeverity : Error

PlanResultReason : Parameter was not found in Get-AzResource or it's


aliases.

SourceCommand : CommandReference

SourceCommandParameter : CommandReferenceParameter

Location : devtestlab-add-marketplace-image-to-lab.ps1:14:74

FullPath : C:\Scripts\devtestlab-add-marketplace-image-to-
lab.ps1

StartOffset : 556

Original : ResourceNameEquals

Replacement :

Step 2: Perform the upgrade


U Caution

There is no undo operation. Always ensure that you have a backup copy of your
PowerShell scripts
and modules that you're attempting to upgrade.

After you’re satisfied with the plan, the upgrade is performed with the
Invoke-
AzUpgradeModulePlan cmdlet. Specify SaveChangesToNewFiles for the
FileEditMode

parameter value to prevent changes from being made to your original scripts. When
using this mode, the upgrade is performed by creating a copy of each script targeted
with
_az_upgraded appended to the filenames.

2 Warning

The Invoke-AzUpgradeModulePlan cmdlet is destructive when the


-FileEditMode
ModifyExistingFiles option is specified! It modifies your scripts and
functions in

place according to the module upgrade plan generated by the


New-
AzUpgradeModulePlan cmdlet. For the non-destructive option specify
-FileEditMode

SaveChangesToNewFiles instead.

PowerShell

# Execute the automatic upgrade plan and save the results to a variable.

Invoke-AzUpgradeModulePlan -Plan $Plan -FileEditMode SaveChangesToNewFiles -


OutVariable Results

Output

Order Location UpgradeType


UpgradeResult Original

----- -------- -----------


------------- --------

1 compute-create-dockerhost.ps1:59:24
CmdletParameter UpgradeCompleted ExtensionName

2 compute-create-dockerhost.ps1:59:1 Cmdlet
UpgradeCompleted Set-AzureRmVMExtens...

3 compute-create-dockerhost.ps1:54:1 Cmdlet
UpgradeCompleted New-AzureRmVM

4 compute-create-dockerhost.ps1:51:1 Cmdlet
UpgradeCompleted Add-AzureRmVMSshPub...

5 compute-create-dockerhost.ps1:47:1 Cmdlet
UpgradeCompleted Add-AzureRmVMNetwor...

6 compute-create-dockerhost.ps1:46:1 Cmdlet
UpgradeCompleted Set-AzureRmVMSource...

7 compute-create-dockerhost.ps1:45:1 Cmdlet
UpgradeCompleted Set-AzureRmVMOperat...

8 compute-create-dockerhost.ps1:44:13 Cmdlet
UpgradeCompleted New-AzureRmVMConfig

9 compute-create-dockerhost.ps1:40:8 Cmdlet
UpgradeCompleted New-AzureRmNetworkI...

10 compute-create-dockerhost.ps1:36:8 Cmdlet
UpgradeCompleted New-AzureRmNetworkS...

11 compute-create-dockerhost.ps1:31:16 Cmdlet
UpgradeCompleted New-AzureRmNetworkS...

12 compute-create-dockerhost.ps1:26:15 Cmdlet
UpgradeCompleted New-AzureRmNetworkS...

13 compute-create-dockerhost.ps1:22:8 Cmdlet
UpgradeCompleted New-AzureRmPublicIp...

14 compute-create-dockerhost.ps1:18:9 Cmdlet
UpgradeCompleted New-AzureRmVirtualN...

15 compute-create-dockerhost.ps1:15:17 Cmdlet
UpgradeCompleted New-AzureRmVirtualN...

16 compute-create-dockerhost.ps1:12:1 Cmdlet
UpgradeCompleted New-AzureRmResource...

17 compute-create-windowsvm-quick.ps1:18:3
CmdletParameter UpgradeCompleted ImageName

18 compute-create-windowsvm-quick.ps1:14:1 Cmdlet
UpgradeCompleted New-AzureRmVM

19 compute-create-windowsvm-quick.ps1:11:1 Cmdlet
UpgradeCompleted New-AzureRmResource...

20 compute-create-wordpress-mysql.ps1:59:24
CmdletParameter UpgradeCompleted ExtensionName

...

If any errors are returned, you can take a closer look at the error results with the
following command:

PowerShell

# Filter results to show only errors

$Results | Where-Object UpgradeResult -ne UpgradeCompleted | Format-List

Output

Order : 42

UpgradeType : CmdletParameter

UpgradeResult : UnableToUpgrade

UpgradeSeverity : Error

UpgradeResultReason : Parameter was not found in Get-AzResource or it's


aliases.

SourceCommand : CommandReference

SourceCommandParameter : CommandReferenceParameter

Location : devtestlab-add-marketplace-image-to-lab.ps1:14:74

FullPath : C:\Scripts\devtestlab-add-marketplace-image-to-
lab.ps1

StartOffset : 556

Original : ResourceNameEquals

Replacement :

Limitations
File I/O operations use default encoding. Unusual file encoding situations may
cause problems.
AzureRM cmdlets passed as arguments to Pester unit test mock statements aren't
detected.

How to report issues


Report feedback and issues about the Az.Tools.Migration PowerShell module via
a
GitHub issue in the
azure-powershell-migration repository.

Next steps
To learn more about the Az PowerShell module, see the Azure PowerShell
documentation
PowerShell samples for Azure App
Service
Article • 04/09/2023

The following table includes links to PowerShell scripts built using the Azure PowerShell.

Script Description

Create app

Create an app with Creates an App Service app that pulls code from GitHub.
deployment from GitHub

Create an app with Creates an App Service app that continuously deploys code from
continuous deployment GitHub.
from GitHub

Create an app and deploy Creates an App Service app and upload files from a local directory
code with FTP using FTP.

Create an app and deploy Creates an App Service app and configures code push from a local
code from a local Git Git repository.
repository

Create an app and deploy Creates an App Service app with a deployment slot for staging code
code to a staging changes.
environment

Create an app and expose Creates an App Service app with a Private Endpoint.
your app with a Private
Endpoint

Configure app

Map a custom domain to Creates an App Service app and maps a custom domain name to it.
an app

Bind a custom TLS/SSL Creates an App Service app and binds the TLS/SSL certificate of a
certificate to an app custom domain name to it.

Scale app

Scale an app manually Creates an App Service app and scales it across 2 instances.

Scale an app worldwide Creates two App Service apps in two different geographical regions
with a high-availability and makes them available through a single endpoint using Azure
architecture Traffic Manager.
Script Description

Connect app to resources

Connect an app to a SQL Creates an App Service app and a database in Azure SQL Database,
Database then adds the database connection string to the app settings.

Connect an app to a Creates an App Service app and a storage account, then adds the
storage account storage connection string to the app settings.

Back up and restore app

Back up an app Creates an App Service app and creates a one-time backup for it.

Create a scheduled Creates an App Service app and creates a scheduled backup for it.
backup for an app

Delete a backup for an Deletes an existing backup for an app.


app

Restore an app from Restores an app from a previously completed backup.


backup

Restore a backup across Restores a web app from a backup in another subscription.
subscriptions

Monitor app

Monitor an app with web Creates an App Service app, enables logging for it, and downloads
server logs the logs to your local machine.
Azure PowerShell samples for Azure SQL
Database and Azure SQL Managed
Instance
Article • 03/30/2023

Applies to:
Azure SQL Database
Azure SQL Managed Instance

Azure SQL Database and Azure SQL Managed Instance enable you to configure your
databases, instances, and pools using Azure PowerShell.

If you don't have an Azure subscription, create an Azure free account before you
begin.

Use Azure Cloud Shell


Azure hosts Azure Cloud Shell, an interactive shell environment that you can use
through your browser. You can use either Bash or PowerShell with Cloud Shell to work
with Azure services. You can use the Cloud Shell preinstalled commands to run the code
in this article, without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link

Select Try It in the upper-right corner of a code block. Selecting


Try It doesn't automatically copy the code to Cloud Shell.

Go to https://shell.azure.com , or select the Launch Cloud Shell


button to open Cloud Shell in your browser.

Select the Cloud Shell button on the menu bar at the upper right
in the Azure portal .

To run the code in this article in Azure Cloud Shell:

1. Start Cloud Shell.

2. Select the Copy button on a code block to copy the code.

3. Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows
and Linux, or by selecting Cmd+Shift+V on macOS.
4. Select Enter to run the code.

If you choose to install and use the PowerShell locally, this tutorial requires AZ
PowerShell 1.4.0 or later. If you need to upgrade, see Install Azure PowerShell module. If
you are running PowerShell locally, you also need to run Connect-AzAccount to create a
connection with Azure.

Azure SQL Database

The following table includes links to sample Azure PowerShell scripts for Azure SQL
Database.

Link Description

Create and configure


single databases and
elastic pools

Create a single database This PowerShell script creates a single database and configures a
and configure a server- server-level IP firewall rule.
level firewall rule

Create elastic pools and This PowerShell script creates elastic pools, moves pooled
move pooled databases databases, and changes compute sizes.

Configure geo-
replication and failover

Configure and fail over a This PowerShell script configures active geo-replication for a
single database using single database and fails it over to the secondary replica.
active geo-replication

Configure and fail over a This PowerShell script configures active geo-replication for a
pooled database using database in an elastic pool and fails it over to the secondary
active geo-replication replica.

Configure a failover
group

Configure a failover This PowerShell script creates a database and a failover group,
group for a single adds the database to the failover group, and tests failover to the
database secondary server.

Configure a failover This PowerShell script creates a database, adds it to an elastic


group for an elastic pool pool, adds the elastic pool to the failover group, and tests
failover to the secondary server.

Scale a single database


and an elastic pool
Link Description

Scale a single database This PowerShell script monitors the performance metrics of a
single database, scales it to a higher compute size, and creates
an alert rule on one of the performance metrics.

Scale an elastic pool This PowerShell script monitors the performance metrics of an
elastic pool, scales it to a higher compute size, and creates an
alert rule on one of the performance metrics.

Restore, copy, and


import a database

Restore a database This PowerShell script restores a database from a geo-redundant


backup and restores a deleted database to the latest backup.

Copy a database to a This PowerShell script creates a copy of an existing database in a


new server new server.

Import a database from a This PowerShell script imports a database into Azure SQL
bacpac file Database from a bacpac file.

Sync data between


databases

Sync data between This PowerShell script configures Data Sync to sync between
databases multiple databases in Azure SQL Database.

Sync data between SQL This PowerShell script configures Data Sync to sync between a
Database and SQL Server database in Azure SQL Database and a SQL Server on-premises
on-premises database.

Update the SQL Data This PowerShell script adds or removes items from the Data Sync
Sync sync schema sync schema.

Learn more about the Single-database Azure PowerShell API.

Next steps
The examples listed on this page use az.sql PowerShell cmdlets for creating and
managing Azure SQL resources. Additional cmdlets for running queries and performing
many database tasks are located in the SqlServer PowerShell cmdlets. For more
information, see SQL Server PowerShell.
Azure PowerShell samples for Azure
Cosmos DB for NoSQL
Article • 04/13/2023

APPLIES TO:
NoSQL

The following table includes links to commonly used Azure PowerShell scripts for Azure
Cosmos DB. Use the links on the right to navigate to API specific samples. Common
samples are the same across all APIs. Reference pages for all Azure Cosmos DB
PowerShell cmdlets are available in the Azure PowerShell Reference. The Az.CosmosDB
module is now part of the Az module. Download and install the latest version of Az
module to get the Azure Cosmos DB cmdlets. You can also get the latest version from
the PowerShell Gallery . You can also fork these PowerShell samples for Azure Cosmos
DB from our GitHub repository, Azure Cosmos DB PowerShell Samples on GitHub .

For PowerShell cmdlets for other APIs see PowerShell Samples for Cassandra, PowerShell
Samples for API for MongoDB, PowerShell Samples for Gremlin, PowerShell Samples for
Table

Common Samples
Task Description

Update an account Update an Azure Cosmos DB account's default consistency level.

Update an account's regions Update an Azure Cosmos DB account's regions.

Change failover priority or Change the regional failover priority of an Azure Cosmos DB
trigger failover account or trigger a manual failover.

Account keys or connection Get primary and secondary keys, connection strings or regenerate
strings an account key of an Azure Cosmos DB account.

Create an Azure Cosmos DB Create an Azure Cosmos DB account with IP Firewall enabled.
Account with IP Firewall

API for NoSQL Samples


Task Description
Task Description

Create an account, Create an Azure Cosmos DB account, database and container.


database and container

Create an account, Create an Azure Cosmos DB account, database and container with
database and container autoscale.
with autoscale

Create a container with a Create a container with a large partition key.


large partition key

Create a container with no Create an Azure Cosmos DB container with index policy turned off.
index policy

List or get databases or List or get database or containers.


containers

Perform throughput Perform throughput operations for a database or container


operations including get, update and migrate between autoscale and standard
throughput.

Lock resources from Prevent resources from being deleted with resource locks.
deletion
Azure command line tools survey
guidance
Article • 07/04/2023

When using Azure PowerShell, you may be invited to participate in a survey to tell us
about your
experience. By responding to the survey, you help to identify common issues
and areas for
improvement. Understanding your experiences and opinions helps to
make future releases of Azure
command line tools better for you and others.

What data is collected


The survey collects anonymized feedback about your satisfaction with Azure command
line tools and
doesn't collect any private or personal data.

While we appreciate the insights this data provides, we understand not everyone wants
to be prompted
to complete a survey. You can disable being prompted to participate in
surveys with the
Update-AzConfig cmdlet or via an environment variable.

Disable the survey


In the following example, the Update-AzConfig cmdlet is used to disable the survey
message.

Azure PowerShell

Update-AzConfig -DisplaySurveyMessage $false

You can also use the $Env:AzSurveyMessage environment variable to disable the survey
message.

Azure PowerShell

Set-Item -Path Env:\AzSurveyMessage -Value $false

Privacy statement
Your privacy is important to us.
Microsoft's Privacy Statement explains the
personal
data Microsoft processes, how Microsoft processes it, and for what purposes.
Troubleshooting the Azure Az
PowerShell module
Article • 07/04/2023

Enable debug logging


One of the first steps you should take in troubleshooting a problem with the Azure Az
PowerShell
module is to enable debug logging.

To enable debug logging on a per command basis, specify the Debug parameter.

Azure PowerShell

Get-AzResource -Name 'DoesNotExist' -Debug

To enable debug logging for an entire PowerShell session, you set the value of the
DebugPreference variable to Continue .

PowerShell

$DebugPreference = 'Continue'

Installation
This section contains a list of solutions to common problems when installing the Azure
Az PowerShell
module.

Az and AzureRM coexistence

2 Warning

We do not support having both the AzureRM and Az PowerShell modules installed
in Windows
PowerShell 5.1 at the same time.

In a scenario where you need to install both the AzureRM and Az PowerShell module on
the same
Windows system:
AzureRM must be installed only in the current user scope of Windows PowerShell
5.1.
Install the Az PowerShell module in PowerShell 7.0.6 LTS, PowerShell 7.1.3, or
higher.

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

Visual Studio
Older versions of Visual Studio may install Azure PowerShell as part of the Azure
development
workload, which installs the AzureRM module. Azure PowerShell can be
removed using the Visual Studio
installer or by using "Uninstall" in Apps & features. If
you have already installed PowerShell 7.x,
you may need to manually install the Azure Az
PowerShell module.

Proxy blocks connection


If you get errors from Install-Module that the PowerShell Gallery is unreachable, you
may be
behind a proxy. Different operating systems and network environment have
different requirements for
configuring a system-wide proxy. Contact your system
administrator for your proxy settings and how
to configure them for your environment.

PowerShell itself may not be configured to use this proxy automatically. With PowerShell
5.1 and
later, configure the PowerShell session to use a proxy using the following
commands:

PowerShell

$webClient = New-Object -TypeName System.Net.WebClient

$webClient.Proxy.Credentials =
[System.Net.CredentialCache]::DefaultNetworkCredentials

If your operating system credentials are configured correctly, this configuration routes
PowerShell
requests through the proxy. To have this setting persist between sessions,
add the commands to your
PowerShell profile.

To install the package, your proxy needs to allow HTTPS connections to


www.powershellgallery.com .

Object reference not set to an instance of an


object
The message "object reference not set to an instance of an object" means that you are
referring to
an object that's null or an Azure resource that doesn't exist or that you don't
have permissions to
access.

Azure PowerShell

$resourceId = '/subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/<resource-group-
name>/providers/Microsoft.Web/sites/<webapp-
name>/privateEndpointConnections/<endpoint-name>'

Get-AzPrivateEndpointConnection -ResourceId $resourceId

Output

Get-AzPrivateEndpointConnection: Object reference not set to an instance of


an object.

You can use the Get-AzResource cmdlet to verify that the specified Azure resource exists.

Azure PowerShell

Get-AzResource -ResourceId $resourceId

Permission issues with AzAD cmdlets


The Az PowerShell module uses the Microsoft Graph API. Administering or managing
resources in Azure
with the Az PowerShell module requires the same permissions as
performing the identical task from
Azure portal or any other Azure command-line tool.
For specific questions about permissions see the
Microsoft Graph permissions reference.

Microsoft Graph query parameters


AzAd cmdlets under Az.Resources now support query parameters and
search query
parameters. For details about the syntax, see the
previously referenced links.

Get-AzAdGroupMember doesn't return service


principals
Due to limitations with the current Graph API, service principals aren't returned by
Get-
AzAdGroupMember in Az 7.x. As a
workaround, Invoke-AzRestMethod can be used
with
the beta version of the Microsoft Graph API.

The following example requires the Az PowerShell module. Replace myGroupName in the
first line
with the name of your group.

Azure PowerShell

$Group = Get-AzADGroup -DisplayName myGroupName

((Invoke-AzRestMethod -Uri
"https://graph.microsoft.com/beta/groups/$($Group.id)/members").Content |

ConvertFrom-Json).value |

Select-Object -Property DisplayName, Id, @{label='OdataType';expression=


{$_.'@odata.type'}}

Command found but could not be loaded


The following message is returned by PowerShell when you attempt to run any of the Az
PowerShell commands.

Output

Connect-AzAccount: The 'Connect-AzAccount' command was found in the module


'Az.Accounts', but the module could not be loaded. For more information, run
'Import-Module Az.Accounts'.

This message occurs when you have both the Az and AzureRM PowerShell modules
installed on the same
Windows-based system and they exist in the
$env:PSModulePath
for the
same version of PowerShell.

) Important

When AzureRM is installed in the AllUsers scope of Windows PowerShell, it's


installed in a
location that's part of the $env:PSModulePath for PowerShell 7. This
isn't supported due to
conflicts between the AzureRM and Az PowerShell modules.
Both Az and AzureRM may coexist on the same Windows system, but only if AzureRM is
installed in the
CurrentUser scope of Windows PowerShell and Az installed in
PowerShell 7. For more information, see
Install the Azure Az PowerShell module.

U Caution

Because Az PowerShell modules now have all the capabilities of AzureRM


PowerShell modules and more,
we'll retire AzureRM PowerShell modules on 29
February 2024.

To avoid service interruptions, update your scripts that use AzureRM


PowerShell
modules to use Az PowerShell modules by 29 February 2024. To automatically
update your
scripts, follow the quickstart guide.

On MacOS, an error returns when KeyChain


authorization fails
When running Azure PowerShell on MacOS, you might encounter an error message
while attempting to
sign in to your Azure account from a PowerShell session.

txt

DeviceCodeCredential authentication failed: Persistence check failed.


Reason: KeyChain authorization/authentication failed. .Error code: -25293.
OS error code -25293.

As a workaround for this issue, you can disable storing credentials between sessions by
running the
following command. After making this change however, you need to run
Connect-AzAccount each time
you start a new PowerShell session.

Azure PowerShell

Disable-AzContextAutosave

Service Principal IdentifierUri verified domain


error
Error: Values of identifierUris property must use a verified domain of the organization or
its
subdomain is displayed when running New-AzADServicePrincipal or New-
AzADApplication .

Due to the Azure Active Directory breaking change requiring AppId Uri in single tenant
applications
to require use of default scheme or verified
domains
you must upgrade the
Az.Resources module
to version 4.1.0 or later to continue using New-
AzADServicePrincipal or New-AzADApplication cmdlets.

You can also upgrade to Az PowerShell module version 6.0 or greater.

Timeline
The requirement went into effect October 15, 2021.

Impacted versions
The following versions of Azure PowerShell are affected by the AzureAD breaking
change:

Az.Resources PowerShell module version 3.5.1-preview or lesser.


Az PowerShell module version 5.9.0 or lesser.

If you are still encountering issues after upgrading, feel free to open an
issue .

Workaround
If you can't upgrade to the PowerShell modules described previously, you may follow
those steps when
creating a service principal:

If needed, add your custom domain name using Azure Active Directory portal
Create an application with an accepted IdentifierUri
Create a service principal referring this application

Other issues
If you experience a product issue with Azure PowerShell not listed in this article or
require
further assistance, file an issue on GitHub .
Frequently asked questions about
Azure PowerShell
FAQ

What is Azure PowerShell?


Azure PowerShell is a set of cmdlets that allows you to manage Azure resources directly
with
PowerShell. In December 2018, the Az PowerShell module became generally
available. It's now the
recommended PowerShell module for interacting with Azure. To
learn more about the Az PowerShell
module, see
Introducing the new Azure PowerShell
Az module.

How do I disable breaking change


warning messages in Azure PowerShell?
To suppress the breaking change warning messages in Azure PowerShell, you'll need to
set the
environment variable SuppressAzurePowerShellBreakingChangeWarnings to true .

Azure PowerShell

Set-Item -Path Env:\SuppressAzurePowerShellBreakingChangeWarnings -Value


$true

How do I disable the AzureRM


retirement warning message in Azure
PowerShell?
To suppress the AzureRM retirement warning message in Azure PowerShell, you'll need
to set the
environment variable SuppressAzureRmModulesRetiringWarning to true .

Azure PowerShell

Set-Item -Path Env:\SuppressAzureRmModulesRetiringWarning -Value $true

One disadvantage of the previous example is you'll need to run the command for each
new PowerShell
session unless you add it to your PowerShell profile.

To set the environment variable permanently, you can also use the following example.

Azure PowerShell

[System.Environment]::SetEnvironmentVariable('SuppressAzureRmModulesRetiring
Warning', 'true', [System.EnvironmentVariableTarget]::User)

How do I determine the max HTTP retry


times in Azure PowerShell?
For general HTTP response (except response status code is 429), Azure PowerShell uses
the value defined in the AZURE_PS_HTTP_MAX_RETRIES environment variable. Its minimum
value is 0. If not specified, Azure PowerShell uses the SDK default value.

Azure PowerShell

[System.Environment]::SetEnvironmentVariable('AZURE_PS_HTTP_MAX_RETRIES ',
3, [System.EnvironmentVariableTarget]::User)

If the HTTP response status code is 429, Azure PowerShell uses the value defined in the
AZURE_PS_HTTP_MAX_RETRIES_FOR_429 environment variable. Its minimum value is 1. The

total retry times of status code 429 is ( AZURE_PS_HTTP_MAX_RETRIES + 1) *


AZURE_PS_HTTP_MAX_RETRIES_FOR_429 - 1. If not specified, Azure PowerShell uses the SDK
default value.

Azure PowerShell

[System.Environment]::SetEnvironmentVariable('AZURE_PS_HTTP_MAX_RETRIES_FOR_
429 ', 3, [System.EnvironmentVariableTarget]::User)

You might also like