Руководство по миграции для Az 7.0.0
Az.Accounts
Командлеты контекста и учетной записи
Выходные данные следующих командлетов были изменены:
- Get-AzContext
- Remove-AzContext
- Rename-AzContext
- Select-AzContext
- Connect-AzAccount
- Disconnect-AzAccount
- Import-AzContext
- Save-AzContext
Удалены ServicePrincipalSecret
и CertificatePassword
в 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
Az.Aks
Get-AzAksVersion
Свойство Upgrades
в выходных данных изменилось на 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
Az.ContainerInstance
New-AzContainerGroup
Удален параметр NetworkProfileId, добавлен параметр SubnetId в качестве альтернативы.
Перед
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
Invoke-AzContainerInstanceCommand
Отобразил результат выполнения команды в виде выходных данных командлета, подключив веб-сокет на серверной стороне.
Перед
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
Az.Functions
Update-AzFunctionApp, Update-AzFunctionAppPlan
Update-AzFunctionApp
запросит подтверждение. Это поведение можно обойти, указав -Force
.
Перед
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName
После
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName -Force
New-AzFunctionApp
Если параметр FunctionsVersion
не указан при выполнении командлета New-AzFunctionApp
, то для версии функций по умолчанию будет задано значение 4
.
There is no change to the usage.
Remove-AzFunctionApp
Если это последнее приложение в плане службы приложений, то план не будет удален. До выпуска этой версии план приложения также будет удален.
There is no change to the usage.
Az.HDInsight
New-AzHDInsightCluster
Изменен тип параметра OSType с Microsoft.Azure.Management.HDInsight.Models.OSType
на System.string
There is no change to the usage.
New-AzHDInsightCluster, New-AzHDInsightClusterConfig
Изменен тип параметра ClusterTier с Microsoft.Azure.Management.HDInsight.Models.ClusterTier
на System.string
There is no change to the usage.
Set-AzHDInsightClusterDiskEncryptionKey, Set- AzHDInsightClusterSize
Тип выходных данных изменился с "Microsoft.Azure.Management.HDInsight.Models.Cluster" на "Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightCluster".
All properties remain the same, so there is no change to the usage.
Cluster cmdlets
Тип свойства "AssignedIdentity" изменился с "Microsoft.Azure.Management.HDInsight.Models.ClusterIdentity" на "Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightClusterIdentity".
All properties remain the same, so there is no change to the usage.
Get-AzHDInsightProperties
Обобщенный тип для вывода 'свойство VmSizes' был изменен с System.Collections.Generic.IDictionary2[System.String,Microsoft.Azure.Commands.HDInsight.Models.Management.AzureHDInsightVmSizesCapability]
на 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
Az.KeyVault
New-AzKeyVaultRoleDefinition, Get-AzKeyVaultRoleDefinition
Переименованы следующие свойства в модели PSKeyVaultPermission
:
-
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
Az.ManagedServices
New-AzManagedServicesDefinition
Был удален параметр -DisplayName
.
Перед
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"
Az.Monitor
Get-AzLog
Тип свойств "EventName", "Category", "ResourceProviderName", "OperationName", "Status", "SubStatus" изменился с Microsoft.Azure.Management.Monitor.Models.LocalizableString
на 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
Get-AzMetric,Get-AzMetricDefinition
Тип свойства Unit изменился на System.String
There is no change to the usage.
New-AzMetricAlertRuleV2Criteria
Тип свойства TimeAggregation изменился на System.String
There is no change to the usage.
Az.OperationalInsights
Get-AzOperationalInsightsCluster
Сделал "list" набор параметров по умолчанию.
Перед
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.
Update-AzOperationalInsightsCluster
Сделал "UpdateByNameParameterSet" набор параметров по умолчанию.
Перед
There is no default parameter set.
После
Default parameter set is now "UpdateByNameParameterSet".
Az.RecoveryServices
Get-AzRecoveryServicesBackupContainer
Изменен тип BackupManagementType с MARS на MAB. Функциональность остается прежней, это направлено на достижение согласованности между командлетами.
Перед
$containers = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MARS -VaultId $vault.ID
После
$cont = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MAB -VaultId $vault.ID
Get-AzRecoveryServicesBackupItem
Изменен тип управления резервным копированием (BackupManagementType) с MARS на MAB. Функциональность остается той же, это делается для поддержания согласованности между командлетами.
Перед
Get-AzRecoveryServicesBackupItem -BackupManagementType MARS -VaultId $vault.ID -WorkloadType FileFolder
После
Get-AzRecoveryServicesBackupItem -BackupManagementType MAB -VaultId $vault.ID -WorkloadType FileFolder
Get-AzRecoveryServicesBackupJob
Изменен тип BackupManagementType с MARS на MAB. Функции остаются неизменными, это обеспечивает согласованность между командлетами.
Перед
Get-AzRecoveryServicesBackupJob -BackupManagementType MARS -VaultId $vault.ID
После
Get-AzRecoveryServicesBackupJob -BackupManagementType MAB -VaultId $vault.ID
Az.Resources
AzAD cmdlets
См. руководство по миграции командлетов Active Directory .
PolicyAssignment cmdlets
Тип свойства "Identity" типа "Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment" изменился с "System.Management.Automation.PSObject" на "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
Az.Storage
Get-AzRmStorageShare
Параметр Name был удален из набора параметров ShareResourceId, так как имя можно вывести из идентификатора ресурса.
Перед
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..." -Name "MyStorageShare"
После
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..."
Azure PowerShell