Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом документе содержатся подробные сведения об изменениях между AzureRM 6.x и новым модулем Az версии 1.x и более поздними версиями. Пункты в оглавлении помогут вам разобраться со всеми этапами переноса, включая изменения модуля, которые могут повлиять на скрипты.
Общие советы по началу перехода с Az на AzureRM см. в этой статье.
Это важно
Были серьезные изменения между 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.
Изменения префикса названия cmdlet
В модуле AzureRM префикс AzureRM
или Azure
используется в названиях командлетов как существительное. 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.Учетные записи |
AzureRM.Insights | Аз.Монитор |
AzureRM.DataFactories | Az.DataFactory |
AzureRM.DataFactoryV2 | Az.DataFactory |
AzureRM.RecoveryServices.Backup | Az.RecoveryServices (службы восстановления Azure) |
AzureRM.RecoveryServices.SiteRecovery | Az.RecoveryServices (службы восстановления Azure) |
AzureRM.Tags | Аз.Ресурсы |
AzureRM.MachineLearningCompute | Az.MachineLearning |
AzureRM.UsageAggregates | Аз.Биллинг |
AzureRM.Потребление | Аз.Биллинг |
Изменения в именах модулей означают, что любой сценарий, который использует #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.Backup
AzureRM.Compute.ManagedService
AzureRM.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 по умолчанию в выпуске от 15.01.2019. В этот момент пользователи смогут выбрать вход на устройство с помощью параметра Switch.
Изменения, нарушающие совместимость модуля
В этом разделе подробно описаны разрушающие изменения для конкретных модулей и командлетов.
Az.ApiManagement (ранее AzureRM.ApiManagement)
- Удалены следующие cmdlets:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment (обновление развертывания управления API Azure)
- Import-AzureRmApiManagementHostnameCertificate
- Чтобы задать эти свойства, используйте командлет Set-AzApiManagement.
- Удалены следующие свойства:
- Удалено свойство
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
иScmHostnameConfiguration
типаPsApiManagementHostnameConfiguration
изPsApiManagementContext
. Вместо этого используйте:PortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
и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
. Необходимо получить Skus по типу и расположению учетной записи, а не использовать ResourceGroupName и имя учетной записи.
Az.Compute (ранее AzureRM.Compute)
-
IdentityIds
удаляются из свойстваIdentity
в объектахPSVirtualMachine
иPSVirtualMachineScaleSet
. Скрипты больше не должны использовать значение этого поля для принятия решений об обработке. - Тип свойства
InstanceView
объектаPSVirtualMachineScaleSetVM
изменен сVirtualMachineInstanceView
наVirtualMachineScaleSetVMInstanceView
- Свойства
AutoOSUpgradePolicy
иAutomaticOSUpgrade
удалены из свойстваUpgradePolicy
- Тип свойства
Sku
в объектеPSSnapshotUpdate
изменен сDiskSku
наSnapshotSku
-
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
в следующих командлетах изменён с типаFileSystemCmdletProviderEncoding
наSystem.Text.Encoding
. Это изменение удаляет значения кодировкиString
иOem
. Все остальные предыдущие значения кодирования остаются.- Новый элемент AzureRmDataLakeStore
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent (получить содержимое элемента из хранилища данных Azure Data Lake)
Удален устаревший псевдоним свойства
Tags
из командлетовNew-AzDataLakeStoreAccount
иSet-AzDataLakeStoreAccount
.Использование скриптов
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Должно быть изменено на
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Удалены устаревшие свойства
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
из объектаPSDataLakeStoreAccountBasic
. Любой сценарий, который используетPSDatalakeStoreAccount
, возвращенный изGet-AzDataLakeStoreAccount
, не должен ссылаться на эти свойства.
Az.KeyVault (ранее AzureRM.KeyVault)
- Свойство
PurgeDisabled
удалено из объектовPSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
иPSKeyVaultSecretAttributes
. Скрипты больше не должны ссылаться на свойство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
cmdlet - Из объекта
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 (удалить сертификат кластера Service Fabric)
- Remove-AzServiceFabricNode;
- Удалить-AzServiceFabricNodeType
- Remove-AzServiceFabricSetting
- Set-AzServiceFabricSetting
- Set-AzServiceFabricUpgradeType
- Update-AzServiceFabricDurability
- Обновление надежности AzServiceFabric
- Свойство
Az.Sql (ранее AzureRM.Sql)
- Параметры
State
иResourceId
были удалены из командлетаSet-AzSqlDatabaseBackupLongTermRetentionPolicy
. - Удалены устаревшие командлеты:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-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
,PSCloningInfo
иPSSite
Azure PowerShell