Belangrijke wijzigingen voor Az 1.0.0
Dit document bevat 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 modulespecifieke wijzigingen die van invloed kunnen zijn op uw scripts.
Zie voor algemeen advies over het starten van een migratie van AzureRM naar Az.
Belangrijk
Er zijn ook belangrijke wijzigingen aangebracht tussen Az 1.0.0 en Az 2.0.0. Nadat u deze handleiding hebt gevolgd voor het bijwerken van AzureRM naar Az, raadpleegt u de Az 2.0.0 belangrijke wijzigingen om erachter te komen of u aanvullende wijzigingen moet aanbrengen.
Inhoudsopgave
- Algemene belangrijke wijzigingen
-
module belangrijke wijzigingen
- 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 (voorheen AzureRM.DataFactories en AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (voorheen AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (eerder AzureRM.DataLakeStore)
- Az.KeyVault (eerder AzureRM.KeyVault)
- Az.Media (eerder AzureRM.Media)
- Az.Monitor (eerder AzureRM.Insights)
- Az.Network (voorheen AzureRM.Network)
- Az.OperationalInsights (eerder AzureRM.OperationalInsights)
- Az.RecoveryServices (voorheen 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 doorbrekende wijzigingen
In deze sectie worden de algemene belangrijke wijzigingen beschreven die deel uitmaken van het herontwerp van de Az-module.
Voorvoegselwijzigingen voor cmdlets
In de AzureRM-module gebruikten cmdlets AzureRM
of Azure
als een voorvoegsel voor het zelfstandig naamwoord. Az vereenvoudigt en normaliseert cmdlet-namen, zodat alle cmdlets 'Az' gebruiken als hun voorvoegsel voor het zelfstandig naamwoord. 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 oudere cmdlet-namen in AzureRM die overeenkomen met de nieuwere Az-cmdlet-namen. Met behulp van het argument -Scope
met Enable-AzureRmAlias
kunt u kiezen waar aliassen zijn ingeschakeld.
Bijvoorbeeld het volgende script in AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Kan worden uitgevoerd met minimale wijzigingen 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 na het uitvoeren van deze cmdlet een script zoals dit helemaal niet hoeft te worden gewijzigd:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Voor meer informatie over het gebruik van de alias-cmdlets, kunt u de Enable-AzureRmAlias referentieraadplegen.
Wanneer u klaar bent om aliassen uit te schakelen, verwijdert Disable-AzureRmAlias
de gemaakte aliassen. Zie de Disable-AzureRmAlias-verwijzingvoor meer informatie.
Belangrijk
Wanneer u aliassen uitschakelt, moet u ervoor zorgen dat ze zijn uitgeschakeld voor alle bereiken waarvoor aliassen zijn ingeschakeld.
Wijzigingen in modulenaam
De modulenamen zijn gewijzigd van AzureRM.*
in Az.*
, met uitzondering van 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 modulenamen betekenen dat elk script dat gebruikmaakt van #Requires
of Import-Module
om specifieke modules te laden, moet worden gewijzigd om in plaats daarvan de nieuwe module te kunnen gebruiken. Voor modules waarin het cmdlet-achtervoegsel niet is gewijzigd, betekent dit dat hoewel de modulenaam is gewijzigd, het achtervoegsel dat aangeeft dat de bewerkingsruimte nietheeft.
Migratie van #Requires- en Import-Module-instructies
Scripts die gebruikmaken van #Requires
of Import-Module
om een afhankelijkheid van AzureRM-modules te declareren, moeten worden bijgewerkt om de nieuwe modulenamen te kunnen 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
Migreren van cmdlet-aanroepen Fully-Qualified
Scripts die gebruikmaken van door module gekwalificeerde cmdlet-aanroepen, zoals:
AzureRM.Compute\Get-AzureRmVM
Moet worden gewijzigd om de nieuwe module- en cmdlet-namen te kunnen gebruiken:
Az.Compute\Get-AzVM
Het migreren van afhankelijkheden van modulemanifesten
Modules die afhankelijkheden van AzureRM-modules uitdrukken via een modulemanifestbestand (.psd1), moeten de modulenamen in hun RequiredModules
sectie bijwerken:
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 meer actief ondersteund. Klanten worden aangemoedigd om over te stappen op alternatieve services zodra het handig is.
Windows PowerShell 5.1 en .NET 4.7.2
Voor het gebruik van Az met PowerShell 5.1 voor Windows is de installatie van .NET Framework 4.7.2 vereist. Voor het gebruik van PowerShell Core 6.x of hoger is geen .NET Framework vereist.
Tijdelijke verwijdering van gebruikersaanmelding met PSCredential
Vanwege wijzigingen in de verificatiestroom voor .NET Standard verwijderen we tijdelijk gebruikersaanmelding via PSCredential. Deze mogelijkheid wordt opnieuw geïntroduceerd in de release van 15-15-2019 voor PowerShell 5.1 voor Windows. Dit wordt uitgebreid besproken in dit GitHub-probleem.
Standaard inloggen met apparaatcode in plaats van een webbrowserprompt
Vanwege wijzigingen in de verificatiestroom voor .NET Standard gebruiken we apparaataanmelding als de standaardaanmeldingsstroom tijdens interactieve aanmelding. Webbrowser-gebaseerde aanmelding wordt opnieuw geïntroduceerd voor PowerShell 5.1 voor Windows als standaard in de release van 15/1/2019. Op dat moment kunnen gebruikers apparaataanmelding kiezen met behulp van een switchparameter.
Wijzigingen die de functionaliteit van de module verstoren
In deze sectie worden specifieke belangrijke wijzigingen voor afzonderlijke modules en cmdlets beschreven.
Az.ApiManagement (eerder AzureRM.ApiManagement)
- De volgende cmdlets zijn verwijderd:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Gebruik de cmdlet Set-AzApiManagement om deze eigenschappen in te stellen.
- De volgende eigenschappen zijn verwijderd:
- Eigenschappen
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
enScmHostnameConfiguration
van het typePsApiManagementHostnameConfiguration
verwijderd uitPsApiManagementContext
. Gebruik in plaats daarvanPortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
enScmCustomHostnameConfiguration
van het typePsApiManagementCustomHostNameConfiguration
. - Eigenschap
StaticIPs
verwijderd uit PsApiManagementContext. De eigenschap is opgesplitst inPublicIPAddresses
enPrivateIPAddresses
. - Vereiste eigenschap
Location
verwijderd uit New-AzureApiManagementVirtualNetwork cmdlet.
- 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 de factuur gebruiken.
Az.CognitiveServices (eerder AzureRM.CognitiveServices)
-
GetSkusWithAccountParamSetName
parameterset verwijderd uitGet-AzCognitiveServicesAccountSkus
cmdlet. U moet SKU's ophalen op accounttype en locatie, in plaats van ResourceGroupName en accountnaam te gebruiken.
Az.Compute (eerder AzureRM.Compute)
-
IdentityIds
worden verwijderd uitIdentity
eigenschap inPSVirtualMachine
enPSVirtualMachineScaleSet
objecten scripts mogen de waarde van dit veld niet langer gebruiken om verwerkingsbeslissingen te nemen. - Het type eigenschap van
InstanceView
vanPSVirtualMachineScaleSetVM
object wordt gewijzigd vanVirtualMachineInstanceView
inVirtualMachineScaleSetVMInstanceView
-
AutoOSUpgradePolicy
- enAutomaticOSUpgrade
-eigenschappen worden verwijderd uitUpgradePolicy
eigenschap - Het type eigenschap
Sku
inPSSnapshotUpdate
object wordt gewijzigd vanDiskSku
inSnapshotSku
-
VmScaleSetVMParameterSet
wordt verwijderd uitAdd-AzVMDataDisk
cmdlet, kunt u een gegevensschijf niet meer afzonderlijk toevoegen aan een ScaleSet-VM.
Az.DataFactory (eerder AzureRM.DataFactories en AzureRM.DataFactoryV2)
- De parameter
GatewayName
is verplicht geworden in de cmdletNew-AzDataFactoryEncryptValue
- Cmdlet
New-AzDataFactoryGatewayKey
verwijderd - De parameter
LinkedServiceName
is verwijderd uit deGet-AzDataFactoryV2ActivityRun
cmdlet. Scripts mogen de waarde van dit veld niet meer gebruiken om verwerkingsbeslissingen te nemen.
Az.DataLakeAnalytics (eerder AzureRM.DataLakeAnalytics)
- Afgeschafte cmdlets verwijderd:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
enSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (eerder AzureRM.DataLakeStore)
De volgende cmdlets hebben de parameter
Encoding
gewijzigd van het typeFileSystemCmdletProviderEncoding
inSystem.Text.Encoding
. Met deze wijziging worden de coderingswaardenString
enOem
verwijderd. Alle andere eerdere coderingswaarden blijven behouden.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Verouderde
Tags
-eigenschapsalias verwijderd uit deNew-AzDataLakeStoreAccount
- enSet-AzDataLakeStoreAccount
-cmdlets.Scripts die gebruikmaken van
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Moet worden gewijzigd in
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Verwijderde afgeschafte eigenschappen
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
uit objectPSDataLakeStoreAccountBasic
. Elk script dat gebruikmaakt van dePSDatalakeStoreAccount
die doorGet-AzDataLakeStoreAccount
wordt geretourneerd, mag niet verwijzen naar deze eigenschappen.
Az.KeyVault (eerder AzureRM.KeyVault)
- De eigenschap
PurgeDisabled
is verwijderd uit dePSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
enPSKeyVaultSecretAttributes
objecten scripts mogen niet langer verwijzen naar de eigenschapPurgeDisabled
om verwerkingsbeslissingen te nemen.
Az.Media (eerder AzureRM.Media)
Verwijder de afgeschafte
Tags
eigenschapsalias uitNew-AzMediaService
cmdlet-scripts.New-AzureRMMediaService -Tags @{TagName="TagValue"}
Moet worden gewijzigd in
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (eerder AzureRM.Insights)
Meervoudsnamen
Categories
enTimegrains
parameter verwijderd ten gunste van enkelvoudige parameternamen uit scripts die deSet-AzDiagnosticSetting
cmdlet gebruiken.Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Moet worden gewijzigd in
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (eerder AzureRM.Network)
- Verouderde
ResourceId
parameter verwijderd uitGet-AzServiceEndpointPolicyDefinition
cmdlet - Afgeschafte
EnableVmProtection
eigenschap verwijderd uitPSVirtualNetwork
-object - Verouderde
Set-AzVirtualNetworkGatewayVpnClientConfig
cmdlet verwijderd
Scripts mogen geen verwerkingsbeslissingen meer nemen op basis van de waarden voor deze velden.
Az.OperationalInsights (eerder AzureRM.OperationalInsights)
De standaardparameterset voor
Get-AzOperationalInsightsDataSource
wordt verwijderd enByWorkspaceNameByKind
de standaardparameterset is gewordenScripts die gegevensbronnen oplijsten met behulp van
Get-AzureRmOperationalInsightsDataSource
Moet worden gewijzigd om een type op te geven
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (eerder AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup en AzureRM.RecoveryServices.SiteRecovery)
- Parameter
Encryption
verwijderd uitNew/Set-AzRecoveryServicesAsrPolicy
cmdlet -
TargetStorageAccountName
parameter is nu verplicht voor herstel van beheerde schijven inRestore-AzRecoveryServicesBackupItem
cmdlet - Parameters
StorageAccountName
enStorageAccountResourceGroupName
verwijderd inRestore-AzRecoveryServicesBackupItem
cmdlet - Parameter
Name
verwijderd inGet-AzRecoveryServicesBackupContainer
cmdlet
Az.Resources (eerder AzureRM.Resources)
Parameter
Sku
verwijderd uitNew/Set-AzPolicyAssignment
cmdletDe parameter
Password
is verwijderd uit de cmdletsNew-AzADServicePrincipal
enNew-AzADSpCredential
. Wachtwoorden worden automatisch gegenereerd, scripts die het wachtwoord hebben verstrekt:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPassword
Moet worden gewijzigd om het wachtwoord op te halen uit de uitvoer:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $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)
- Parameters
State
enResourceId
verwijderd uitSet-AzSqlDatabaseBackupLongTermRetentionPolicy
cmdlet - Verouderde cmdlets verwijderd:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
- Afgeschafte parameter
Current
verwijderd uitGet-AzSqlDatabaseBackupLongTermRetentionPolicy
cmdlet - Afgeschafte parameter
DatabaseName
verwijderd uitGet-AzSqlServerServiceObjective
cmdlet - Afgeschafte parameter
PrivilegedLogin
verwijderd uitSet-AzSqlDatabaseDataMaskingPolicy
cmdlet
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 storage-API-methoden gebruiken nu het op taken gebaseerde Asynchrone patroon (TAP) in plaats van synchrone API-aanroepen. In de volgende voorbeelden ziet u 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
Zacht verwijderde 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()
Bloblaag 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)
- Afgeschafte eigenschappen verwijderd uit de objecten
PSAppServicePlan
,PSCertificate
,PSCloningInfo
enPSSite
Azure PowerShell