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. Voorbeeld:
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. Voorbeeld:
#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.Backup
AzureRM.Compute.ManagedService
AzureRM.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
,ManagementHostnameConfiguration
enScmHostnameConfiguration
van typePsApiManagementHostnameConfiguration
vanPsApiManagementContext
zijn verwijderd. Gebruik in plaats daarvanPortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
.ManagementCustomHostnameConfiguration
enScmCustomHostnameConfiguration
van typePsApiManagementCustomHostNameConfiguration
. - Eigenschap
StaticIPs
is verwijderd uit PsApiManagementContext. De eigenschap is gesplitst inPublicIPAddresses
enPrivateIPAddresses
. - De vereiste eigenschap
Location
is verwijderd uit de cmdlet New-AzureApiManagementVirtualNetwork.
- De eigenschappen
Az.Billing (eerder AzureRM.Billing, AzureRM.Consumption en AzureRM.UsageAggregates)
- De parameter
InvoiceName
is verwijderd uit de cmdletGet-AzConsumptionUsageDetail
. Scripts moeten andere identiteitsparameters voor aanroepen gebruiken.
Az.CognitiveServices (eerder AzureRM.CognitiveServices)
- Parameterset
GetSkusWithAccountParamSetName
is verwijderd uit cmdletGet-AzCognitiveServicesAccountSkus
. U moet per accounttype en locatie SKU's ophalen, in plaats van resourcegroepnaam en accountnaam.
Az.Compute (eerder AzureRM.Compute)
IdentityIds
wordt verwijderd uit de eigenschapIdentity
in de objectenPSVirtualMachine
enPSVirtualMachineScaleSet
. Scripts zouden de waarde van dit veld niet langer moeten gebruiken voor verwerkingsbesluiten.- Het type van eigenschap
InstanceView
van objectPSVirtualMachineScaleSetVM
is gewijzigd vanVirtualMachineInstanceView
inVirtualMachineScaleSetVMInstanceView
- De eigenschappen
AutoOSUpgradePolicy
enAutomaticOSUpgrade
zijn verwijderd uit de eigenschapUpgradePolicy
- Het type van de eigenschap
Sku
in objectPSSnapshotUpdate
is gewijzigd vanDiskSku
inSnapshotSku
VmScaleSetVMParameterSet
is 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
GatewayName
is verplicht geworden in de cmdletNew-AzDataFactoryEncryptValue
- De cmdlet
New-AzDataFactoryGatewayKey
is verwijderd - De parameter
LinkedServiceName
is 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-AzDataLakeAnalyticsCatalogSecret
enSet-AzDataLakeAnalyticsCatalogSecret
zijn verwijderd
Az.DataLakeStore (eerder AzureRM.DataLakeStore)
Van de volgende cmdlets is de parameter
Encoding
gewijzigd van typeFileSystemCmdletProviderEncoding
inSystem.Text.Encoding
. Door deze wijziging worden de versleutelingswaardenString
enOem
verwijderd. Alle andere eerdere versleutelingswaarden blijven bestaan.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
De afgeschafte eigenschapsalias
Tags
is verwijderd uit de cmdletsNew-AzDataLakeStoreAccount
enSet-AzDataLakeStoreAccount
Scripts 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
,CurrentTier
enFirewallAllowAzureIps
zijn verwijderd uit het objectPSDataLakeStoreAccountBasic
. Elk script dat gebruikmaakt van de uitGet-AzDataLakeStoreAccount
geretourneerdePSDatalakeStoreAccount
, mag niet verwijzen naar deze eigenschappen.
Az.KeyVault (eerder AzureRM.KeyVault)
- De eigenschap
PurgeDisabled
is verwijderd uit de objectenPSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
enPSKeyVaultSecretAttributes
. Scripts moeten niet langer verwijzen naar de eigenschapPurgeDisabled
voor verwerkingsbesluiten.
Az.Media (eerder AzureRM.Media)
De afgeschafte eigenschapsalias
Tags
is 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
Categories
en parameterTimegrains
zijn verwijderd ten behoeve van enkelvoudige parameternamen uit de cmdletSet-AzDiagnosticSetting
. Scripts die gebruikmaken vanSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Moeten worden gewijzigd in
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (eerder AzureRM.Network)
- De afgeschafte parameter
ResourceId
is verwijderd uit de cmdletGet-AzServiceEndpointPolicyDefinition
- De afgeschafte eigenschap
EnableVmProtection
is verwijderd uit het objectPSVirtualNetwork
- De afgeschafte cmdlet
Set-AzVirtualNetworkGatewayVpnClientConfig
is 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-AzOperationalInsightsDataSource
is verwijderd enByWorkspaceNameByKind
is de standaardparameterset gewordenScripts die gegevensbronnen vermelden die gebruikmaken van
Get-AzureRmOperationalInsightsDataSource
Moeten 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
Encryption
is verwijderd uit cmdletNew/Set-AzRecoveryServicesAsrPolicy
- De parameter
TargetStorageAccountName
is nu verplicht voor herstelde beheerde schijven in de cmdletRestore-AzRecoveryServicesBackupItem
- De parameters
StorageAccountName
enStorageAccountResourceGroupName
in de cmdletRestore-AzRecoveryServicesBackupItem
zijn verwijderd - De parameter
Name
in de cmdletGet-AzRecoveryServicesBackupContainer
is verwijderd
Az.Resources (eerder AzureRM.Resources)
De parameter
Sku
is verwijderd uit cmdletNew/Set-AzPolicyAssignment
De parameter
Password
is verwijderd uit de cmdletNew-AzADServicePrincipal
enNew-AzADSpCredential
. Wachtwoorden worden automatisch gegeneerd, scripts die het wachtwoord opgeven:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
Moet 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 cmdlet-retourtypen zijn gewijzigd:
- De eigenschap
ServiceTypeHealthPolicies
van het typeApplicationHealthPolicy
is verwijderd. - De eigenschap
ApplicationHealthPolicies
van het typeClusterUpgradeDeltaHealthPolicy
is verwijderd. - De eigenschap
OverrideUserUpgradePolicy
van het typeClusterUpgradePolicy
is 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
State
enResourceId
zijn verwijderd uit de cmdletSet-AzSqlDatabaseBackupLongTermRetentionPolicy
- De afgeschafte cmdlets
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
enRemove-AzSqlServerAuditing
zijn verwijderd - De afgeschafte parameter
Current
is verwijderd uit de cmdletGet-AzSqlDatabaseBackupLongTermRetentionPolicy
- De afgeschafte parameter
DatabaseName
is verwijderd uit de cmdletGet-AzSqlServerServiceObjective
- De afgeschafte parameter
PrivilegedLogin
is 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
Location
is 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()
Set Blob Tier (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
,PSCloningInfo
enPSSite