Wijzigingen die fouten veroorzaken voor Az 1.0.0
Dit document geeft gedetailleerde informatie over de wijzigingen tussen AzureRM 6.x en de nieuwe Az-module, versie 1.x en hoger. De inhoudsopgave helpt u bij het doorlopen van een volledig migratiepad, inclusief module-specifieke wijzigingen die van invloed kunnen zijn op uw scripts.
Voor algemeen advies om aan te de slag te gaan met een migratie van AzureRM naar Az, zie Migratie van AzureRM naar Az starten.
Belangrijk
Ook tussen Az 1.0.0 en Az 2.0.0 zijn er belangrijke wijzigingen doorgevoerd. Na het volgen van deze handleiding voor het bijwerken van AzureRM naar Az, kunt u de Belangrijke wijzigingen in Az 2.0.0 raadplegen om te weten te komen of u extra wijzigingen moet aanbrengen.
Inhoudsopgave
- Algemene belangrijke wijzigingen
- Belangrijke modulewijzigingen
- Az.ApiManagement (eerder AzureRM.ApiManagement)
- Az.Billing (eerder AzureRM.Billing, AzureRM.Consumption en AzureRM.UsageAggregates)
- Az.CognitiveServices (eerder AzureRM.CognitiveServices)
- Az.Compute (eerder AzureRM.Compute)
- Az.DataFactory (eerder AzureRM.DataFactories en AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (eerder AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (eerder AzureRM.DataLakeStore)
- Az.KeyVault (eerder AzureRM.KeyVault)
- Az.Media (eerder AzureRM.Media)
- Az.Monitor (eerder AzureRM.Insights)
- Az.Network (eerder AzureRM.Network)
- Az.OperationalInsights (eerder AzureRM.OperationalInsights)
- Az.RecoveryServices (eerder AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup en AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (eerder AzureRM.Resources)
- Az.ServiceFabric (eerder AzureRM.ServiceFabric)
- Az.Sql (eerder AzureRM.Sql)
- Az.Storage (eerder Azure.Storage en AzureRM.Storage)
- Az.Websites (eerder AzureRM.Websites)
Algemene belangrijke wijzigingen
In deze sectie wordt nader ingegaan op de algemene belangrijke wijzigingen die deel uitmaken van het herontwerp van de Az-module.
Voorvoegselwijzigingen van cmdlets
In de AzureRM-module gebruikten cmdlets AzureRM of Azure als voorvoegsel. Az vereenvoudigt en normaliseert cmdlets-namen, zodat alle cmdlets 'Az' gebruiken als voorvoegsel. Bijvoorbeeld:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Is gewijzigd in:
Get-AzVM
Get-AzKeyVaultSecret
Om de overgang naar deze nieuwe cmdlet-namen eenvoudiger te maken, introduceert Az twee nieuwe cmdlets: Enable-AzureRmAlias en Disable-AzureRmAlias. Enable-AzureRmAlias maakt aliassen voor de oude cmdlets-namen in AzureRM die worden toegewezen aan de nieuwe namen van Az-cmdlets. Met behulp van argument -Scope met Enable-AzureRmAlias kunt u kiezen waar aliassen worden ingeschakeld.
Neem bijvoorbeeld het volgende script in AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Kan met minimale wijzigingen worden uitgevoerd met behulp van Enable-AzureRmAlias:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Als u Enable-AzureRmAlias -Scope CurrentUser uitvoert, worden de aliassen ingeschakeld voor alle PowerShell-sessies die u opent, zodat een dergelijk script na uitvoering van deze cmdlet helemaal niet meer hoeft te worden gewijzigd:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Voor volledige details over het gebruik van de alias-cmdlets, zie de Enable-AzureRmAlias-referentie.
Wanneer u klaar bent om aliassen uit te schakelen, verwijdert Disable-AzureRmAlias de gemaakte aliassen. Voor volledige details, zie de Disable-AzureRmAlias-referentie.
Belangrijk
Wanneer u aliassen uitschakelt, zorg er dan voor dat ze uitgeschakeld zijn voor alle bereiken waarvoor aliassen waren ingeschakeld.
Wijzigingen in de modulenaam
De modulenamen zijn gewijzigd van AzureRM.* in Az.*, behalve voor de volgende modules:
| AzureRM-module | Az-module |
|---|---|
| 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 |
De wijzigingen in de modulenamen betekenen dat elk script dat #Requires of Import-Module gebruikt om specifieke modules te laden, zodanig moet worden gewijzigd dat de nieuwe modulenaam wordt gebruikt. Voor modules waarbij het cmdlet-achtervoegsel niet is gewijzigd, betekent dit dat de naam van de module weliswaar is gewijzigd, maar het achtervoegsel dat de werkruimte aangeeft, juist niet.
Instructies voor migratie van #Requires en Import-module
Scripts waarin #Requires of Import-Module wordt gebruikt om een afhankelijkheid van AzureRM-modules te declareren, moeten worden bijgewerkt om de nieuwe modulenamen te gebruiken. Bijvoorbeeld:
#Requires -Module AzureRM.Compute
Moet worden gewijzigd in:
#Requires -Module Az.Compute
Voor Import-Module:
Import-Module -Name AzureRM.Compute
Moet worden gewijzigd in:
Import-Module -Name Az.Compute
Volledig gekwalificeerde cmdlet-aanroepen migreren
Scripts die gebruikmaken van volledig gekwalificeerde cmdlet-aanroepen, zoals:
AzureRM.Compute\Get-AzureRmVM
Moeten zodanig worden gewijzigd dat de nieuwe module- en cmdlet-namen worden gebruikt:
Az.Compute\Get-AzVM
Afhankelijkheden van modulemanifesten migreren
In modules waarin afhankelijkheden van AzureRM-modules worden uitgedrukt via een modulemanifestbestand (.psd1), moeten de modulenamen worden bijgewerkt in de sectie RequiredModules:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Moet worden gewijzigd in:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Verwijderde modules
De volgende modules zijn verwijderd:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
De hulpprogramma's voor deze services worden niet langer actief ondersteund. Klanten worden aangeraden om alternatieve services te verplaatsen wanneer dit uitkomt.
Windows PowerShell 5.1 en .NET 4.7.2
Als u Az met PowerShell 5.1 voor Windows gebruikt, is de installatie van .NET Framework 4.7.2 vereist. Het gebruik van PowerShell Core 6.x of hoger vereist geen .NET Framework.
Gebruikersaanmelding met PSCredential tijdelijk verwijderd
Door wijzigingen in de verificatiestroom voor .NET Standard, verwijderen we tijdelijk gebruikersaanmelding met PSCredential. Deze mogelijkheid wordt opnieuw geïntroduceerd in de versie van 15-01-2019 voor PowerShell 5.1 voor Windows. Dit wordt uitgebreid besproken in dit GitHub-probleem.
Standaardaanmelding met apparaatcode in plaats van webbrowserprompt
Vanwege wijzigingen in de verificatiestroom voor .NET Standard, gebruiken we apparaataanmelding als de standaardaanmeldmethode tijdens interactieve aanmeldingen. Aanmelding op basis van de webbrowser wordt opnieuw geïntroduceerd als standaardmethode voor PowerShell 5.1 voor Windows in de versie van 15-01-2019. Gebruikers kunnen dan kiezen voor apparaataanmelding met een Switch-parameter.
Belangrijke modulewijzigingen
In deze sectie worden specifieke belangrijke wijzigingen voor individuele modules en cmdlets beschreven.
Az.ApiManagement (eerder AzureRM.ApiManagement)
- De volgende cmdlets zijn verwijderd:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Gebruik in plaats daarvan de cmdlet Set-AzApiManagement om deze eigenschappen in te stellen
- De volgende eigenschappen zijn verwijderd:
- De eigenschappen
PortalHostnameConfiguration,ProxyHostnameConfiguration,ManagementHostnameConfigurationenScmHostnameConfigurationvan typePsApiManagementHostnameConfigurationvanPsApiManagementContextzijn verwijderd. Gebruik in plaats daarvanPortalCustomHostnameConfiguration,ProxyCustomHostnameConfiguration.ManagementCustomHostnameConfigurationenScmCustomHostnameConfigurationvan typePsApiManagementCustomHostNameConfiguration. - Eigenschap
StaticIPsis verwijderd uit PsApiManagementContext. De eigenschap is gesplitst inPublicIPAddressesenPrivateIPAddresses. - De vereiste eigenschap
Locationis verwijderd uit de cmdlet New-AzureApiManagementVirtualNetwork.
- De eigenschappen
Az.Billing (eerder AzureRM.Billing, AzureRM.Consumption en AzureRM.UsageAggregates)
- De parameter
InvoiceNameis verwijderd uit de cmdletGet-AzConsumptionUsageDetail. Scripts moeten andere identiteitsparameters voor aanroepen gebruiken.
Az.CognitiveServices (eerder AzureRM.CognitiveServices)
- Parameterset
GetSkusWithAccountParamSetNameis verwijderd uit cmdletGet-AzCognitiveServicesAccountSkus. U moet per accounttype en locatie SKU's ophalen, in plaats van resourcegroepnaam en accountnaam.
Az.Compute (eerder AzureRM.Compute)
IdentityIdswordt verwijderd uit de eigenschapIdentityin de objectenPSVirtualMachineenPSVirtualMachineScaleSet. Scripts zouden de waarde van dit veld niet langer moeten gebruiken voor verwerkingsbesluiten.- Het type van eigenschap
InstanceViewvan objectPSVirtualMachineScaleSetVMis gewijzigd vanVirtualMachineInstanceViewinVirtualMachineScaleSetVMInstanceView - De eigenschappen
AutoOSUpgradePolicyenAutomaticOSUpgradezijn verwijderd uit de eigenschapUpgradePolicy - Het type van de eigenschap
Skuin objectPSSnapshotUpdateis gewijzigd vanDiskSkuinSnapshotSku VmScaleSetVMParameterSetis verwijderd uit de cmdletAdd-AzVMDataDisk, u kunt een dataschijf niet langer afzonderlijk toevoegen aan een schaalset-VM.
Az.DataFactory (eerder AzureRM.DataFactories en AzureRM.DataFactoryV2)
- De parameter
GatewayNameis verplicht geworden in de cmdletNew-AzDataFactoryEncryptValue - De cmdlet
New-AzDataFactoryGatewayKeyis verwijderd - De parameter
LinkedServiceNameis verwijderd uit de cmdletGet-AzDataFactoryV2ActivityRun. Scripts zouden niet langer gebruik moeten maken van de waarde van dit veld voor verwerkingsbesluiten.
Az.DataLakeAnalytics (eerder AzureRM.DataLakeAnalytics)
- De afgeschafte cmdlets
New-AzDataLakeAnalyticsCatalogSecret,Remove-AzDataLakeAnalyticsCatalogSecretenSet-AzDataLakeAnalyticsCatalogSecretzijn verwijderd
Az.DataLakeStore (eerder AzureRM.DataLakeStore)
Van de volgende cmdlets is de parameter
Encodinggewijzigd van typeFileSystemCmdletProviderEncodinginSystem.Text.Encoding. Door deze wijziging worden de versleutelingswaardenStringenOemverwijderd. Alle andere eerdere versleutelingswaarden blijven bestaan.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
De afgeschafte eigenschapsalias
Tagsis verwijderd uit de cmdletsNew-AzDataLakeStoreAccountenSet-AzDataLakeStoreAccountScripts die gebruikmaken van
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Moeten worden gewijzigd in
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}De afgeschafte eigenschappen
Identity,EncryptionState,EncryptionProvisioningState,EncryptionConfig,FirewallState,FirewallRules,VirtualNetworkRules,TrustedIdProviderState,TrustedIdProviders,DefaultGroup,NewTier,CurrentTierenFirewallAllowAzureIpszijn verwijderd uit het objectPSDataLakeStoreAccountBasic. Elk script dat gebruikmaakt van de uitGet-AzDataLakeStoreAccountgeretourneerdePSDatalakeStoreAccount, mag niet verwijzen naar deze eigenschappen.
Az.KeyVault (eerder AzureRM.KeyVault)
- De eigenschap
PurgeDisabledis verwijderd uit de objectenPSKeyVaultKeyAttributes,PSKeyVaultKeyIdentityItemenPSKeyVaultSecretAttributes. Scripts moeten niet langer verwijzen naar de eigenschapPurgeDisabledvoor verwerkingsbesluiten.
Az.Media (eerder AzureRM.Media)
De afgeschafte eigenschapsalias
Tagsis verwijderd uit de cmdletNew-AzMediaService. Scripts die gebruikmaken vanNew-AzureRMMediaService -Tags @{TagName="TagValue"}Moeten worden gewijzigd in
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (eerder AzureRM.Insights)
De meervoudsnamen
Categoriesen parameterTimegrainszijn verwijderd ten behoeve van enkelvoudige parameternamen uit de cmdletSet-AzDiagnosticSetting. Scripts die gebruikmaken vanSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Moeten worden gewijzigd in
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (eerder AzureRM.Network)
- De afgeschafte parameter
ResourceIdis verwijderd uit de cmdletGet-AzServiceEndpointPolicyDefinition - De afgeschafte eigenschap
EnableVmProtectionis verwijderd uit het objectPSVirtualNetwork - De afgeschafte cmdlet
Set-AzVirtualNetworkGatewayVpnClientConfigis verwijderd
Scripts zouden niet langer verwerkingsbesluiten moeten maken op basis van de waarden in deze velden.
Az.OperationalInsights (eerder AzureRM.OperationalInsights)
De standaardparameterset voor
Get-AzOperationalInsightsDataSourceis verwijderd enByWorkspaceNameByKindis de standaardparameterset gewordenScripts die gegevensbronnen vermelden die gebruikmaken van
Get-AzureRmOperationalInsightsDataSourceMoeten worden gewijzigd om een Soort op te geven
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (eerder AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup en AzureRM.RecoveryServices.SiteRecovery)
- De parameter
Encryptionis verwijderd uit cmdletNew/Set-AzRecoveryServicesAsrPolicy - De parameter
TargetStorageAccountNameis nu verplicht voor herstelde beheerde schijven in de cmdletRestore-AzRecoveryServicesBackupItem - De parameters
StorageAccountNameenStorageAccountResourceGroupNamein de cmdletRestore-AzRecoveryServicesBackupItemzijn verwijderd - De parameter
Namein de cmdletGet-AzRecoveryServicesBackupContaineris verwijderd
Az.Resources (eerder AzureRM.Resources)
De parameter
Skuis verwijderd uit cmdletNew/Set-AzPolicyAssignmentDe parameter
Passwordis verwijderd uit de cmdletNew-AzADServicePrincipalenNew-AzADSpCredential. Wachtwoorden worden automatisch gegeneerd, scripts die het wachtwoord opgeven:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPasswordMoet worden gewijzigd om het wachtwoord uit de uitvoer op te halen:
$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 $secPassword = $credential.Secret
Az.ServiceFabric (eerder AzureRM.ServiceFabric)
- De volgende retourtypes van cmdlets zijn gewijzigd:
- De eigenschap
ServiceTypeHealthPoliciesvan het typeApplicationHealthPolicyis verwijderd. - De eigenschap
ApplicationHealthPoliciesvan het typeClusterUpgradeDeltaHealthPolicyis verwijderd. - De eigenschap
OverrideUserUpgradePolicyvan het typeClusterUpgradePolicyis verwijderd. - Deze wijzigingen zijn van invloed op de volgende 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
- De eigenschap
Az.Sql (eerder AzureRM.Sql)
- De parameters
StateenResourceIdzijn verwijderd uit de cmdletSet-AzSqlDatabaseBackupLongTermRetentionPolicy - De afgeschafte cmdlets
Get/Set-AzSqlServerBackupLongTermRetentionVault,Get/Start/Stop-AzSqlServerUpgrade,Get/Set-AzSqlDatabaseAuditingPolicy,Get/Set-AzSqlServerAuditingPolicy,Remove-AzSqlDatabaseAuditingenRemove-AzSqlServerAuditingzijn verwijderd - De afgeschafte parameter
Currentis verwijderd uit de cmdletGet-AzSqlDatabaseBackupLongTermRetentionPolicy - De afgeschafte parameter
DatabaseNameis verwijderd uit de cmdletGet-AzSqlServerServiceObjective - De afgeschafte parameter
PrivilegedLoginis verwijderd uit de cmdletSet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (eerder Azure.Storage en AzureRM.Storage)
- Ter ondersteuning van het maken van een Oauth-opslagcontext met alleen de naam van het opslagaccount, is de standaardparameterset gewijzigd in
OAuthParameterSet- Voorbeeld:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Voorbeeld:
- De parameter
Locationis verplicht geworden in de cmdletGet-AzStorageUsage - De opslag-API-methoden gebruiken het Task-based Asynchronous Pattern (TAP), in plaats van synchrone API-aanroepen. De volgende voorbeelden tonen de nieuwe asynchrone opdrachten:
Momentopname van blob
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
Momentopname delen
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
Voorlopige verwijdering van blob ongedaan maken
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()
Blob-laag instellen
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 (eerder AzureRM.Websites)
- De afgeschafte eigenschappen zijn verwijderd uit de objecten
PSAppServicePlan,PSCertificate,PSCloningInfoenPSSite