Az 1.0.0 için yeni değişiklikler
Bu belge, AzureRM 6.x ve yeni Az modülü (sürüm 1.x ve sonrası) arasındaki değişiklikler hakkında ayrıntılı bilgi sağlar. İçindekiler tablosu, betiklerinizi etkileyebilecek modüle özgü değişiklikler de dahil olmak üzere, tam geçiş yolunda size kılavuzluk edecektir.
AzureRM’den Az’ye geçiş işlemine başlangıç konusunda genel öneriler için bkz. AzureRM’den Az modülüne geçişi başlatma.
Önemli
Az 1.0.0 ile Az 2.0.0 arasında da hataya neden olan değişiklikler bulunur. AzureRM’den Az modülüne güncelleştirmek için bu kılavuzu izledikten sonra ek değişiklikler yapmanız gerekip gerekmediğini öğrenmek için bkz. Az 2.0.0 hataya neden olan değişiklikler.
İçindekiler
- Hataya neden olan genel değişiklikler
- Modüldeki yeni değişiklikler
- Az.ApiManagement (eski adıyla AzureRM.ApiManagement)
- Az.Billing (eski adıyla AzureRM.Billing, AzureRM.Consumption ve AzureRM.UsageAggregates)
- Az.CognitiveServices (eski adıyla AzureRM.CognitiveServices)
- Az.Compute (eski adıyla AzureRM.Compute)
- Az.DataFactory (eski adıyla AzureRM.DataFactories ve AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (eski adıyla AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (eski adıyla AzureRM.DataLakeStore)
- Az.KeyVault (eski adıyla AzureRM.KeyVault)
- Az.Media (eski adıyla AzureRM.Media)
- Az.Monitor (eski adıyla AzureRM.Insights)
- Az.Network (eski adıyla AzureRM.Network)
- Az.OperationalInsights (eski adıyla AzureRM.OperationalInsights)
- Az.RecoveryServices (eski adıyla AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup ve AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (eski adıyla AzureRM.Resources)
- Az.ServiceFabric (eski adıyla AzureRM.ServiceFabric)
- Az.Sql (eski adıyla AzureRM.Sql)
- Az.Storage (eski adıyla Azure.Storage and AzureRM.Storage)
- Az.Websites (eski adıyla AzureRM.Websites)
Hataya neden olan genel değişiklikler
Bu bölümde, Az modülünün yeniden tasarımının bir parçası olan, hataya neden olan genel değişiklikler ayrıntılı olarak açıklanır.
Cmdlet İsim Öneki Değişiklikleri
AzureRM modülünde cmdlet’ler isim ön eki olarak AzureRM
veya Azure
kullanılır. Az ile birlikte cmdlet adları basitleştirilip normalleştirilerek tüm cmdlet’lerin isim ön eki olarak 'Az' kullanılacak. Örneğin:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Yeni ad:
Get-AzVM
Get-AzKeyVaultSecret
Bu yeni cmdlet adlarına geçişi kolaylaştırmak için Az ile birlikte iki yeni cmdlet sunuluyor: Enable-AzureRmAlias ve Disable-AzureRmAlias. Enable-AzureRmAlias
, AzureRM’deki eski cmdlet adları için yeni Az cmdlet adlarına eşlenen diğer adlar oluşturur. Enable-AzureRmAlias
ile -Scope
bağımsız değişkenini kullanarak diğer adları nerede etkinleştireceğinizi seçebilirsiniz.
Örneğin, şu AzureRM betiği:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Enable-AzureRmAlias
kullanılarak küçük değişikliklerle çalıştırılabilir:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Enable-AzureRmAlias -Scope CurrentUser
çalıştırıldığında açtığınız tüm PowerShell oturumları için diğer adları etkinleştireceğinden, bu cmdlet’i çalıştırdıktan sonra şunun gibi bir betiğin hiç değiştirilmesi gerekmez:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Diğer ad cmdlet’leri kullanımının tüm ayrıntıları için bkz. Enable-AzureRmAlias başvurusu.
Diğer adları devre dışı bırakmaya hazır olduğunuzda Disable-AzureRmAlias
cmdlet'i oluşturulan diğer adları kaldırır. Tüm ayrıntıları için bkz. Disable-AzureRmAlias başvurusu.
Önemli
Diğer adları devre dışı bırakırken, diğer adların etkin olduğu tüm kapsamlarda devre dışı bırakıldıklarından emin olun.
Modül Adı Değişiklikleri
Aşağıdaki modüller dışında, önceden AzureRM.*
olan modül adları Az.*
olarak değiştirildi:
AzureRM modülü | Az modülü |
---|---|
Azure Depolama | 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 |
Modül adlarındaki değişiklikler nedeniyle, belirli modülleri yüklemek için #Requires
ve Import-Module
deyimlerini kullanan tüm betiklerin yeni modülü kullanacak şekilde güncelleştirilmesi gerekir. Cmdlet sonekinin değişmediği modüllerde bu, modül adı değişmiş olsa da işlem alanını belirten sonekin değişmediği anlamına gelir.
#Requires ve Import-Module Deyimlerini Geçirme
AzureRM modüllerine bağımlılığı bildirmek için #Requires
veya Import-Module
deyimini kullanan betikler yeni modül adlarını kullanacak şekilde güncelleştirilmelidir. Örneğin:
#Requires -Module AzureRM.Compute
Şöyle değiştirilmelidir:
#Requires -Module Az.Compute
Import-Module
için:
Import-Module -Name AzureRM.Compute
Şöyle değiştirilmelidir:
Import-Module -Name Az.Compute
Tam Olarak Nitelenen Cmdlet Çağrılarını Geçirme
Şunun gibi modül adıyla nitelenen cmdlet çağrılarını kullanan betikler:
AzureRM.Compute\Get-AzureRmVM
Yeni modülü ve cmdlet adlarını kullanacak şekilde değiştirilmelidir:
Az.Compute\Get-AzVM
Modül bildirimi bağımlılıklarını geçirme
Bir modül bildirimi (.psd1) dosyası aracılığıyla AzureRM modüllerine bağımlılığı ifade eden modüllerin RequiredModules
bölümünde güncelleştirilmiş modül adları olmalıdır:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Şöyle değiştirilmelidir:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Kaldırılan modüller
Aşağıdaki modüller kaldırıldı:
AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler
Bu hizmetlere yönelik araçlar artık etkin bir şekilde desteklenmemektedir. Müşterilerin uygun olan en yakın zamanda alternatif hizmetlere geçmesi önerilir.
Windows PowerShell 5.1 ve .NET 4.7.2
Windows için PowerShell 5.1 ile Az kullanımı, .NET Framework 4.7.2 sürümünün yüklenmesini gerektirir. PowerShell Core 6.x ve sonraki sürümleri .NET Framework gerektirmez.
PSCredential ile Kullanıcı oturumu açmanın geçici olarak kaldırılması
.NET Standard kimlik doğrulama akışındaki değişiklikler nedeniyle, PSCredential üzerinden kullanıcı oturumu açmayı geçici olarak kaldırıyoruz. Bu özellik, Windows için PowerShell 5.1’in 15/1/2019 tarihli yayınında yeniden kullanıma sunulacaktır. Bu konu, bu GitHub sorununda ayrıntılı olarak açıklanmıştır.
Web tarayıcısı istemi yerine varsayılan cihaz kodu ile oturum açma
.NET Standard kimlik doğrulama akışındaki değişiklikler nedeniyle, etkileşimli oturum açma sırasında varsayılan oturum açma akışı olarak cihazla oturum açmayı kullanıyoruz. Web tarayıcısı tabanlı oturum açma, Windows için PowerShell 5.1'de 15/1/2019 tarihli yayınla birlikte yeniden varsayılan seçenek olarak kullanıma sunulacaktır. İlgili tarihte, kullanıcılar bir Switch parametresini kullanarak cihaz oturumunu seçebilecek.
Modüldeki yeni değişiklikler
Bu bölümde, belirli modüller ve cmdlet’lerde hataya neden olan değişiklikler ayrıntılı olarak açıklanır.
Az.ApiManagement (eski adıyla AzureRM.ApiManagement)
- Aşağıdaki cmdlet'ler kaldırıldı:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Bu özellikleri ayarlamak için bunun yerine Set-AzApiManagement cmdlet’ini kullanın
- Aşağıdaki özellikler kaldırıldı:
PsApiManagementContext
öğesindenPsApiManagementHostnameConfiguration
türündekiPortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
veScmHostnameConfiguration
özelliği kaldırıldı. Bunun yerinePsApiManagementCustomHostNameConfiguration
türündekiPortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
veScmCustomHostnameConfiguration
özelliğini kullanın.- PsApiManagementContext öğesinden
StaticIPs
özelliği kaldırıldı. ÖzellikPublicIPAddresses
vePrivateIPAddresses
olarak bölündü. - New-AzureApiManagementVirtualNetwork cmdlet’inden gerekli olan
Location
özelliği kaldırıldı.
Az.Billing (eski adıyla AzureRM.Billing, AzureRM.Consumption ve AzureRM.UsageAggregates)
Get-AzConsumptionUsageDetail
cmdlet’indenInvoiceName
parametresi kaldırıldı. Fatura için betiklerin diğer kimlik parametrelerini kullanması gerekir.
Az.CognitiveServices (eski adıyla AzureRM.CognitiveServices)
Get-AzCognitiveServicesAccountSkus
cmdlet’indenGetSkusWithAccountParamSetName
parametre kümesi kaldırıldı. ResourceGroupName ve Hesap Adı parametrelerini kullanmak yerine Sku’ları Hesap Türüne ve Konuma göre almalısınız.
Az.Compute (eski adıyla AzureRM.Compute)
PSVirtualMachine
vePSVirtualMachineScaleSet
nesnelerindeIdentity
özelliğindenIdentityIds
kaldırıldı Betikler artık işleme kararları vermek için bu alanın değerini kullanmamalıdır.PSVirtualMachineScaleSetVM
nesnesininInstanceView
özelliğininVirtualMachineInstanceView
olan türüVirtualMachineScaleSetVMInstanceView
olarak değiştirildiUpgradePolicy
özelliğindenAutoOSUpgradePolicy
veAutomaticOSUpgrade
özelliği kaldırıldıPSSnapshotUpdate
nesnesindekiSku
özelliğininDiskSku
olan türüSnapshotSku
olarak değiştirildiVmScaleSetVMParameterSet
,Add-AzVMDataDisk
cmdlet’inden kaldırıldığından artık bir veri diskini ScaleSet VM’sine tek başına ekleyemezsiniz.
Az.DataFactory (eski adıyla AzureRM.DataFactories ve AzureRM.DataFactoryV2)
New-AzDataFactoryEncryptValue
cmdlet’indeGatewayName
parametresi zorunlu hale geldiNew-AzDataFactoryGatewayKey
cmdlet'i kaldırıldıGet-AzDataFactoryV2ActivityRun
cmdlet’indenLinkedServiceName
parametresi kaldırıldı Betikler artık işleme kararları vermek için bu alanın değerini kullanmamalıdır.
Az.DataLakeAnalytics (eski adıyla AzureRM.DataLakeAnalytics)
- Kullanım dışı cmdlet’ler kaldırıldı:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
veSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (eski adıyla AzureRM.DataLakeStore)
Aşağıdaki cmdlet’lerin
Encoding
parametresininFileSystemCmdletProviderEncoding
olan türüSystem.Text.Encoding
olarak değişti. Bu değişiklikle birlikteString
veOem
kodlama değerleri kaldırılıyor. Önceki diğer tüm kodlama değerleri olduğu gibi kaldı.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
New-AzDataLakeStoreAccount
veSet-AzDataLakeStoreAccount
cmdlet’inden kullanım dışıTags
özellik diğer adı kaldırıldıŞunları kullanan betikler:
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Şöyle değiştirilmelidir:
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
PSDataLakeStoreAccountBasic
nesnesinden kullanım dışıIdentity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
özelliği kaldırıldı.Get-AzDataLakeStoreAccount
cmdlet’inden döndürülenPSDatalakeStoreAccount
özelliğini kullanan hiçbir betik bu özelliklere başvurmamalıdır.
Az.KeyVault (eski adıyla AzureRM.KeyVault)
PSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
vePSKeyVaultSecretAttributes
nesnesindenPurgeDisabled
özelliği kaldırıldı Betikler artık işleme kararları vermek içinPurgeDisabled
özelliğine başvurmamalıdır.
Az.Media (eski adıyla AzureRM.Media)
New-AzMediaService
cmdlet’inden kullanım dışıTags
özelliği diğer adı kaldırıldı Şunları kullanan betikler:New-AzureRMMediaService -Tags @{TagName="TagValue"}
Şöyle değiştirilmelidir:
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (eski adıyla AzureRM.Insights)
Set-AzDiagnosticSetting
cmdlet’inden alınan tekil parametre adları tercih edilerek çoğul adCategories
veTimegrains
parametresi kaldırıldı Şunları kullanan betikler:Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Şöyle değiştirilmelidir:
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (eski adıyla AzureRM.Network)
Get-AzServiceEndpointPolicyDefinition
cmdlet’inden kullanım dışıResourceId
parametresi kaldırıldıPSVirtualNetwork
nesnesinden kullanım dışıEnableVmProtection
özelliği kaldırıldı- Kullanım dışı
Set-AzVirtualNetworkGatewayVpnClientConfig
cmdlet’i kaldırıldı
Betikler artık bu alanların değerlerini temel alan işleme kararları almamalıdır.
Az.OperationalInsights (eski adıyla AzureRM.OperationalInsights)
Get-AzOperationalInsightsDataSource
için varsayılan parametre kümesi kaldırıldı, varsayılan parametre kümesiByWorkspaceNameByKind
olduVeri kaynaklarını şunu kullanarak listeleyen betikler:
Get-AzureRmOperationalInsightsDataSource
Bir Tür belirtecek şekilde değiştirilmelidir
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (eski adıyla AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup ve AzureRM.RecoveryServices.SiteRecovery)
New/Set-AzRecoveryServicesAsrPolicy
cmdlet’indenEncryption
parametresi kaldırıldı- Artık
Restore-AzRecoveryServicesBackupItem
cmdlet'indeki yönetilen disk geri yükleme işlemleri içinTargetStorageAccountName
parametresi zorunludur Restore-AzRecoveryServicesBackupItem
cmdlet’indenStorageAccountName
veStorageAccountResourceGroupName
parametresi kaldırıldıGet-AzRecoveryServicesBackupContainer
cmdlet’indenName
parametresi kaldırıldı
Az.Resources (eski adıyla AzureRM.Resources)
New/Set-AzPolicyAssignment
cmdlet’indenSku
parametresi kaldırıldıNew-AzADServicePrincipal
veNew-AzADSpCredential
cmdlet’indenPassword
parametresi kaldırıldı Parolalar otomatik olarak oluşturulduğundan, daha önce parolayı sağlayan betikler:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
Parolayı çıktıdan alacak şekilde değiştirilmelidir:
$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 $secPassword = $credential.Secret
Az.ServiceFabric (eski adıyla AzureRM.ServiceFabric)
- Aşağıdaki cmdlet dönüş türleri değiştirildi:
ApplicationHealthPolicy
türündekiServiceTypeHealthPolicies
özelliği kaldırıldı.ClusterUpgradeDeltaHealthPolicy
türündekiApplicationHealthPolicies
özelliği kaldırıldı.ClusterUpgradePolicy
türündekiOverrideUserUpgradePolicy
özelliği kaldırıldı.- Bu değişiklikler aşağıdaki cmdlet'leri etkiler:
- 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 (eski adıyla AzureRM.Sql)
Set-AzSqlDatabaseBackupLongTermRetentionPolicy
cmdlet’indenState
veResourceId
parametresi kaldırıldı- Kullanım dışı cmdlet’ler kaldırıldı:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
Get-AzSqlDatabaseBackupLongTermRetentionPolicy
cmdlet’inden kullanım dışıCurrent
parametresi kaldırıldıGet-AzSqlServerServiceObjective
cmdlet’inden kullanım dışıDatabaseName
parametresi kaldırıldıSet-AzSqlDatabaseDataMaskingPolicy
cmdlet’inden kullanım dışıPrivilegedLogin
parametresi kaldırıldı
Az.Storage (eski adıyla Azure.Storage and AzureRM.Storage)
- Yalnızca depolama hesabı adıyla bir Oauth depolama bağlamı oluşturulmasının desteklenmesi için varsayılan parametre kümesi
OAuthParameterSet
olarak değiştirildi- Örnek:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Örnek:
Get-AzStorageUsage
cmdlet’indeLocation
parametresi zorunlu hale geldi- Depolama API’si metotları artık zaman uyumlu API çağrıları yerine Görev Tabanlı Zaman Uyumsuz Düzeni (TAP) kullanıyor. Aşağıdaki örneklerde yeni zaman uyumsuz komutlar gösterilir:
Blob Anlık Görüntüsü
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
Anlık Görüntüyü Paylaş
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
Geçici silinen blob’un silinmesini geri al
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()
Blob Katmanını Ayarla
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 (eski adıyla AzureRM.Websites)
PSAppServicePlan
,PSCertificate
,PSCloningInfo
vePSSite
nesnesinden kullanım dışı özellikler kaldırıldı