Icke-bakåtkompatibla ändringar för Az 1.0.0
I det här dokumentet finns detaljerad information om ändringar mellan AzureRM 6.x och den nya Az-modulen, version 1.x och senare. Innehållsförteckningen leder dig genom en fullständig migrering, inklusive modulspecifika ändringar som kan påverka skripten.
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
Vi har infört icke-bakåtkompatibla ändringar mellan Az 1.0.0 och Az 2.0.0 också. När du har följt den guiden om hur du uppdaterar från AzureRM till Az kan du läsa om icke-bakåtkompatibla ändringar för Az 2.0.0 att ta reda på om du behöver göra ytterligare ändringar.
Innehållsförteckning
- Allmänna icke-bakåtkompatibla ändringar
- Icke-bakåtkompatibla ändringar
- Az.ApiManagement (tidigare AzureRM.ApiManagement)
- Az.Billing (tidigare AzureRM.Billing, AzureRM.Consumption och AzureRM.UsageAggregates)
- Az.CognitiveServices (tidigare AzureRM.CognitiveServices)
- Az.Compute (tidigare AzureRM.Compute)
- Az.DataFactory (tidigare AzureRM.DataFactories och AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (tidigare AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (tidigare AzureRM.DataLakeStore)
- Az.KeyVault (tidigare AzureRM.KeyVault)
- Az.Media (tidigare AzureRM.Media)
- Az.Monitor (tidigare AzureRM.Insights)
- Az.Network (tidigare AzureRM.Network)
- Az.OperationalInsights (tidigare AzureRM.OperationalInsights)
- Az.RecoveryServices (tidigare AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup och AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (tidigare AzureRM.Resources)
- Az.ServiceFabric (tidigare AzureRM.ServiceFabric)
- Az.Sql (tidigare AzureRM.Sql)
- Az.Storage (tidigare Azure.Storage och AzureRM.Storage)
- Az.Websites (tidigare AzureRM.Websites)
Allmänna icke-bakåtkompatibla ändringar
I det här avsnittet beskriver vi de allmänna icke-bakåtkompatibla ändringarna i den nya utformningen av Az-modulen.
Ändringar av substantivprefix i cmdlet
I AzureRM-modulen är de cmdletar som används antingen AzureRM eller Azure som ett substantivprefix. Az förenklar och normaliserar cmdlet-namn så att Az används som cmdlet-substantivprefix för alla cmdletar. Ett 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 introduceras två nya cmdletar, Enable-AzureRmAlias och Disable-AzureRmAlias. Enable-AzureRmAlias skapar alias för de äldre cmdlet-namnen i AzureRM till de nyare cmdlet-namnen i Az. Med argumentet -Scope med Enable-AzureRmAlias kan du välja var alias ska aktiveras.
Till exempel kan följande skript i AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Kan köras med minimala ändringar med Enable-AzureRmAlias:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
När Enable-AzureRmAlias -Scope CurrentUser körs kan alias aktiveras för alla PowerShell-sessioner som du öppnar, så när denna cmdlet har körts behöver ett skript som detta inte ändras alls:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
All information om användningen av alias-cmdletar finns i referensmaterialet för Enable-AzureRmAlias.
När du är redo att inaktivera alias tar Disable-AzureRmAlias bort skapade alias. All information finns i referensmaterialet till Disable-AzureRmAlias.
Viktigt
När du inaktiverar alias ska du se till att de är inaktiverade för alla omfång som har aktiverade alias.
Ändringar av modulnamn
Modulnamnen har ändrats från AzureRM.* till Az.*, 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 | Az.RecoveryServices |
| AzureRM.RecoveryServices | Az.RecoveryServices |
| AzureRM.Tags | Az.Resources |
| AzureRM.MachineLearningCompute | Az.MachineLearning |
| AzureRM.UsageAggregates | Az.Billing |
| AzureRM.Consumption | Az.Billing |
Ändringarna i modulnamnen innebär att alla skript som använder #Requires eller Import-Module för att läsa in specifika moduler måste ändras så att de använder den nya modulen i stället. För moduler där cmdletsuffixet inte har ändrats innebär det att även om modulnamnet har ändrats har suffixet som anger åtgärdsutrymmet inte det.
Migrera instruktioner av typen #Requires och Import-Module
Skript som använder #Requires eller Import-Module för att deklarera beroende av AzureRM-moduler måste uppdateras så att de nya modulnamnen används. Ett exempel:
#Requires -Module AzureRM.Compute
Ska ändras till:
#Requires -Module Az.Compute
För Import-Module:
Import-Module -Name AzureRM.Compute
Ska ändras till:
Import-Module -Name Az.Compute
Migrera fullständigt kvalificerade cmdlet-anrop
Skript som använder modulkvalificerade cmdlet-anrop som:
AzureRM.Compute\Get-AzureRmVM
Måste ändras så att de nya modul- och cmdlet-namnen används
Az.Compute\Get-AzVM
Migrera modulmanifestberoenden
För moduler som uttrycker beroenden av AzureRM-moduler via en modulmanifestfil (.psd1) behöver modulnamnen uppdateras i avsnittet RequiredModules:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Måste ändras till:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Borttagna moduler
Följande moduler har tagits bort:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
Verktygen för de här tjänsterna stöds inte längre aktivt. Kunderna rekommenderas att övergå till alternativa tjänster så snart som möjligt.
Windows PowerShell 5.1 och .NET 4.7.2
Om Az ska användas med PowerShell 5.1 för Windows måste .NET Framework 4.7.2 vara installerat. För PowerShell Core 6.x och senare krävs inte .NET Framework.
Tillfällig borttagning av användarinloggning med PSCredential
På grund av ändringar i autentiseringsflödet för .NET Standard tar vi tillfälligt bort användarinloggning med PSCredential. Funktionen återintroduceras i version 1/15/2019/ av Windows PowerShell 5.1 för Windows. Det här diskuteras mer ingående i det här GitHub-ärendet.
Inloggning med standardenhetskod i stället för med webbläsarfråga
På grund av ändringar i autentiseringsflödet för .NET Standard använder vi enhetsinloggning som standardinloggningsflöde under interaktiv inloggning. Webbläsarbaserad webbinloggning återintroduceras som standardfunktion i version 1/15/2019 av PowerShell 5.1 för Windows. Då kan användarna välja enhetsinloggning med hjälp av en växlingsparameter.
Icke-bakåtkompatibla ändringar
I det här avsnittet beskriver vi icke-bakåtkompatibla ändringar för enskilda moduler och cmdletar.
Az.ApiManagement (tidigare AzureRM.ApiManagement)
- Följande cmdletar togs bort:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Använd istället cmdleten Set-AzApiManagement för att ställa dessa egenskaper
- Följande egenskaper togs bort:
- Egenskapen
PortalHostnameConfiguration,ProxyHostnameConfiguration,ManagementHostnameConfigurationochScmHostnameConfigurationav typenPsApiManagementHostnameConfigurationhar tagits bort frånPsApiManagementContext. Använd i ställetPortalCustomHostnameConfiguration,ProxyCustomHostnameConfiguration,ManagementCustomHostnameConfigurationochScmCustomHostnameConfigurationav typenPsApiManagementCustomHostNameConfiguration. - Egenskapen
StaticIPshar tagits bort från PsApiManagementContext. Egenskapen har delats upp iPublicIPAddressesochPrivateIPAddresses. - Den nödvändiga egenskapen
Locationhar tagits bort från cmdleten New-AzureApiManagementVirtualNetwork.
- Egenskapen
Az.Billing (tidigare AzureRM.Billing, AzureRM.Consumption och AzureRM.UsageAggregates)
- Parametern
InvoiceNamehar tagits bort från cmdletenGet-AzConsumptionUsageDetail. Skripten behöver nu använda andra identitetsparametrar för fakturan.
Az.CognitiveServices (tidigare AzureRM.CognitiveServices)
- Parameteruppsättningen
GetSkusWithAccountParamSetNamehar tagits bort från cmdletenGet-AzCognitiveServicesAccountSkus. Du måste hämta SKU:er efter typ och plats i stället för att använda ResourceGroupName och Account Name.
Az.Compute (tidigare AzureRM.Compute)
IdentityIdstas bort från egenskapenIdentityi objektenPSVirtualMachineochPSVirtualMachineScaleSetSkripten bör nu inte längre använda värdet för det här fältet för att fatta bearbetningsbeslut.- Typ av
InstanceView-egenskap förPSVirtualMachineScaleSetVM-objekt ändras frånVirtualMachineInstanceViewtillVirtualMachineScaleSetVMInstanceView - Egenskaperna
AutoOSUpgradePolicyochAutomaticOSUpgradetas bort från egenskapenUpgradePolicy - Typ av
Sku-egenskap iPSSnapshotUpdate-objekt ändras frånDiskSkutillSnapshotSku VmScaleSetVMParameterSettas bort från cmdletenAdd-AzVMDataDisk, och du kan inte längre lägga till en datadisk individuellt till en virtuell ScaleSet-dator.
Az.DataFactory (tidigare AzureRM.DataFactories och AzureRM.DataFactoryV2)
- Parametern
GatewayNamehar blivit obligatorisk i cmdletenNew-AzDataFactoryEncryptValue - Cmdleten
New-AzDataFactoryGatewayKeyhar tagits bort - Parametern
LinkedServiceNamehar tagits bort från cmdletenGet-AzDataFactoryV2ActivityRunSkripten ska inte längre använda värdet för det här fältet för att fatta bearbetningsbeslut.
Az.DataLakeAnalytics (tidigare AzureRM.DataLakeAnalytics)
- Följande inaktuella cmdletar har tagits bort:
New-AzDataLakeAnalyticsCatalogSecret,Remove-AzDataLakeAnalyticsCatalogSecretochSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (tidigare AzureRM.DataLakeStore)
I följande cmdletar har parametern
Encodingändrats från typenFileSystemCmdletProviderEncodingtillSystem.Text.Encoding. Den här ändringen tar bort kodningsvärdenaStringochOem. Övriga tidigare kodningsvärden kvarstår.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Det inaktuella egenskapsaliaset
Tagshar tagits bort från cmdletarnaNew-AzDataLakeStoreAccountochSet-AzDataLakeStoreAccountSkript som använder
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Ska ändras till
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}De inaktuella egenskaperna
Identity,EncryptionState,EncryptionProvisioningState,EncryptionConfig,FirewallState,FirewallRules,VirtualNetworkRules,TrustedIdProviderState,TrustedIdProviders,DefaultGroup,NewTier,CurrentTier,FirewallAllowAzureIpshar tagits bort frånPSDataLakeStoreAccountBasic-objekt. Alla skript som använder denPSDatalakeStoreAccountsom returnerades frånGet-AzDataLakeStoreAccountska inte längre referera till dessa egenskaper.
Az.KeyVault (tidigare AzureRM.KeyVault)
- Egenskapen
PurgeDisabledhar tagits bort frånPSKeyVaultKeyAttributes-,PSKeyVaultKeyIdentityItem- ochPSKeyVaultSecretAttributes-objekt Skript ska inte längre referera till egenskapenPurgeDisabledför att fatta bearbetningsbeslut.
Az.Media (tidigare AzureRM.Media)
Tog bort inaktuellt egenskapsalias
Tagsfrån skript för cmdletenNew-AzMediaServicemed hjälp avNew-AzureRMMediaService -Tags @{TagName="TagValue"}Ska ändras till
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (tidigare AzureRM.Insights)
Tog bort pluralnamnet
Categoriesoch parameternTimegrainsoch ersatte med singularparameternamn från cmdlet-skript förSet-AzDiagnosticSettingmed hjälp avSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Ska ändras till
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (tidigare AzureRM.Network)
- Tog bort den inaktuella parametern
ResourceIdfrån cmdletenGet-AzServiceEndpointPolicyDefinition - Tog bort den inaktuella egenskapen
EnableVmProtectionfrån objektetPSVirtualNetwork - Tog bort den inaktuella cmdleten
Set-AzVirtualNetworkGatewayVpnClientConfig
Skript bör inte längre fatta bearbetningsbeslut baserat på värdena för dessa fält.
Az.OperationalInsights (tidigare AzureRM.OperationalInsights)
Standardparameteruppsättningen för
Get-AzOperationalInsightsDataSourcehar tagits bort ochByWorkspaceNameByKindär nu standardparameteruppsättningSkript som listar datakällor med hjälp av
Get-AzureRmOperationalInsightsDataSourceska ändras så att de anger en typ
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (tidigare AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup och AzureRM.RecoveryServices.SiteRecovery)
- Parametern
Encryptionhar tagits bort från cmdletenNew/Set-AzRecoveryServicesAsrPolicy - Parametern
TargetStorageAccountNameär nu obligatorisk för hanterade diskåterställningar i cmdletenRestore-AzRecoveryServicesBackupItem - Tog bort parametrarna
StorageAccountNameochStorageAccountResourceGroupNamei cmdletenRestore-AzRecoveryServicesBackupItem - Tog bort parametern
Namei cmdletenGet-AzRecoveryServicesBackupContainer
Az.Resources (tidigare AzureRM.Resources)
Parametern
Skuhar tagits bort från cmdletenNew/Set-AzPolicyAssignmentParametern
Passwordhar tagits bort från cmdletenNew-AzADServicePrincipalochNew-AzADSpCredentialLösenord genereras automatiskt och skript som tillhandahöll lösenordet:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPasswordBör ändras så att de hämtar lösenordet 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
ServiceTypeHealthPoliciesav typenApplicationHealthPolicyhar tagits bort. - Egenskapen
ApplicationHealthPoliciesav typenClusterUpgradeDeltaHealthPolicyhar tagits bort. - Egenskapen
OverrideUserUpgradePolicyav typenClusterUpgradePolicyhar tagits bort. - Ändringarna påverkar följande cmdletar:
- 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
- Egenskapen
Az.Sql (tidigare AzureRM.Sql)
- Tog bort parametrarna
StateochResourceIdfrån cmdletenSet-AzSqlDatabaseBackupLongTermRetentionPolicy - Följande inaktuella cmdletar har tagits bort:
Get/Set-AzSqlServerBackupLongTermRetentionVault,Get/Start/Stop-AzSqlServerUpgrade,Get/Set-AzSqlDatabaseAuditingPolicy,Get/Set-AzSqlServerAuditingPolicy,Remove-AzSqlDatabaseAuditing,Remove-AzSqlServerAuditing - Tog bort den inaktuella parametern
Currentfrån cmdletenGet-AzSqlDatabaseBackupLongTermRetentionPolicy - Tog bort den inaktuella parametern
DatabaseNamefrån cmdletenGet-AzSqlServerServiceObjective - Tog bort den inaktuella parametern
PrivilegedLoginfrån cmdletenSet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (tidigare Azure.Storage och AzureRM.Storage)
- Standardparameteruppsättningen har ändrats till
OAuthParameterSetför att det ska gå att skapa en Oauth-lagringskontext endast med namnet på lagringskontot- Exempel:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Exempel:
- Parametern
Locationhar blivit obligatorisk i cmdletenGet-AzStorageUsage - Storage-API-metoderna använder nu TAP (uppgiftsbaserat asynkront mönster) i stället för synkrona API-anrop. Följande exempel visar 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
Ångra borttagning av mjukborttagen 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 blobnivå
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)
- Inaktuella egenskaper har tagits bort från
PSAppServicePlan-,PSCertificate-,PSCloningInfo- ochPSSite-objekten