Icke-bakåtkompatibla ändringar för 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.
Viktig
Det har också skett icke-bakåtkompatibla ändringar mellan Az 1.0.0 och Az 2.0.0. När du har följt den här guiden för uppdatering från AzureRM till Az, se Az 2.0.0-kritiska ändringar för att ta reda på om du behöver göra ytterligare ändringar.
Innehållsförteckning
- Allmänna ändringar som inte är bakåtkompatibla
-
Modulens kompatibilitetsbrytande ä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 ändringar som bryter kompatibilitet
Det här avsnittet detaljerar de allmänna brytande förändringar som ingår i omdesignen av Az-modulen.
Cmdlet-substantivprefixändringar
I AzureRM-modulen använde cmdletar antingen AzureRM
eller Azure
som substantivprefix. Az förenklar och normaliserar cmdlet-namn, så att alla cmdletar använder "Az" som sitt cmdlet-substantivprefix. Till exempel:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Har ändrats till:
Get-AzVM
Get-AzKeyVaultSecret
För att göra övergången till dessa nya cmdlet-namn enklare introducerar Az två nya cmdletar, Enable-AzureRmAlias och Disable-AzureRmAlias.
Enable-AzureRmAlias
skapar alias för de äldre cmdlet-namnen i AzureRM som mappas till de nyare Az-cmdlet-namnen. Med argumentet -Scope
med Enable-AzureRmAlias
kan du välja var alias ska aktiveras.
Till exempel följande skript i AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Kan köras med minimala ändringar med hjälp av Enable-AzureRmAlias
:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Om du kör Enable-AzureRmAlias -Scope CurrentUser
aktiveras aliasen för alla PowerShell-sessioner som du öppnar, så att ett skript som detta inte behöver ändras alls när du har kört den här cmdleten:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Fullständig information om användningen av cmdlet-aliaser finns i Enable-AzureRmAlias i referensen.
När du är redo att inaktivera alias tar Disable-AzureRmAlias
bort de skapade aliasen. Fullständig information finns i referensen för Disable-AzureRmAlias.
Viktig
När du inaktiverar alias kontrollerar du att de är inaktiverade för alla omfång där alias tidigare var aktiverade.
Ä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.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 modulnamnen innebär att alla skript som använder #Requires
eller Import-Module
för att läsa in specifika moduler måste ändras för att använda den nya modulen i stället. För moduler där cmdlet-suffixet inte har ändrats innebär det att även om modulnamnet har ändrats har suffixet som anger åtgärdsutrymmet inte.
Migrera #Requires- och Import-Module-instruktioner
Skript som använder #Requires
eller Import-Module
för att deklarera ett beroende av 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
För Import-Module
:
Import-Module -Name AzureRM.Compute
Bör ändras till:
Import-Module -Name Az.Compute
Migrering av Fully-Qualified cmdlet-anrop
Skript som använder modulkvalificerade cmdlet-anrop, till exempel:
AzureRM.Compute\Get-AzureRmVM
Måste ändras för att använda de nya modul- och cmdlet-namnen:
Az.Compute\Get-AzVM
Migrera beroenden för modulmanifest
Moduler som uttrycker beroenden i AzureRM-moduler via en modulmanifestfil (.psd1) måste uppdatera modulnamnen i avsnittet RequiredModules
:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Måste ändras till:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Moduler har tagits bort
Följande moduler har tagits bort:
AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler
Verktygen för dessa tjänster stöds inte längre aktivt. Kunder uppmuntras att övergå till alternativa tjänster så snart det är bekvämt.
Windows PowerShell 5.1 och .NET 4.7.2
Användning av Az med PowerShell 5.1 för Windows kräver installation av .NET Framework 4.7.2. Att använda PowerShell Core 6.x eller senare kräver 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 via PSCredential. Den här funktionen kommer att introduceras igen i versionen 1/15/2019 för PowerShell 5.1 för Windows. Detta beskrivs i detalj i det här GitHub-problemet.
Standardinloggning med enhetskod i stället för att använda webbläsare
På grund av ändringar i autentiseringsflödet för .NET Standard använder vi enhetsinloggning som standardinloggningsflöde under interaktiv inloggning. Webbläsarbaserad inloggning introduceras på nytt för PowerShell 5.1 för Windows som standard i utgåva 1/15/2019. Då kan användarna välja enhetsinloggning med hjälp av en Switch-parameter.
Modulbrytande förändringar
Det här avsnittet beskriver specifika icke-bakåtkompatibla ändringar för enskilda moduler och cmdletar.
Az.ApiManagement (tidigare AzureRM.ApiManagement)
- Följande cmdletar har tagits bort:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Använd Set-AzApiManagement cmdlet för att ange dessa egenskaper i stället
- Följande egenskaper har tagits bort:
- Egenskapen
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
ochScmHostnameConfiguration
av typenPsApiManagementHostnameConfiguration
har tagits bort frånPsApiManagementContext
. Använd i ställetPortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
ochScmCustomHostnameConfiguration
av typenPsApiManagementCustomHostNameConfiguration
. - Egenskapen
StaticIPs
har tagits bort från PsApiManagementContext. Egenskapen har delats upp iPublicIPAddresses
ochPrivateIPAddresses
. - Den obligatoriska egenskapen
Location
har tagits bort från cmdleten New-AzureApiManagementVirtualNetwork.
- Egenskapen
Az.Billing (tidigare AzureRM.Billing, AzureRM.Consumption och AzureRM.UsageAggregates)
- Parametern
InvoiceName
har tagits bort från cmdletenGet-AzConsumptionUsageDetail
. Skript måste använda andra identitetsparametrar för fakturan.
Az.CognitiveServices (tidigare AzureRM.CognitiveServices)
- Tog bort
GetSkusWithAccountParamSetName
parameteruppsättning frånGet-AzCognitiveServicesAccountSkus
cmdlet. Du måste hämta SKU:er baserat på kontotyp och plats istället för att använda ResourceGroupName och kontonamn.
Az.Compute (tidigare AzureRM.Compute)
-
IdentityIds
tas bort från egenskapenIdentity
iPSVirtualMachine
ochPSVirtualMachineScaleSet
objekt Skript bör inte längre använda värdet för det här fältet för att fatta bearbetningsbeslut. - Typen av
InstanceView
egenskap förPSVirtualMachineScaleSetVM
objekt ändras frånVirtualMachineInstanceView
tillVirtualMachineScaleSetVMInstanceView
- egenskaper för
AutoOSUpgradePolicy
ochAutomaticOSUpgrade
tas bort från egenskapenUpgradePolicy
- Typen av
Sku
egenskap iPSSnapshotUpdate
objekt ändras frånDiskSku
tillSnapshotSku
-
VmScaleSetVMParameterSet
tas bort frånAdd-AzVMDataDisk
-cmdleten, därför kan du inte längre lägga till en datadisk individuellt till en ScaleSet-VM.
Az.DataFactory (tidigare AzureRM.DataFactories och AzureRM.DataFactoryV2)
- Parametern
GatewayName
har blivit obligatorisk i cmdletenNew-AzDataFactoryEncryptValue
- Tog bort
New-AzDataFactoryGatewayKey
cmdlet - Borttagen
LinkedServiceName
parameter frånGet-AzDataFactoryV2ActivityRun
cmdlet-skript bör inte längre använda värdet för det här fältet för att fatta bearbetningsbeslut.
Az.DataLakeAnalytics (tidigare AzureRM.DataLakeAnalytics)
- Inaktuella cmdletar har tagits bort:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
ochSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (tidigare AzureRM.DataLakeStore)
Följande cmdletar har ändrat parametern
Encoding
från typenFileSystemCmdletProviderEncoding
tillSystem.Text.Encoding
. Den här ändringen tar bort kodningsvärdenaString
ochOem
. Alla andra tidigare kodningsvärden finns kvar.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Tog bort föråldrat
Tags
-egenskapsalias frånNew-AzDataLakeStoreAccount
- ochSet-AzDataLakeStoreAccount
-cmdlets.Skript som använder sig av
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Bör ändras till
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Borttagna egenskaper
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
frånPSDataLakeStoreAccountBasic
objekt. Skript som använderPSDatalakeStoreAccount
som returneras frånGet-AzDataLakeStoreAccount
bör inte referera till dessa egenskaper.
Az.KeyVault (tidigare AzureRM.KeyVault)
- Egenskapen
PurgeDisabled
har tagits bort frånPSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
ochPSKeyVaultSecretAttributes
-objekt Skript bör inte längre referera till egenskapenPurgeDisabled
för att fatta bearbetningsbeslut.
Az.Media (tidigare AzureRM.Media)
Ta bort inaktuellt
Tags
egenskapsalias frånNew-AzMediaService
cmdlet-skript med hjälp avNew-AzureRMMediaService -Tags @{TagName="TagValue"}
Bör ändras till
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (tidigare AzureRM.Insights)
Pluralnamnen
Categories
ochTimegrains
har tagits bort för att använda singularparameternamn från cmdlet-skriptetSet-AzDiagnosticSetting
.Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Bör ändras till
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (tidigare AzureRM.Network)
- Tog bort inaktuell
ResourceId
parameter frånGet-AzServiceEndpointPolicyDefinition
cmdlet - Den inaktuella egenskapen
EnableVmProtection
har tagits bort frånPSVirtualNetwork
objekt - Föråldrad cmdlet
Set-AzVirtualNetworkGatewayVpnClientConfig
har tagits bort.
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-AzOperationalInsightsDataSource
tas bort ochByWorkspaceNameByKind
har blivit standardparameteruppsättningenSkript som listade datakällor med hjälp av
Get-AzureRmOperationalInsightsDataSource
Bör ändras för att ange en typ
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (tidigare AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup och AzureRM.RecoveryServices.SiteRecovery)
- Tog bort
Encryption
parameter frånNew/Set-AzRecoveryServicesAsrPolicy
cmdlet -
TargetStorageAccountName
parametern är nu obligatorisk för återställning av hanterade diskar iRestore-AzRecoveryServicesBackupItem
cmdlet - Parametrarna
StorageAccountName
ochStorageAccountResourceGroupName
har tagits bort iRestore-AzRecoveryServicesBackupItem
cmdlet - Tog bort
Name
parameter iGet-AzRecoveryServicesBackupContainer
cmdlet
Az.Resources (tidigare AzureRM.Resources)
Tog bort
Sku
parameter frånNew/Set-AzPolicyAssignment
cmdletDen borttagna
Password
-parametern frånNew-AzADServicePrincipal
- ochNew-AzADSpCredential
-cmdlet. Lösenord genereras automatiskt; skript som angav lösenordet:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPassword
Bör ändras för att hämta lösenordet från utdata:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $secPassword = $credential.Secret
Az.ServiceFabric (tidigare AzureRM.ServiceFabric)
- Följande cmdlet-returtyper har ändrats:
- Egenskapen
ServiceTypeHealthPolicies
av typenApplicationHealthPolicy
har tagits bort. - Egenskapen
ApplicationHealthPolicies
av typenClusterUpgradeDeltaHealthPolicy
har tagits bort. - Egenskapen
OverrideUserUpgradePolicy
av typenClusterUpgradePolicy
har tagits bort. - Dessa ändringar 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)
- Parametrarna
State
ochResourceId
har tagits bort frånSet-AzSqlDatabaseBackupLongTermRetentionPolicy
cmdlet - Inaktuella cmdletar har tagits bort:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
- Den inaktuella parametern
Current
har tagits bort från cmdletenGet-AzSqlDatabaseBackupLongTermRetentionPolicy
- Den inaktuella parametern
DatabaseName
har tagits bort från cmdletenGet-AzSqlServerServiceObjective
- Den inaktuella parametern
PrivilegedLogin
har tagits bort från cmdletenSet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (tidigare Azure.Storage och AzureRM.Storage)
- Om du vill ha stöd för att skapa en Oauth-lagringskontext med endast lagringskontonamnet har standardparameteruppsättningen ändrats till
OAuthParameterSet
- Exempel:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Exempel:
- Parametern
Location
har blivit obligatorisk i cmdletenGet-AzStorageUsage
- Lagrings-API-metoderna använder nu det aktivitetsbaserade Asynkrona mönstret (TAP) 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
Ta bort mjuk borttagen 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 objekten
PSAppServicePlan
,PSCertificate
,PSCloningInfo
ochPSSite
Azure PowerShell