Breaking changes for Az 1.0.0

Det här dokumentet innehåller detaljerad information om ändringarna mellan AzureRM 6.x och den nya Az-modulen, version 1.x och senare. Innehållsförteckningen hjälper dig genom en fullständig migreringsväg, inklusive modulspecifika ändringar som kan påverka dina skript.

Allmänna råd om hur du kommer igång med en migrering från AzureRM till Az finns i Starta migrering från AzureRM till Az.

Viktigt

Dessutom har de senaste ändringarna mellan Az 1.0.0 och Az 2.0.0. När du följer den här guiden för uppdatering från AzureRM till Az kan du gå till Az 2.0.0.0-ändringar för att ta reda på om du behöver göra ytterligare ändringar.

Innehållsförteckning

Allmänna brytningsändringar

I det här avsnittet finns information om de allmänna brytningsändringarna som är en del av azmodulens design.

Ändringar av substantivprefix för Cmdlet

I AzureRM-modulen används cmdlets antingen AzureRM eller Azure som ett substantivprefix. Az förenklar och normaliserar cmdlet-namn så att alla cmdlet:ar använder "Az" som ett substantivprefix för cmdleten. Till exempel:

Get-AzureRMVM
Get-AzureKeyVaultSecret

Har ändrats till:

Get-AzVM
Get-AzKeyVaultSecret

För att göra övergången till de nya cmdlet-namnen enklare introducerar Az två nya cmdlets, Enable-AzureRmAlias och Disable-AzureRmAlias. Enable-AzureRmAlias skapar alias för äldre cmdlet-namn i AzureRM som mappar till de nyare Az-cmdlet-namnen. Om du -Scope använder argumentet med kan du välja var alias ska Enable-AzureRmAlias aktiveras.

Till exempel följande skript i AzureRM:

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

Du kan köra med minimala ändringar med hjälp av Enable-AzureRmAlias :

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

När du kör aktiverar du alias för alla PowerShell-sessioner som du öppnar, så att du inte behöver ändra ett skript som det här alls när du har kört den Enable-AzureRmAlias -Scope CurrentUser här cmdleten:

Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob

Fullständig information om hur du använder alias-cmdlets finns i referensen Enable-AzureRmAlias.

När du är redo att inaktivera alias tar du bort de alias du Disable-AzureRmAlias skapat. Fullständig information finns i referensen för Disable-AzureRmAlias.

Viktigt

När du inaktiverar alias kontrollerar du att de är inaktiverade för alla omfattningar där alias är aktiverade.

Ändringar av modulnamn

Modulnamnen har ändrats AzureRM.* från Az.* till, förutom följande moduler:

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

Ändringarna i modulnamn innebär att alla skript som använder eller läser in specifika moduler måste ändras så att den nya modulen används #Requires Import-Module i stället. För moduler där cmdlet-suffixet inte har ändrats innebär det att även om modulnamnet har ändrats så har inte suffixet som anger åtgärdsutrymmet .

Migrera #Requires- Import-Module-uttryck

Skript som använder eller #Requires Import-Module deklarerar ett beroende för AzureRM-moduler måste uppdateras för att använda de nya modulnamnen. Till exempel:

#Requires -Module AzureRM.Compute

Bör ändras till:

#Requires -Module Az.Compute

Import-ModuleFör:

Import-Module -Name AzureRM.Compute

Bör ändras till:

Import-Module -Name Az.Compute

Migrera Fully-Qualified cmdlet-anrop

Skript som använder modul kvalificerade cmdlet-anrop, till exempel:

AzureRM.Compute\Get-AzureRmVM

Måste ändras om du vill använda de nya modul- och cmdlet-namnen:

Az.Compute\Get-AzVM

Migrering av modulmanifestberoenden

Moduler som uttrycker beroenden på AzureRM-moduler via en modulmanifestfil (.psd1) behöver uppdatera modulnamnen i RequiredModules avsnittet:

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

Måste ändras till:

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

Moduler borttagna

Följande moduler har tagits bort:

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

Verktygen för de här tjänsterna stöds inte längre aktivt. Kunderna uppmanas att flytta till alternativa tjänster så fort det är praktiskt.

Windows PowerShell 5.1 och .NET 4.7.2

Om du använder Az med PowerShell 5.1 Windows måste du installera .NET Framework 4.7.2. Användning av PowerShell Core 6.x eller senare kräver inte .NET Framework.

Temporär borttagning av användarinloggning med PSCredential

På grund av ändringar i autentiseringsflödet för .NET Standard tar vi tillfälligt bort användarinloggning via PSCredential. Den här funktionen kommer att introduceras på annat sätt i PowerShell 5.1-versionen från 2019-01-15 för Windows. Detta diskuteras i detalj i det här GitHub problemet.

Inloggning av standardenhetskod i stället för uppmaning i webbläsaren

På grund av ändringar i autentiseringsflödet för .NET Standard använder vi enhetsinloggning som standardinloggningsflöde vid interaktiv inloggning. Webbläsarbaserad inloggning införs för PowerShell 5.1 för Windows som standard i versionen från 2019-01-15. Då kan användarna välja enhetsinloggning med växelparametern.

Ändra modulbrytning

I det här avsnittet finns information om specifika brytningsändringar för enskilda moduler och cmdlets.

Az.ApiManagement (tidigare AzureRM.ApiManagement)

  • Följande cmdlets har tagits bort:
    • New-AzureRmApiManagementHostnameConfiguration
    • Set-AzureRmApiManagementHostnames
    • Update-AzureRmApiManagementDeployment
    • Import-AzureRmApiManagementHostnameCertificate
    • Ange de här egenskaperna i stället med cmdleten Set-AzApiManagement
  • Följande egenskaper har tagits bort:
    • Egenskapen PortalHostnameConfiguration Borttagen ProxyHostnameConfiguration och av typen från ManagementHostnameConfiguration ScmHostnameConfiguration PsApiManagementHostnameConfiguration PsApiManagementContext . Använd istället PortalCustomHostnameConfiguration , och av typen ProxyCustomHostnameConfiguration ManagementCustomHostnameConfiguration ScmCustomHostnameConfiguration PsApiManagementCustomHostNameConfiguration .
    • Egenskapen Removed StaticIPs från PsApiManagementContext. Egenskapen är uppdelad i PublicIPAddresses och PrivateIPAddresses .
    • Egenskapen borttagen Location från New-AzureApiManagementVirtualNetwork cmdleten.

Az.Billing (tidigare AzureRM.Billing, AzureRM.Consumption och AzureRM.UsageAggregates)

  • InvoiceNameParametern togs bort från Get-AzConsumptionUsageDetail cmdleten. Skript måste använda andra identitetsparametrar för fakturan.

Az.CognitiveServices (tidigare AzureRM.CognitiveServices)

  • GetSkusWithAccountParamSetNameParameteruppsättningen borttagen Get-AzCognitiveServicesAccountSkus från cmdleten. Du måste få SKU:er efter kontotyp och plats, i stället för att använda ResourceGroupName och kontonamn.

Az.Compute (tidigare AzureRM.Compute)

  • IdentityIds tas bort från Identity egenskap i och objekt Skript bör inte längre använda värdet i det här fältet för att fatta PSVirtualMachine PSVirtualMachineScaleSet bearbetningsbeslut.
  • Objekttypen InstanceView ändras PSVirtualMachineScaleSetVM från VirtualMachineInstanceView till VirtualMachineScaleSetVMInstanceView
  • AutoOSUpgradePolicy och AutomaticOSUpgrade egenskaper tas bort från UpgradePolicy egenskap
  • Typen av Sku egenskap i objekt ändras från PSSnapshotUpdate DiskSku till SnapshotSku
  • VmScaleSetVMParameterSet tas bort från Add-AzVMDataDisk cmdlet kan du inte längre lägga till en dataskiva individuellt i en vm-scaleset.

Az.DataFactory (tidigare AzureRM.DataFactories och AzureRM.DataFactoryV2)

  • GatewayNameParametern är obligatorisk i New-AzDataFactoryEncryptValue cmdleten
  • New-AzDataFactoryGatewayKeyCmdlet borttagen
  • Parametern LinkedServiceName tas bort Get-AzDataFactoryV2ActivityRun från cmdlet-skript och bör inte längre använda värdet i det här fältet vid bearbetningsbeslut.

Az.DataLakeAnalytics (tidigare AzureRM.DataLakeAnalytics)

  • Borttagna cmdlets: New-AzDataLakeAnalyticsCatalogSecret , Remove-AzDataLakeAnalyticsCatalogSecret och Set-AzDataLakeAnalyticsCatalogSecret

Az.DataLakeStore (tidigare AzureRM.DataLakeStore)

  • I följande cmdlets har Encoding parametern ändrats från typ FileSystemCmdletProviderEncoding till System.Text.Encoding . Den här ändringen tar bort kodningsvärdena String och Oem . Alla övriga tidigare kodningsvärden finns kvar.

    • New-AzureRmDataLakeStoreItem
    • Add-AzureRmDataLakeStoreItemContent
    • Get-AzureRmDataLakeStoreItemContent
  • Borttagna Tags egenskapsalias från New-AzDataLakeStoreAccount och Set-AzDataLakeStoreAccount cmdlets

    Skript som används

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

    Bör ändras till

    New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
    
  • Borttagna egenskaper , Identity , , , , , , , , , EncryptionState , EncryptionProvisioningState , , EncryptionConfig från FirewallState FirewallRules VirtualNetworkRules TrustedIdProviderState TrustedIdProviders DefaultGroup NewTier CurrentTier FirewallAllowAzureIps PSDataLakeStoreAccountBasic objekt. Skript som använder det PSDatalakeStoreAccount returnerade skriptet bör Get-AzDataLakeStoreAccount inte referera till dessa egenskaper.

Az.KeyVault (tidigare AzureRM.KeyVault)

  • Egenskapen PurgeDisabled togs bort från , och PSKeyVaultKeyAttributes PSKeyVaultKeyIdentityItem PSKeyVaultSecretAttributes objektskript bör inte längre referera egenskapen till PurgeDisabled att fatta bearbetningsbeslut.

Az.Media (tidigare AzureRM.Media)

  • Ta bort inaktuella Tags egenskapsalias New-AzMediaService från cmdlet-skript med

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

    Bör ändras till

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

Az.Monitor (tidigare AzureRM.Insights)

  • Tog bort pluralnamn Categories och parameter till och med Timegrains singular-parameternamn från Set-AzDiagnosticSetting cmdlet-skript med

    Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
    

    Bör ändras till

    Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
    

Az.Network (tidigare AzureRM.Network)

  • Borttagen parameter från ResourceId Get-AzServiceEndpointPolicyDefinition cmdlet
  • Borttagen egenskap från EnableVmProtection PSVirtualNetwork ett objekt
  • Borttagen Set-AzVirtualNetworkGatewayVpnClientConfig cmdlet

Skript bör inte längre behandla beslut som baseras på värdena i dessa fält.

Az.OperationalInsights (tidigare AzureRM.OperationalInsights)

  • Standardparameteruppsättningen Get-AzOperationalInsightsDataSource för tas bort och har blivit ByWorkspaceNameByKind standardparameteruppsättningen

    Skript som listade datakällor med hjälp av

    Get-AzureRmOperationalInsightsDataSource
    

    Bör ändras så att en typ anges

    Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
    

Az.RecoveryServices (tidigare AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup och AzureRM.RecoveryServices.SiteRecovery)

  • Parameter Encryption borttagen New/Set-AzRecoveryServicesAsrPolicy från cmdlet
  • TargetStorageAccountName parametern är nu obligatorisk för hanterade diskåterställningar i Restore-AzRecoveryServicesBackupItem cmdlet
  • Borttagna StorageAccountName StorageAccountResourceGroupName och parametrar i Restore-AzRecoveryServicesBackupItem cmdlet
  • Parameter Name borttagen Get-AzRecoveryServicesBackupContainer i cmdlet

Az.Resources (tidigare AzureRM.Resources)

  • Parameter Sku borttagen New/Set-AzPolicyAssignment från cmdlet

  • Borttagna Password parameter från New-AzADServicePrincipal och New-AzADSpCredential cmdlet-lösenord genereras automatiskt, skript som gav lösenordet:

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

    Bör ändras så att lösenordet hämtas från utdata:

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

Az.ServiceFabric (tidigare AzureRM.ServiceFabric)

  • Följande cmdlet-returtyper har ändrats:
    • Egenskapen ServiceTypeHealthPolicies för typen ApplicationHealthPolicy har tagits bort.
    • Egenskapen ApplicationHealthPolicies för typen ClusterUpgradeDeltaHealthPolicy har tagits bort.
    • Egenskapen OverrideUserUpgradePolicy för typen ClusterUpgradePolicy har tagits bort.
    • Dessa ändringar påverkar följande cmdlets:
      • 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 (tidigare AzureRM.Sql)

  • Borttagen State ResourceId och parametrar från Set-AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet
  • Inaktuella cmdlets: Get/Set-AzSqlServerBackupLongTermRetentionVault , , , , Get/Start/Stop-AzSqlServerUpgrade Get/Set-AzSqlDatabaseAuditingPolicy Get/Set-AzSqlServerAuditingPolicy Remove-AzSqlDatabaseAuditing , Remove-AzSqlServerAuditing
  • Borttagen parameter från Current Get-AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet
  • Borttagen parameter från DatabaseName Get-AzSqlServerServiceObjective cmdlet
  • Borttagen parameter från PrivilegedLogin Set-AzSqlDatabaseDataMaskingPolicy cmdlet

Az.Storage (tidigare Azure.Storage och AzureRM. Storage)

  • Standardparameteruppsättningen har ändrats till OAuthParameterSet
    • Exempel: $ctx = New-AzureStorageContext -StorageAccountName $accountName
  • LocationParametern är obligatorisk i Get-AzStorageUsage cmdleten
  • I Storage API-metoder används nu det aktivitetsbaserade Asynkront mönster (TAP) i stället för synkroniserade API-anrop. I följande exempel visas de nya asynkrona kommandona:

Blob-ögonblicksbild

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

Dela ögonblicksbild

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

Avdeklarera mjuk borttagna blob

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

Ange 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 (tidigare AzureRM.Websites)

  • Borttagna egenskaper från , PSAppServicePlan PSCertificate , och PSCloningInfo PSSite objekt