Training
Certification
Microsoft Certified: Azure Administrator Associate - Certifications
Demonstrate key skills to configure, manage, secure, and administer key professional functions in Microsoft Azure.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Output of the following cmdlets have been changed:
Removed ServicePrincipalSecret
and CertificatePassword
in PSAzureRmAccount
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
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
Property Upgrades
in output changed to Upgrade
.
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
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
Removed parameter NetworkProfileId, added SubnetId as its alternative
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/virtualNetworks/{vnetName}/subnets/{subnetName}"
PS C:\> $containerGroup.NetworkProfileId
/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
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.Network/virtualNetworks/{vnetName}/subnets/{subnetName}"; "Name"="subnet"}
PS C:\> $containerGroup.SubnetId | fl
Id : /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
Name : subnet
Displayed command execution result as the cmdlet output by connecting websocket in backend
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
PS C:\> Invoke-AzContainerInstanceCommand -ContainerGroupName test-cg -ContainerName test-container -ResourceGroupName test-rg -Command "echo hello"
hello
Update-AzFunctionApp
will prompt for confirmation. This behavior can be bypassed by specifying -Force
.
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName -Force
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.
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.
Changed the type of parameter "OSType" from Microsoft.Azure.Management.HDInsight.Models.OSType
to System.string
There is no change to the usage.
Changed the type of parameter "ClusterTier" from Microsoft.Azure.Management.HDInsight.Models.ClusterTier
to System.string
There is no change to the usage.
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.
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.
The generic type for output 'property VmSizes' has been changed from System.Collections.Generic.IDictionary2[System.String,Microsoft.Azure.Commands.HDInsight.Models.Management.AzureHDInsightVmSizesCapability]
to System.Collections.Generic.IList1[System.String]
.
PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"
PS C:\> $availableVmSizes = $result.VmSizes['iaas'].AvailableVmSizes
PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"
PS C:\> $availableVmSizes = $result.VmSizes
The following properties in PSKeyVaultPermission
model are renamed:
AllowedActions
-> Actions
DeniedActions
-> NotActions
AllowedDataActions
-> DataActions
DeniedDataActions
-> NotDataActions
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
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
The -DisplayName
parameter was removed.
PS C:\> New-AzManagedServicesDefinition -DisplayName "MyTestDefinition" -ManagedByTenantId 00001111-aaaa-2222-bbbb-3333cccc4444 -RoleDefinitionId acdd72a7-3385-48ef-bd42-f606fba81ae7 -PrincipalId 714160ec-87d5-42bb-8b17-287c0dd7417d
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"
The type of the properties 'EventName', 'Category', 'ResourceProviderName', 'OperationName', 'Status', 'SubStatus has changed from Microsoft.Azure.Management.Monitor.Models.LocalizableString
to System.String
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
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
The type of property 'Unit' has changed to System.String
There is no change to the usage.
The type of property 'TimeAggregation' has changed to System.String
There is no change to the usage.
Made "list" the default parameter set.
There is no default parameter set.
Default parameter set is now "list", when providing resource group name - return all clusters for the given resource group.
Made "UpdateByNameParameterSet" the default parameter set.
There is no default parameter set.
Default parameter set is now "UpdateByNameParameterSet".
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets.
$containers = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MARS -VaultId $vault.ID
$cont = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MAB -VaultId $vault.ID
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets
Get-AzRecoveryServicesBackupItem -BackupManagementType MARS -VaultId $vault.ID -WorkloadType FileFolder
Get-AzRecoveryServicesBackupItem -BackupManagementType MAB -VaultId $vault.ID -WorkloadType FileFolder
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets
Get-AzRecoveryServicesBackupJob -BackupManagementType MARS -VaultId $vault.ID
Get-AzRecoveryServicesBackupJob -BackupManagementType MAB -VaultId $vault.ID
Please refer to the migration guide of the Active Directory cmdlets.
The type of property 'Identity' of type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' has changed from 'System.Management.Automation.PSObject' to 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyIdentity'.
PS C:\> $v = Get-AzPolicyAssignment -Id $someId
PS C:\> Write-Host $v.type, $v.principalId, $v.tenantId
PS C:\> $v = Get-AzPolicyAssignment -Id $someId
PS C:\> Write-Host $v.IdentityType, $v.PrincipalId, $v.TenantId, $v.UserAssignedIdentities
Parameter "Name" has been removed from parameter set "ShareResourceId", since name can be inferred from the resource ID.
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..." -Name "MyStorageShare"
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..."
Azure PowerShell feedback
Azure PowerShell is an open source project. Select a link to provide feedback:
Training
Certification
Microsoft Certified: Azure Administrator Associate - Certifications
Demonstrate key skills to configure, manage, secure, and administer key professional functions in Microsoft Azure.
Documentation
This migration guide contains a list of breaking changes made to Azure PowerShell in the Az version 6.0.0 release.
This migration guide contains a list of breaking changes made to Azure PowerShell in the Az version 10.0.0 release.
This migration guide contains a list of breaking changes made to Azure PowerShell in the Az version 8.0.0 release.
This migration guide contains a list of breaking changes made to Azure PowerShell in the Az version 4.1.0 release.