Migration Guide for Az 3.0.0

This document describes the changes between the 2.0.0 and 3.0.0 versions of Az

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

$Context = Get-AzBatchAccountKeys -AccountName "ContosoBatchAccount"
Get-AzBatchNodeAgentSku -BatchContext $Context

After

$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

$diskconfig = New-AzDiskConfig -Location 'Central US' -DiskSizeGB 1023 -SkuName Standard_LRS -OsType Windows -CreateOption Upload -DiskIOPSReadWrite 500 -DiskMBpsReadWrite 8

After

$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

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

After

Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey

Add-AzHDInsightConfigValues

Cmdlet Add-AzHDInsightConfigValue removed alias to Add-AzHDInsightConfigValues.

Before

Using deprecated alias

Add-AzHDInsightConfigValues

After

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

Disable-AzHDInsightOMS -Name testcluster
Disable-AzHDInsightOperationsManagementSuite -Name testcluster

After

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

Enable-AzHDInsightOMS Enable-AzHDInsightMonitoring -Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>
Enable-AzHDInsightOperationsManagementSuite Enable-AzHDInsightMonitoring -Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>

After

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

Get-AzHDInsightOMS -Name testcluster
Get-AzHDInsightOperationsManagementSuite -Name testcluster

After

Get-AzHDInsightMonitoring -Name testcluster

Get-AzHDInsightProperty

Cmdlet Get-HDInsightProperty removed alias to Get-AzHDInsightProperties.

Before

Using deprecated alias

Get-AzHDInsightProperties -Location "East US 2"

After

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

$cluster = Remove-AzHDInsightCluster -ClusterName "your-hadoop-001"

After

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

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

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

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

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

Add-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName "myconsumergroup" -EventHubEndpointName "/EventHubEndpointName"

After

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

Get-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubEndpointName "/EventHubEndpointName"

After

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

Remove-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName myconsumergroup -EventHubEndpointName "/EventHubEndpointName"

After

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

$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

$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

Add-AzServiceFabricApplicationCertificate -ResourceGroupName "Group1" -Name "Contoso01SFCluster" -SecretIdentifier "http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion"

After

$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

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

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/storageAccounts/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

Set-AzSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01"

After

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/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

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

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/storageAccounts/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

Set-AzSqlServerAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22"

After

PS C:\> Set-AzSqlServerAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"

Get-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Get-AzSqlServerAdvancedThreatProtectionSettings is replaced by Get-AzSqlServerAdvancedThreatProtectionSetting

Before

Get-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

After

Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

Clear-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Clear-AzSqlServerAdvancedThreatProtectionSettings is replaced by Clear-AzSqlServerAdvancedThreatProtectionSetting

Before

Clear-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

After

Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

Update-AzSqlServerAdvancedThreatProtectionSettings

Cmdlet Update-AzSqlServerAdvancedThreatProtectionSettings is replaced by Update-AzSqlServerAdvancedThreatProtectionSetting

Before

Update-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"

After

Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"

Get-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Get-AzSqlDatabaseAdvancedThreatProtectionSettings is replaced by Get-AzSqlDatabaseAdvancedThreatProtectionSetting

Before

Get-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

Update-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Update-AzSqlDatabaseAdvancedThreatProtectionSettings is repleaced by Update-AzSqlDatabaseAdvancedThreatProtectionSetting

Before

Update-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"

After

Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"

Clear-AzSqlDatabaseAdvancedThreatProtectionSettings

Cmdlet Clear-AzSqlDatabaseAdvancedThreatProtectionSettings is repleaced by Clear-AzSqlDatabaseAdvancedThreatProtectionSetting

Before

Clear-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

Update-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Update-AzSqlDatabaseVulnerabilityAssessmentSetting

Before

Update-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

After

Update-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

Get-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Get-AzSqlDatabaseVulnerabilityAssessmentSetting

Before

Get-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Get-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Clear-AzSqlDatabaseVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlDatabaseVulnerabilityAssessmentSettings is repleaced by Clear-AzSqlDatabaseVulnerabilityAssessmentSetting

Before

Clear-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Clear-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

After

Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings is repleaced by Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting

Before

Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Update-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Update-AzSqlInstanceVulnerabilityAssessmentSetting

Before

Update-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

After

Update-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

Get-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Get-AzSqlInstanceVulnerabilityAssessmentSetting

Before

Get-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Get-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Clear-AzSqlInstanceVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlInstanceVulnerabilityAssessmentSettings is repleaced by Clear-AzSqlInstanceVulnerabilityAssessmentSetting

Before

Clear-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Clear-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Update-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Update-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Update-AzSqlServerVulnerabilityAssessmentSetting

Before

Update-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

After

Update-AzSqlServerVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")

Get-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Get-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Get-AzSqlServerVulnerabilityAssessmentSetting

Before

Get-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

Get-AzSqlServerVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

Clear-AzSqlServerVulnerabilityAssessmentSettings

Cmdlet Clear-AzSqlServerVulnerabilityAssessmentSettings is repleaced by Clear-AzSqlServerVulnerabilityAssessmentSetting

Before

Clear-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"

After

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

PS C:\> Get-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0

After

PS C:\> Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0

Remove-AzSqlServerThreatDetectionPolicy

Cmdlet Remove-AzSqlServerThreatDetectionPolicy is repleaced by Clear-AzSqlServerAdvancedThreatProtectionSetting

Before

Remove-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

After

Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"

Set-AzSqlServerThreatDetectionPolicy

Cmdlet Set-AzSqlServerThreatDetectionPolicy is repleaced by Update-AzSqlServerAdvancedThreatProtectionSetting

Before

Set-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"

After

Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"

Get-AzSqlDatabaseThreatDetectionPolicy

Cmdlet Get-AzSqlDatabaseThreatDetectionPolicy is repleaced by Get-AzSqlDatabaseThreatDetectionSetting

Before

PS C:\> Get-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName   "Database01"
DatabaseName                 : Database01
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0

After

PS C:\> Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"   -DatabaseName "Database01"
DatabaseName                 : Database01
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0

Set-AzSqlDatabaseThreatDetectionPolicy

Cmdlet Set-AzSqlDatabaseThreatDetectionPolicy is repleaced by Update-AzSqlDatabaseAdvancedThreatProtectionSetting

Before

Set-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"

After

Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"

Remove-AzSqlDatabaseThreatDetectionPolicy

Cmdlet Remove-AzSqlDatabaseThreatDetectionPolicy is repleaced by Clear-AzSqlDatabaseAdvancedThreatProtectionSetting

Before

Remove-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"

After

Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"