Az Az 1.0.0 kompatibilitástörő változásai

Ez a dokumentum részletes információkat tartalmaz az AzureRM 6.x és az új Az modul 1.x és újabb verziója közötti változásokról. A tartalomjegyzék végigvezeti a teljes migrálási folyamaton, és bemutatja a modulspecifikus módosításokat is, amelyek befolyásolhatják a szkripteket.

Az AzureRM-ből az Az-be történő migrálás megkezdéséhez kapcsolódó általános tanácsokért lásd: Migrálás megkezdése az AzureRM-ből az Az-be.

Fontos

Az Az 1.0.0-s és az Az 2.0.0-s verziója között is történtek kompatibilitástörő változások. Az AzureRM-ről Az-re való frissítést ismertető útmutató követése után tekintse meg az Az 2.0.0 kompatibilitástörő változásait bemutató cikket, amelyből megtudhatja, kell-e további módosításokat végeznie.

Tartalomjegyzék

Általános kompatibilitástörő változások

Ez a szakasz részletesen bemutatja az Az modul újratervezésének részét képező általános kompatibilitástörő változásokat.

A parancsmag főnévi előtagjának változásai

Az AzureRM modulban a parancsmagok az AzureRM vagy az Azure főnévi előtagot használták. Az Az egyszerűsíti és normalizálja a parancsmagok nevét, így minden parancsmag főnévi előtagja „Az” lesz. Példa:

Get-AzureRMVM
Get-AzureKeyVaultSecret

A következőre módosult:

Get-AzVM
Get-AzKeyVaultSecret

Az új parancsmagokra való áttérés megkönnyítése érdekében az Az két új parancsmagot vezet be: Enable-AzureRmAlias és Disable-AzureRmAlias. Az Enable-AzureRmAlias a régebbi parancsmagok nevéhez hoz létre aliasokat az AzureRM-ben, amelyek az újabb Az-parancsmagok nevének felelnek meg. A -Scope argumentum és az Enable-AzureRmAlias együttes használatával kiválaszthatja, hol legyenek engedélyezve az aliasok.

A következő AzureRM-szkript például:

#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

Az Enable-AzureRmAlias használatával minimális változtatásokkal futtatható:

#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

Az Enable-AzureRmAlias -Scope CurrentUser futtatása engedélyezi az aliasokat az összes megnyitott PowerShell-munkamenetben, így a parancsmag végrehajtása után az ehhez hasonló szkripteket egyáltalán nem kell módosítani:

Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

A parancsmagok aliasaival kapcsolatos részletes információért tekintse meg az Enable-AzureRmAlias referenciáját.

Amikor készen áll az aliasok letiltására, a Disable-AzureRmAlias eltávolítja a létrehozott aliasokat. Részletes információért tekintse meg a Disable-AzureRmAlias referenciáját.

Fontos

Az aliasok letiltásakor győződjön meg arról, hogy minden olyan hatókörnél le lettek tiltva, amelyekhez engedélyezve voltak az aliasok.

A modul nevének változásai

A modul neve a korábbi AzureRM.* helyett Az.* lett, kivéve a következő modulokban:

AzureRM modul Az modul
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

A modul nevének változása azt jelenti, hogy ha egy szkript a #Requires vagy az Import-Module használatával tölt be bizonyos modulokat, módosításokat kell végezni az új modul használatához. Azoknál a moduloknál, ahol a parancsmag utótagja nem változott, ez azt jelenti, hogy a modul neve megváltozott, a művelet helyét jelző utótag viszont nem.

#Requires és Import-Module utasítások migrálása

Ha egy szkript #Requires vagy Import-Module használatával deklarálja egy AzureRM-modultól való függőségét, akkor frissíteni kell az új modulnevek használatára. Példa:

#Requires -Module AzureRM.Compute

A következőre kell módosítani:

#Requires -Module Az.Compute

Import-Module esetében:

Import-Module -Name AzureRM.Compute

A következőre kell módosítani:

Import-Module -Name Az.Compute

Teljesen minősített parancsmaghívások migrálása

Modulhoz minősített parancsmaghívásokat használó szkriptek, például:

AzureRM.Compute\Get-AzureRmVM

Úgy kell módosítani, hogy az új modul- és parancsmagneveket használja:

Az.Compute\Get-AzVM

Moduljegyzék-függőségek migrálása

Amennyiben egy modul AzureRM-modultól való függését egy moduljegyzék (.psd1) fájl fejezi ki, a modul RequiredModules szakaszában frissíteni kell a modulok nevét:

RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})

A következőre kell módosítani:

RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})

Eltávolított modulok

Az alábbi modulok lettek eltávolítva:

  • AzureRM.Backup
  • AzureRM.Compute.ManagedService
  • AzureRM.Scheduler

E szolgáltatások eszközeit már nem támogatja aktívan a rendszer. Azt javasoljuk ügyfeleinknek, hogy amint lehetséges, térjenek át más szolgáltatások használatára.

Windows PowerShell 5.1 és .NET 4.7.2

Az Az Windows PowerShell 5.1-gyel történő használatához szükséges a .NET-keretrendszer 4.7.2 telepítése. A PowerShell Core 6.x vagy újabb verziójának használatához nincs szükség a .NET-keretrendszerre.

A felhasználói bejelentkezés ideiglenes eltávolítása a PSCredential használatával

A .NET Standard hitelesítési folyamatának változásai miatt ideiglenesen eltávolítjuk a PSCredential használatával történő felhasználói bejelentkezés lehetőségét. A funkció a Windows PowerShell 5.1 2019. január 15-én megjelenő verziójában válik ismét elérhetővé. Erről részletesen ebben a GitHub-cikkben olvashat.

Bejelentkezés alapértelmezett eszközkóddal a webböngészőben megjelenő kérdés helyett

A .NET Standard hitelesítési folyamatának változásai miatt az interaktív bejelentkezések során az eszközről történő bejelentkezés lesz az alapértelmezett bejelentkezési folyamat. A webböngésző-alapú bejelentkezés a Windows PowerShell 5.1 2019. január 15-én megjelenő verziójában válik ismét elérhetővé. Ezt követően a felhasználók a Switch paramétert használva választhatják az eszközről történő bejelentkezést.

A modul kompatibilitástörő változásai

Ez a szakasz részletesen bemutatja az egyes modulok és parancsmagok kompatibilitástörő változásait.

Az.ApiManagement (korábban AzureRM.ApiManagement)

  • A következő parancsmagok lettek eltávolítva:
    • New-AzureRmApiManagementHostnameConfiguration
    • Set-AzureRmApiManagementHostnames
    • Update-AzureRmApiManagementDeployment
    • Import-AzureRmApiManagementHostnameCertificate
    • Ezeket a tulajdonságokat mostantól a Set-AzApiManagement parancsmaggal kell beállítani
  • A következő tulajdonságokat távolított el:
    • A PsApiManagementHostnameConfiguration típus PortalHostnameConfiguration, ProxyHostnameConfiguration, ManagementHostnameConfiguration és ScmHostnameConfiguration tulajdonsága el lett távolítva a PsApiManagementContextből. Ezek helyett a PsApiManagementCustomHostNameConfiguration típus PortalCustomHostnameConfiguration, ProxyCustomHostnameConfiguration, ManagementCustomHostnameConfiguration és ScmCustomHostnameConfiguration tulajdonságát használja.
    • A StaticIPs tulajdonság el lett távolítva a PsApiManagementContextből. Két új tulajdonságra lett osztva: ez a PublicIPAddresses és a PrivateIPAddresses.
    • A kötelező Location tulajdonság el lett távolítva a New-AzureApiManagementVirtualNetwork parancsmagból.

Az.Billing (korábban AzureRM.Billing, AzureRM.Consumption és AzureRM.UsageAggregates)

  • A Get-AzConsumptionUsageDetail parancsmag InvoiceName paramétere el lett távolítva. A szkripteknek a számlák készítéséhez más identitásparamétereket kell használniuk.

Az.CognitiveServices (korábban AzureRM.CognitiveServices)

  • A Get-AzCognitiveServicesAccountSkus parancsmag GetSkusWithAccountParamSetName paramétere el lett távolítva. A termékváltozatokat a fiók típusa és helye alapján lehet lekérdezni a ResourceGroupName és a fiók nevének használata helyett.

Az.Compute (korábban AzureRM.Compute)

  • A PSVirtualMachine és PSVirtualMachineScaleSet objektum Identity tulajdonsága mostantól nem tartalmazza az IdentityIds azonosítókat. A szkriptek a jövőben nem veszik figyelembe a mező értékét a feldolgozási döntések során.
  • A PSVirtualMachineScaleSetVM objektum InstanceView tulajdonságának típusa VirtualMachineInstanceView helyett VirtualMachineScaleSetVMInstanceView lett.
  • Az UpgradePolicy tulajdonság AutoOSUpgradePolicy és AutomaticOSUpgrade tulajdonsága el lett távolítva.
  • A PSSnapshotUpdate objektum Sku tulajdonságának típusa DiskSku helyett SnapshotSku lett.
  • A VmScaleSetVMParameterSet el lett távolítva az Add-AzVMDataDisk parancsmagból, mostantól nem lehet önálló adatlemezt hozzáadni egy ScaleSet-virtuálisgéphez.

Az.DataFactory (korábban AzureRM.DataFactories és AzureRM.DataFactoryV2)

  • A New-AzDataFactoryEncryptValue parancsmagban kötelezővé vált a GatewayName paraméter használata.
  • A New-AzDataFactoryGatewayKey parancsmag el lett távolítva.
  • A Get-AzDataFactoryV2ActivityRun parancsmag LinkedServiceName paramétere el lett távolítva. A szkriptek a jövőben nem veszik figyelembe a mező értékét a feldolgozási döntések során.

Az.DataLakeAnalytics (korábban AzureRM.DataLakeAnalytics)

  • El lettek távolítva a következő elavult parancsmagok: New-AzDataLakeAnalyticsCatalogSecret, Remove-AzDataLakeAnalyticsCatalogSecret, és Set-AzDataLakeAnalyticsCatalogSecret

Az.DataLakeStore (korábban AzureRM.DataLakeStore)

  • A következő parancsmagok Encoding paraméterének típusa FileSystemCmdletProviderEncoding helyett System.Text.Encoding lett. Ez a módosítás eltávolítja a String és Oem kódolási értéket. Az összes egyéb korábbi kódolási érték elérhető marad.

    • New-AzureRmDataLakeStoreItem
    • Add-AzureRmDataLakeStoreItemContent
    • Get-AzureRmDataLakeStoreItemContent
  • A New-AzDataLakeStoreAccount és Set-AzDataLakeStoreAccount parancsmag elavult Tags tulajdonságaliasa el lett távolítva.

    A következőt használó szkripteket:

    New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
    

    A következőre kell módosítani:

    New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
    
  • A PSDataLakeStoreAccountBasic objektum elavult tulajdonságai el lettek távolítva: Identity, EncryptionState, EncryptionProvisioningState, EncryptionConfig, FirewallState, FirewallRules, VirtualNetworkRules, TrustedIdProviderState, TrustedIdProviders, DefaultGroup, NewTier, CurrentTier és FirewallAllowAzureIps. A Get-AzDataLakeStoreAccount által visszaadott PSDatalakeStoreAccount értéket használó szkriptek nem hivatkozhatnak ezekre a tulajdonságokra.

Az.KeyVault (korábban AzureRM.KeyVault)

  • A PSKeyVaultKeyAttributes, PSKeyVaultKeyIdentityItem és PSKeyVaultSecretAttributes objektum PurgeDisabled tulajdonsága el lett távolítva. A szkriptek a jövőben nem hivatkozhatnak a PurgeDisabled tulajdonságra a feldolgozási döntések során.

Az.Media (korábban AzureRM.Media)

  • A New-AzMediaService parancsmag elavult Tags tulajdonságaliasa el lett távolítva. A következőt használó szkripteket:

    New-AzureRMMediaService -Tags @{TagName="TagValue"}
    

    A következőre kell módosítani:

    New-AzMediaService -Tag @{TagName="TagValue"}
    

Az.Monitor (korábban AzureRM.Insights)

  • A Categories és a Timegrains többes számú paraméternév el lett távolítva. Ezek helyett a Set-AzDiagnosticSetting parancsmag egyes számú paraméterneveit kell használni. A következőt használó szkripteket:

    Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
    

    A következőre kell módosítani:

    Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
    

Az.Network (korábban AzureRM.Network)

  • A Get-AzServiceEndpointPolicyDefinition parancsmag elavult ResourceId paramétere el lett távolítva.
  • A PSVirtualNetwork objektum elavult EnableVmProtection tulajdonsága el lett távolítva.
  • Az elavult Set-AzVirtualNetworkGatewayVpnClientConfig parancsmag el lett távolítva.

A szkriptek a jövőben nem hozhatnak feldolgozási döntéseket e mezők értéke alapján.

Az.OperationalInsights (korábban AzureRM.OperationalInsights)

  • A Get-AzOperationalInsightsDataSource alapértelmezett paraméterkészlete el lett távolítva. Mostantól a ByWorkspaceNameByKind az alapértelmezett paraméterkészlet.

    Azokat a szkripteket, amelyek a következő használatával listázták az adatforrásokat:

    Get-AzureRmOperationalInsightsDataSource
    

    Úgy kell módosítani, hogy megadjanak egy altípust:

    Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
    

Az.RecoveryServices (korábban AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup és AzureRM.RecoveryServices.SiteRecovery)

  • A New/Set-AzRecoveryServicesAsrPolicy parancsmag Encryption paramétere el lett távolítva.
  • A TargetStorageAccountName paraméter megadása mostantól kötelező a Restore-AzRecoveryServicesBackupItem parancsmag felügyeltlemez-visszaállítási műveleteihez.
  • A Restore-AzRecoveryServicesBackupItem parancsmag StorageAccountName és StorageAccountResourceGroupName paramétere el lett távolítva.
  • A Get-AzRecoveryServicesBackupContainer parancsmag Name paramétere el lett távolítva

Az.Resources (korábban AzureRM.Resources)

  • A New/Set-AzPolicyAssignment parancsmag Sku paramétere el lett távolítva.

  • A New-AzADServicePrincipal és New-AzADSpCredential parancsmag Password paramétere el lett távolítva. A jelszavak létrehozása automatikusan történik, a korábban jelszót biztosító szkripteket:

    New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
    

    Úgy kell módosítani, hogy a kimenetből kérjék le a jelszót:

    $credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476
    $secPassword = $credential.Secret
    

Az.ServiceFabric (korábban AzureRM.ServiceFabric)

  • A következő parancsmagok visszatérési típusai módosultak:
    • A ApplicationHealthPolicy típus ServiceTypeHealthPolicies tulajdonsága el lett távolítva.
    • A ClusterUpgradeDeltaHealthPolicy típus ApplicationHealthPolicies tulajdonsága el lett távolítva.
    • A ClusterUpgradePolicy típus OverrideUserUpgradePolicy tulajdonsága el lett távolítva.
    • Ezek a módosítások a következő parancsmagokat érintik:
      • 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 (korábban AzureRM.Sql)

  • A Set-AzSqlDatabaseBackupLongTermRetentionPolicy parancsmag State és ResourceId paramétere el lett távolítva.
  • A következő, elavult parancsmagok el lettek távolítva: Get/Set-AzSqlServerBackupLongTermRetentionVault, Get/Start/Stop-AzSqlServerUpgrade, Get/Set-AzSqlDatabaseAuditingPolicy, Get/Set-AzSqlServerAuditingPolicy, Remove-AzSqlDatabaseAuditing és Remove-AzSqlServerAuditing.
  • A Get-AzSqlDatabaseBackupLongTermRetentionPolicy parancsmag elavult Current paramétere el lett távolítva.
  • A Get-AzSqlServerServiceObjective parancsmag elavult DatabaseName paramétere el lett távolítva.
  • A Set-AzSqlDatabaseDataMaskingPolicy parancsmag elavult PrivilegedLogin paramétere el lett távolítva.

Az.Storage (korábban Azure.Storage és AzureRM.Storage)

  • Annak érdekében, hogy létre lehessen hozni egy Oauth Storage-környezetet pusztán a tárfiók nevét használva, az új alapértelmezett paraméterkészlet a következő: OAuthParameterSet
    • Példa: $ctx = New-AzureStorageContext -StorageAccountName $accountName
  • A Get-AzStorageUsage parancsmagban kötelezővé vált a Location paraméter használata.
  • A Storage API-metódusok mostantól feladatalapú aszinkron mintát (TAP) használnak az egyidejű API-hívások helyett. Az alábbi példák az új, aszinkron parancsokat mutatják be:

Blob-pillanatkép

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

Megosztási pillanatképek

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

Blob helyreállítható törlésének visszavonása

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()

Set Blob Tier

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 (korábban AzureRM.Websites)

  • A PSAppServicePlan, PSCertificate, PSCloningInfo és PSSite objektum elavult tulajdonságai el lettek távolítva.