Критические изменения для Az 1.0.0
В этом документе содержатся подробные сведения об отличиях между 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.Consitation и 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 в существительных командлетов используется префикс 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.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
Скрипты, объявляющие зависимости от модулей AzureRM с помощью #Requires
или Import-Module
, должны быть обновлены для использования новых имен модулей. Например:
#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. Эта возможность будет доступна в выпуске от 15 января 2019 г. для Windows PowerShell 5.1. Это подробно описано в этом сообщении на сайте GitHub.
Вход с кодом устройства по умолчанию вместо запроса веб-браузера
Из-за изменений в процессе проверки подлинности для .NET Standard мы используем вход устройства в качестве потока входа по умолчанию во время интерактивного входа. Вход через веб-браузер будет повторно представлен для Windows PowerShell 5.1 в качестве версии по умолчанию в выпуске от 15 января 2019 г. В это время пользователи смогут выбрать вход устройства с помощью параметра Switch.
Критические изменения модуля
В этом разделе описаны конкретные критические изменения для отдельных модулей и командлетов.
Az.ApiManagement (ранее AzureRM.ApiManagement)
- Удалены следующие командлеты:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- 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.Consitation и 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
. Больше нельзя отдельно добавлять диск данных в виртуальную машину из масштабируемого набора.
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
. Все остальные предыдущие значения кодирования остаются.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Удален нерекомендуемый псевдоним свойства
Tags
из командлетовNew-AzDataLakeStoreAccount
иSet-AzDataLakeStoreAccount
.Сценарии, которые используют
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
следует изменить на
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Из объекта
PSDataLakeStoreAccountBasic
удалены нерекомендуемые свойства:Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
. Любой сценарий, который использует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)
- Из командлета
Get-AzServiceEndpointPolicyDefinition
удален нерекомендуемый параметрResourceId
- Из объекта
PSVirtualNetwork
удалено нерекомендуемое свойствоEnableVmProtection
- Нерекомендуемый командлет
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)
- Из командлета
New/Set-AzRecoveryServicesAsrPolicy
удален параметрEncryption
. - Параметр
TargetStorageAccountName
теперь является обязательным для восстановления управляемого диска в командлетеRestore-AzRecoveryServicesBackupItem
. - В командлете
Restore-AzRecoveryServicesBackupItem
удалены параметрыStorageAccountName
иStorageAccountResourceGroupName
. - В командлете
Get-AzRecoveryServicesBackupContainer
удален параметрName
.
Az.Resources (ранее AzureRM.Resources)
Из командлета
New/Set-AzPolicyAssignment
удален параметрSku
.Параметр
Password
удален из командлетовNew-AzADServicePrincipal
иNew-AzADSpCredential
. Пароли генерируются автоматически. Сценарии, которые предоставили пароль:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
Следует изменить, чтобы получить пароль из выходных данных.
$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 $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)
- Из командлета
Set-AzSqlDatabaseBackupLongTermRetentionPolicy
удалены параметрыState
иResourceId
. - Удалены следующие нерекомендуемые командлеты:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
. - Из командлета
Get-AzSqlDatabaseBackupLongTermRetentionPolicy
удален нерекомендуемый параметрCurrent
- Из командлета
Get-AzSqlServerServiceObjective
удален нерекомендуемый параметрDatabaseName
- Из командлета
Set-AzSqlDatabaseDataMaskingPolicy
удален нерекомендуемый параметрPrivilegedLogin
Az.Storage (ранее Azure.Storage и AzureRM.Storage)
- Для поддержки создания контекста хранения Oauth только с именем учетной записи хранения набор параметров по умолчанию был изменен на
OAuthParameterSet
.- Пример:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Пример:
- Параметр
Location
стал обязательным в командлетеGet-AzStorageUsage
- Методы API службы хранилища теперь используют асинхронную модель на основе задач (TAP) вместо синхронных вызовов API. В приведенных ниже примерах показаны новые асинхронные команды.
Моментальный снимок большого двоичного объекта
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
Az:
$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()
Az:
$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()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
Установка уровня большого двоичного объекта
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")
Az:
$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