Störande ä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 skett icke-bakåtkompatibla ändringar mellan Az 1.0.0 och Az 2.0.0 också. När du har följt den här guiden för att uppdatera från AzureRM till Az, läs bryter förändringar i Az 2.0.0 för att se om du behöver göra fler ändringar.
Innehållsförteckning
- Allmänna icke-bakåtkompatibla ändringar
-
Modulens förändringar som bryter kompatibilitet
- 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 brytande ändringar
Det här avsnittet beskriver de allmänna icke-bakåtkompatibla ä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
Se referens för Enable-AzureRmAliasför fullständig information om användningen av alias-cmdletar.
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 som hade alias 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-uttalanden
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 i 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 förfrågan i webbläsaren
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.
Ändringar som bryter mot modulen
Det här avsnittet beskriver specifika brytande ä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 Skus baserat på kontotyp och plats, istället för att använda ResourceGroupName och Account Name.
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ån cmdlet förAdd-AzVMDataDisk
, du kan inte längre lägga till enskilda datadiskar till en virtuell ScaleSet-maskin.
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 inaktuellt egenskapsalias
Tags
från cmdletsNew-AzDataLakeStoreAccount
ochSet-AzDataLakeStoreAccount
.Skript som använder
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)
De plurala parametrarna
Categories
ochTimegrains
har tagits bort för att ersätta med singulara parameternamn i script för cmdletSet-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 - Den föråldrade
Set-AzVirtualNetworkGatewayVpnClientConfig
cmdlet 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
cmdletBorttagen parameter
Password
frånNew-AzADServicePrincipal
ochNew-AzADSpCredential
cmdlet. Lösenord genereras automatiskt och skript som angav lösenordet:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPassword
Bör ändras så att lösenordet kan hämtas 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