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
- Ändra modulbrytning
- 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 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.BackupAzureRM.Compute.ManagedServiceAzureRM.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
PortalHostnameConfigurationBorttagenProxyHostnameConfigurationoch av typen frånManagementHostnameConfigurationScmHostnameConfigurationPsApiManagementHostnameConfigurationPsApiManagementContext. Använd iställetPortalCustomHostnameConfiguration, och av typenProxyCustomHostnameConfigurationManagementCustomHostnameConfigurationScmCustomHostnameConfigurationPsApiManagementCustomHostNameConfiguration. - Egenskapen Removed
StaticIPsfrån PsApiManagementContext. Egenskapen är uppdelad iPublicIPAddressesochPrivateIPAddresses. - Egenskapen borttagen
Locationfrån New-AzureApiManagementVirtualNetwork cmdleten.
- Egenskapen
Az.Billing (tidigare AzureRM.Billing, AzureRM.Consumption och AzureRM.UsageAggregates)
InvoiceNameParametern togs bort frånGet-AzConsumptionUsageDetailcmdleten. Skript måste använda andra identitetsparametrar för fakturan.
Az.CognitiveServices (tidigare AzureRM.CognitiveServices)
GetSkusWithAccountParamSetNameParameteruppsättningen borttagenGet-AzCognitiveServicesAccountSkusfrå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)
IdentityIdstas bort frånIdentityegenskap i och objekt Skript bör inte längre använda värdet i det här fältet för att fattaPSVirtualMachinePSVirtualMachineScaleSetbearbetningsbeslut.- Objekttypen
InstanceViewändrasPSVirtualMachineScaleSetVMfrånVirtualMachineInstanceViewtillVirtualMachineScaleSetVMInstanceView AutoOSUpgradePolicyochAutomaticOSUpgradeegenskaper tas bort frånUpgradePolicyegenskap- Typen av
Skuegenskap i objekt ändras frånPSSnapshotUpdateDiskSkutillSnapshotSku VmScaleSetVMParameterSettas bort frånAdd-AzVMDataDiskcmdlet 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 iNew-AzDataFactoryEncryptValuecmdletenNew-AzDataFactoryGatewayKeyCmdlet borttagen- Parametern
LinkedServiceNametas bortGet-AzDataFactoryV2ActivityRunfrå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-AzDataLakeAnalyticsCatalogSecretochSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (tidigare AzureRM.DataLakeStore)
I följande cmdlets har
Encodingparametern ändrats från typFileSystemCmdletProviderEncodingtillSystem.Text.Encoding. Den här ändringen tar bort kodningsvärdenaStringochOem. Alla övriga tidigare kodningsvärden finns kvar.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Borttagna
Tagsegenskapsalias frånNew-AzDataLakeStoreAccountochSet-AzDataLakeStoreAccountcmdletsSkript som används
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Bör ändras till
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Borttagna egenskaper ,
Identity, , , , , , , , ,EncryptionState,EncryptionProvisioningState, ,EncryptionConfigfrånFirewallStateFirewallRulesVirtualNetworkRulesTrustedIdProviderStateTrustedIdProvidersDefaultGroupNewTierCurrentTierFirewallAllowAzureIpsPSDataLakeStoreAccountBasicobjekt. Skript som använder detPSDatalakeStoreAccountreturnerade skriptet börGet-AzDataLakeStoreAccountinte referera till dessa egenskaper.
Az.KeyVault (tidigare AzureRM.KeyVault)
- Egenskapen
PurgeDisabledtogs bort från , ochPSKeyVaultKeyAttributesPSKeyVaultKeyIdentityItemPSKeyVaultSecretAttributesobjektskript bör inte längre referera egenskapen tillPurgeDisabledatt fatta bearbetningsbeslut.
Az.Media (tidigare AzureRM.Media)
Ta bort inaktuella
TagsegenskapsaliasNew-AzMediaServicefrån cmdlet-skript medNew-AzureRMMediaService -Tags @{TagName="TagValue"}Bör ändras till
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (tidigare AzureRM.Insights)
Tog bort pluralnamn
Categoriesoch parameter till och medTimegrainssingular-parameternamn frånSet-AzDiagnosticSettingcmdlet-skript medSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Bör ändras till
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (tidigare AzureRM.Network)
- Borttagen parameter från
ResourceIdGet-AzServiceEndpointPolicyDefinitioncmdlet - Borttagen egenskap från
EnableVmProtectionPSVirtualNetworkett objekt - Borttagen
Set-AzVirtualNetworkGatewayVpnClientConfigcmdlet
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-AzOperationalInsightsDataSourceför tas bort och har blivitByWorkspaceNameByKindstandardparameteruppsättningenSkript som listade datakällor med hjälp av
Get-AzureRmOperationalInsightsDataSourceBör ändras så att en typ anges
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (tidigare AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup och AzureRM.RecoveryServices.SiteRecovery)
- Parameter
EncryptionborttagenNew/Set-AzRecoveryServicesAsrPolicyfrån cmdlet TargetStorageAccountNameparametern är nu obligatorisk för hanterade diskåterställningar iRestore-AzRecoveryServicesBackupItemcmdlet- Borttagna
StorageAccountNameStorageAccountResourceGroupNameoch parametrar iRestore-AzRecoveryServicesBackupItemcmdlet - Parameter
NameborttagenGet-AzRecoveryServicesBackupContaineri cmdlet
Az.Resources (tidigare AzureRM.Resources)
Parameter
SkuborttagenNew/Set-AzPolicyAssignmentfrån cmdletBorttagna
Passwordparameter frånNew-AzADServicePrincipalochNew-AzADSpCredentialcmdlet-lösenord genereras automatiskt, skript som gav lösenordet:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPasswordBö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
ServiceTypeHealthPoliciesför typenApplicationHealthPolicyhar tagits bort. - Egenskapen
ApplicationHealthPoliciesför typenClusterUpgradeDeltaHealthPolicyhar tagits bort. - Egenskapen
OverrideUserUpgradePolicyför typenClusterUpgradePolicyhar 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
- Egenskapen
Az.Sql (tidigare AzureRM.Sql)
- Borttagen
StateResourceIdoch parametrar frånSet-AzSqlDatabaseBackupLongTermRetentionPolicycmdlet - Inaktuella cmdlets:
Get/Set-AzSqlServerBackupLongTermRetentionVault, , , ,Get/Start/Stop-AzSqlServerUpgradeGet/Set-AzSqlDatabaseAuditingPolicyGet/Set-AzSqlServerAuditingPolicyRemove-AzSqlDatabaseAuditing,Remove-AzSqlServerAuditing - Borttagen parameter från
CurrentGet-AzSqlDatabaseBackupLongTermRetentionPolicycmdlet - Borttagen parameter från
DatabaseNameGet-AzSqlServerServiceObjectivecmdlet - Borttagen parameter från
PrivilegedLoginSet-AzSqlDatabaseDataMaskingPolicycmdlet
Az.Storage (tidigare Azure.Storage och AzureRM. Storage)
- Standardparameteruppsättningen har ändrats till
OAuthParameterSet- Exempel:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Exempel:
LocationParametern är obligatorisk iGet-AzStorageUsagecmdleten- 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 ,
PSAppServicePlanPSCertificate, ochPSCloningInfoPSSiteobjekt