Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом документе содержатся подробные сведения об изменениях между AzureRM 6.x и новым модулем Az версии 1.x и более поздними версиями. Оглавление поможет вам пройти полный путь миграции, включая изменения, относящиеся к модулю, которые могут повлиять на сценарии.
Общие советы по началу работы с миграцией из AzureRM в Az см. в статье "Начало миграции из AzureRM в Az".
Это важно
Были критические изменения между Az 1.0.0 и Az 2.0.0, а также. После выполнения этого руководства по обновлению azureRM до Az см. критические изменения Az 2.0.0 , чтобы узнать, нужно ли внести дополнительные изменения.
Оглавление
- Общие критические изменения
-
Критические изменения модуля
- Az.ApiManagement (ранее AzureRM.ApiManagement)
- Az.Billing (ранее AzureRM.Billing, AzureRM.Consumption и AzureRM.UsageAggregates)
- Az.CognitiveServices (ранее AzureRM.CognitiveServices)
- Az.Compute (ранее AzureRM.Compute)
- Az.DataFactory (ранее AzureRM.DataFactories и AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (ранее AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (ранее AzureRM.DataLakeStore)
- Az.KeyVault (ранее AzureRM.KeyVault)
- Az.Media (ранее AzureRM.Media)
- Az.Monitor (ранее AzureRM.Insights)
- Az.Network (ранее AzureRM.Network)
- Az.OperationalInsights (ранее AzureRM.OperationalInsights)
- Az.RecoveryServices (ранее AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup и AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (ранее AzureRM.Resources)
- Az.ServiceFabric (ранее AzureRM.ServiceFabric)
- Az.Sql (ранее AzureRM.Sql)
- Az.Storage (ранее Azure.Storage и AzureRM.Storage)
- Az.Websites (ранее AzureRM.Websites)
Общие критические изменения
В этом разделе подробно описаны общие критические изменения, которые являются частью редизайна модуля Az.
Изменения префикса существительного командлета
В модуле AzureRM командлеты использовали AzureRMAzure либо в качестве префикса существительного. Az упрощает и нормализует имена командлетов, чтобы все командлеты использовали "Az" в качестве префикса существительного командлета. Рассмотрим пример.
Get-AzureRMVM
Get-AzureKeyVaultSecret
Изменено:
Get-AzVM
Get-AzKeyVaultSecret
Чтобы сделать переход на эти новые имена командлетов проще, Az представляет два новых командлета Enable-AzureRmAlias и Disable-AzureRmAlias.
Enable-AzureRmAlias создает псевдонимы для старых имен командлетов в AzureRM, которые сопоставляют с новыми именами командлетов Az. Использование аргумента -Scope позволяет Enable-AzureRmAlias выбрать, где включены псевдонимы.
Например, следующий сценарий в AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Можно запускать с минимальными изменениями с помощью Enable-AzureRmAlias:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Выполнение Enable-AzureRmAlias -Scope CurrentUser позволит включить псевдонимы для всех открытых сеансов PowerShell, чтобы после выполнения этого командлета сценарий, как это, не было бы необходимо изменить вообще:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Полные сведения об использовании командлетов псевдонимов см. в Enable-AzureRmAlias справочнике.
Когда вы будете готовы отключить псевдонимы, Disable-AzureRmAlias удаляет созданные псевдонимы. Полные сведения см. в Disable-AzureRmAlias справочнике.
Это важно
При отключении псевдонимов убедитесь, что они отключены для всех областей, в которых включены псевдонимы.
Изменения имени модуля
Имена модулей изменились с AzureRM.*Az.*, за исключением следующих модулей:
| Модуль AzureRM | Модуль Az |
|---|---|
| Azure.Storage | Az.Storage |
| Azure.AnalysisServices | Az.AnalysisServices |
| AzureRM.Profile | Az.Accounts |
| 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 |
Изменения в именах модулей означают, что любой скрипт, использующий #Requires или Import-Module загружающий определенные модули, необходимо изменить, чтобы использовать новый модуль. Для модулей, где суффикс командлета не изменился, это означает, что хотя имя модуля изменилось, суффикс, указывающий, что пространство операций не имеет.
Перенос инструкций #Requires и Import-Module
Скрипты, использующие #Requires или Import-Module объявляющие зависимость от модулей AzureRM, необходимо обновить, чтобы использовать новые имена модулей. Рассмотрим пример.
#Requires -Module AzureRM.Compute
Необходимо изменить следующее:
#Requires -Module Az.Compute
Для Import-Module:
Import-Module -Name AzureRM.Compute
Необходимо изменить следующее:
Import-Module -Name Az.Compute
Перенос вызовов командлетов Fully-Qualified
Скрипты, использующие вызовы командлета с поддержкой модуля, например:
AzureRM.Compute\Get-AzureRmVM
Необходимо изменить для использования новых имен модулей и командлетов:
Az.Compute\Get-AzVM
Перенос зависимостей манифеста модуля
Модули, которые выражают зависимости от модулей AzureRM с помощью файла манифеста модуля (PSD1), должны обновить имена модулей в их RequiredModules разделе:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Необходимо изменить следующее:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Удаленные модули
Были удалены следующие модули:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
Средства для этих служб больше не поддерживаются. Клиентам рекомендуется перейти к альтернативным службам, как только это удобно.
Windows PowerShell 5.1 и .NET 4.7.2
Для Использования Az с PowerShell 5.1 для Windows требуется установка .NET Framework 4.7.2. Использование PowerShell Core 6.x или более поздней версии не требует .NET Framework.
Временное удаление имени входа пользователя с помощью PSCredential
Из-за изменений в потоке проверки подлинности для .NET Standard мы временно удаляем имя входа пользователя через PSCredential. Эта возможность будет повторно представлена в выпуске 1.15.2019 для PowerShell 5.1 для Windows. Это подробно рассматривается в этой проблеме GitHub.
Имя входа кода устройства по умолчанию вместо запроса веб-браузера
Из-за изменений в потоке проверки подлинности для .NET Standard мы используем имя входа устройства в качестве потока входа по умолчанию во время интерактивного входа. Вход на основе веб-браузера будет повторно представлен для PowerShell 5.1 для Windows в качестве значения по умолчанию в выпуске 1.15.2019. В то время пользователи смогут выбрать имя входа устройства с помощью параметра Switch.
Критические изменения модуля
В этом разделе подробно описаны критические изменения для отдельных модулей и командлетов.
Az.ApiManagement (ранее AzureRM.ApiManagement)
- Удалены следующие командлеты:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Используйте командлет Set-AzApiManagement , чтобы задать эти свойства вместо этого
- Удалены следующие свойства:
- Удалено свойство
PortalHostnameConfiguration,ProxyHostnameConfigurationManagementHostnameConfigurationа такжеScmHostnameConfigurationтипPsApiManagementHostnameConfigurationизPsApiManagementContext. Вместо этого используйтеPortalCustomHostnameConfiguration,ProxyCustomHostnameConfigurationManagementCustomHostnameConfigurationа такжеScmCustomHostnameConfigurationтипPsApiManagementCustomHostNameConfiguration. - Удалено свойство
StaticIPsиз PsApiManagementContext. Свойство разделено наPublicIPAddressesиPrivateIPAddresses. - Удалено необходимое свойство
Locationиз командлета New-AzureApiManagementVirtualNetwork.
- Удалено свойство
Az.Billing (ранее AzureRM.Billing, AzureRM.Consumption и AzureRM.UsageAggregates)
- Параметр
InvoiceNameбыл удален из командлетаGet-AzConsumptionUsageDetail. Скрипты должны использовать другие параметры удостоверения для счета.
Az.CognitiveServices (ранее AzureRM.CognitiveServices)
- Удален
GetSkusWithAccountParamSetNameнабор параметров изGet-AzCognitiveServicesAccountSkusкомандлета. Вместо использования ResourceGroupName и имени учетной записи необходимо получить skus по типу и расположению учетной записи.
Az.Compute (ранее AzureRM.Compute)
-
IdentityIdsудаляются изIdentityсвойства вPSVirtualMachinePSVirtualMachineScaleSetи скриптах объектов больше не следует использовать значение этого поля для принятия решений по обработке. - Тип
InstanceViewсвойстваPSVirtualMachineScaleSetVMобъекта изменяется сVirtualMachineInstanceViewVirtualMachineScaleSetVMInstanceView -
AutoOSUpgradePolicyиAutomaticOSUpgradeсвойства удаляются изUpgradePolicyсвойства - Тип
Skuсвойства вPSSnapshotUpdateобъекте изменяется сDiskSkuSnapshotSku -
VmScaleSetVMParameterSetУдаляется изAdd-AzVMDataDiskкомандлета, вы больше не можете добавить диск данных отдельно в виртуальную машину ScaleSet.
Az.DataFactory (ранее AzureRM.DataFactories и AzureRM.DataFactoryV2)
- Параметр
GatewayNameстал обязательным в командлетеNew-AzDataFactoryEncryptValue - Удален
New-AzDataFactoryGatewayKeyкомандлет - Удаленный
LinkedServiceNameпараметр изGet-AzDataFactoryV2ActivityRunскриптов командлетов больше не должен использовать значение этого поля для принятия решений по обработке.
Az.DataLakeAnalytics (ранее AzureRM.DataLakeAnalytics)
- Удалены устаревшие командлеты:
New-AzDataLakeAnalyticsCatalogSecret,Remove-AzDataLakeAnalyticsCatalogSecretиSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (ранее AzureRM.DataLakeStore)
Следующие командлеты изменили
Encodingпараметр с типаFileSystemCmdletProviderEncodingSystem.Text.Encodingна . Это изменение удаляет значенияStringкодирования иOem. Все остальные предыдущие значения кодирования остаются.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Удален нерекомендуемый
Tagsпсевдоним свойства изNew-AzDataLakeStoreAccountкомандлетов иSet-AzDataLakeStoreAccountкомандлетовСкрипты с помощью
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Должно быть изменено на
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Удалены устаревшие свойства
Identity,EncryptionStateEncryptionProvisioningStateEncryptionConfigFirewallStateFirewallRulesVirtualNetworkRulesTrustedIdProviderStateTrustedIdProvidersDefaultGroupNewTierCurrentTierFirewallAllowAzureIpsизPSDataLakeStoreAccountBasicобъекта. ЛюбойPSDatalakeStoreAccountскрипт, использующий возвращаемый изGet-AzDataLakeStoreAccountне должен ссылаться на эти свойства.
Az.KeyVault (ранее AzureRM.KeyVault)
-
PurgeDisabledСвойство было удалено изPSKeyVaultKeyAttributesскриптов ,PSKeyVaultKeyIdentityItemиPSKeyVaultSecretAttributesобъекты Scripts больше не должны ссылаться на свойство, чтобы принимать решения об обработкеPurgeDisabled.
Az.Media (ранее AzureRM.Media)
TagsУдаление устаревших псевдонимов свойств изNew-AzMediaServiceскриптов командлетов с помощью командлетовNew-AzureRMMediaService -Tags @{TagName="TagValue"}Должно быть изменено на
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (ранее AzureRM.Insights)
Удалены имена
CategoriesиTimegrainsпараметры множественного числа в пользу имен сингулярных параметров изSet-AzDiagnosticSettingскриптов командлетов с помощьюSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Должно быть изменено на
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (ранее AzureRM.Network)
- Удален устаревший параметр из
ResourceIdкомандлетаGet-AzServiceEndpointPolicyDefinition - Удалено нерекомендуемое
EnableVmProtectionсвойство изPSVirtualNetworkобъекта - Удален устаревший
Set-AzVirtualNetworkGatewayVpnClientConfigкомандлет
Скрипты больше не должны принимать решения по обработке на основе значений этих полей.
Az.OperationalInsights (ранее AzureRM.OperationalInsights)
Набор
Get-AzOperationalInsightsDataSourceпараметров по умолчанию удален иByWorkspaceNameByKindстал набором параметров по умолчаниюСкрипты, перечисленные источники данных с помощью
Get-AzureRmOperationalInsightsDataSourceНеобходимо изменить, чтобы указать тип
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (ранее AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup и AzureRM.RecoveryServices.SiteRecovery)
- Удален
Encryptionпараметр изNew/Set-AzRecoveryServicesAsrPolicyкомандлета -
TargetStorageAccountNameпараметр теперь является обязательным для восстановления управляемого диска вRestore-AzRecoveryServicesBackupItemкомандлете - Удалены
StorageAccountNameиStorageAccountResourceGroupNameпараметры командлетаRestore-AzRecoveryServicesBackupItem - Удаленный
Nameпараметр вGet-AzRecoveryServicesBackupContainerкомандлете
Az.Resources (ранее AzureRM.Resources)
Удален
Skuпараметр изNew/Set-AzPolicyAssignmentкомандлетаУдаленные
Passwordпараметры изNew-AzADServicePrincipalиNew-AzADSpCredentialпароли командлетов создаются автоматически, скрипты, которые предоставили пароль:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPasswordНеобходимо изменить, чтобы получить пароль из выходных данных:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $secPassword = $credential.Secret
Az.ServiceFabric (ранее AzureRM.ServiceFabric)
- Изменены следующие типы возвращаемых командлетов:
- Свойство
ServiceTypeHealthPoliciesтипаApplicationHealthPolicyудалено. - Свойство
ApplicationHealthPoliciesтипаClusterUpgradeDeltaHealthPolicyудалено. - Свойство
OverrideUserUpgradePolicyтипаClusterUpgradePolicyудалено. - Эти изменения влияют на следующие командлеты:
- 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 (ранее AzureRM.Sql)
- Удалены
StateиResourceIdпараметры изSet-AzSqlDatabaseBackupLongTermRetentionPolicyкомандлета - Удалены устаревшие командлеты:
Get/Set-AzSqlServerBackupLongTermRetentionVault,Get/Start/Stop-AzSqlServerUpgrade,Get/Set-AzSqlDatabaseAuditingPolicy,Get/Set-AzSqlServerAuditingPolicy,Remove-AzSqlDatabaseAuditingRemove-AzSqlServerAuditing - Удален устаревший параметр
CurrentизGet-AzSqlDatabaseBackupLongTermRetentionPolicyкомандлета - Удален устаревший параметр
DatabaseNameизGet-AzSqlServerServiceObjectiveкомандлета - Удален устаревший параметр
PrivilegedLoginизSet-AzSqlDatabaseDataMaskingPolicyкомандлета
Az.Storage (ранее Azure.Storage и AzureRM.Storage)
- Чтобы поддерживать создание контекста хранилища Oauth только с именем учетной записи хранения, набор параметров по умолчанию был изменен на
OAuthParameterSet- Пример:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Пример:
- Параметр
Locationстал обязательным в командлетеGet-AzStorageUsage - Методы API хранилища теперь используют асинхронный шаблон на основе задач (TAP), а не синхронные вызовы API. В следующих примерах показаны новые асинхронные команды:
Моментальный снимок BLOB-объектов
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
Аз:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$task = $b.ICloudBlob.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Общий доступ к моментальному с
AzureRM:
$Share = Get-AzureStorageShare -Name $containerName -Context $ctx
$snapshot = $Share.Snapshot()
Аз:
$Share = Get-AzStorageShare -Name $containerName -Context $ctx
$task = $Share.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Отмена обратимого удаления большого двоичного объекта
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$b.ICloudBlob.Undelete()
Аз:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
Настройка уровня BLOB-объектов
AzureRM:
$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")
Аз:
$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 (ранее AzureRM.Websites)
- Удалены устаревшие свойства из
PSAppServicePlanобъектов ,PSCertificateиPSCloningInfoPSSiteобъектов
Azure PowerShell