Delen via


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 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 en ScmHostnameConfiguration van het type PsApiManagementHostnameConfiguration verwijderd uit PsApiManagementContext. Gebruik in plaats daarvan PortalCustomHostnameConfiguration, ProxyCustomHostnameConfiguration, ManagementCustomHostnameConfiguration en ScmCustomHostnameConfiguration van het type PsApiManagementCustomHostNameConfiguration.
    • Eigenschap StaticIPs verwijderd uit PsApiManagementContext. De eigenschap is opgesplitst in PublicIPAddresses en PrivateIPAddresses.
    • Vereiste eigenschap Location verwijderd uit New-AzureApiManagementVirtualNetwork cmdlet.

Az.Billing (eerder AzureRM.Billing, AzureRM.Consumption en AzureRM.UsageAggregates)

  • De parameter InvoiceName is verwijderd uit de cmdlet Get-AzConsumptionUsageDetail. Scripts moeten andere identiteitsparameters voor de factuur gebruiken.

Az.CognitiveServices (eerder AzureRM.CognitiveServices)

  • GetSkusWithAccountParamSetName parameterset verwijderd uit Get-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 uit Identity eigenschap in PSVirtualMachine en PSVirtualMachineScaleSet objecten scripts mogen de waarde van dit veld niet langer gebruiken om verwerkingsbeslissingen te nemen.
  • Het type eigenschap van InstanceView van PSVirtualMachineScaleSetVM object wordt gewijzigd van VirtualMachineInstanceView in VirtualMachineScaleSetVMInstanceView
  • AutoOSUpgradePolicy- en AutomaticOSUpgrade-eigenschappen worden verwijderd uit UpgradePolicy eigenschap
  • Het type eigenschap Sku in PSSnapshotUpdate object wordt gewijzigd van DiskSku in SnapshotSku
  • VmScaleSetVMParameterSet wordt verwijderd uit Add-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 cmdlet New-AzDataFactoryEncryptValue
  • Cmdlet New-AzDataFactoryGatewayKey verwijderd
  • De parameter LinkedServiceName is verwijderd uit de Get-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-AzDataLakeAnalyticsCatalogSecreten Set-AzDataLakeAnalyticsCatalogSecret

Az.DataLakeStore (eerder AzureRM.DataLakeStore)

  • De volgende cmdlets hebben de parameter Encoding gewijzigd van het type FileSystemCmdletProviderEncoding in System.Text.Encoding. Met deze wijziging worden de coderingswaarden String en Oemverwijderd. Alle andere eerdere coderingswaarden blijven behouden.

    • New-AzureRmDataLakeStoreItem
    • Add-AzureRmDataLakeStoreItemContent
    • Get-AzureRmDataLakeStoreItemContent
  • Verouderde Tags-eigenschapsalias verwijderd uit de New-AzDataLakeStoreAccount- en Set-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 object PSDataLakeStoreAccountBasic. Elk script dat gebruikmaakt van de PSDatalakeStoreAccount die door Get-AzDataLakeStoreAccount wordt geretourneerd, mag niet verwijzen naar deze eigenschappen.

Az.KeyVault (eerder AzureRM.KeyVault)

  • De eigenschap PurgeDisabled is verwijderd uit de PSKeyVaultKeyAttributes, PSKeyVaultKeyIdentityItemen PSKeyVaultSecretAttributes objecten scripts mogen niet langer verwijzen naar de eigenschap PurgeDisabled om verwerkingsbeslissingen te nemen.

Az.Media (eerder AzureRM.Media)

  • Verwijder de afgeschafte Tags eigenschapsalias uit New-AzMediaService cmdlet-scripts.

    New-AzureRMMediaService -Tags @{TagName="TagValue"}
    

    Moet worden gewijzigd in

    New-AzMediaService -Tag @{TagName="TagValue"}
    

Az.Monitor (eerder AzureRM.Insights)

  • Meervoudsnamen Categories en Timegrains parameter verwijderd ten gunste van enkelvoudige parameternamen uit scripts die de Set-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 uit Get-AzServiceEndpointPolicyDefinition cmdlet
  • Afgeschafte EnableVmProtection eigenschap verwijderd uit PSVirtualNetwork-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 en ByWorkspaceNameByKind de standaardparameterset is geworden

    Scripts 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 uit New/Set-AzRecoveryServicesAsrPolicy cmdlet
  • TargetStorageAccountName parameter is nu verplicht voor herstel van beheerde schijven in Restore-AzRecoveryServicesBackupItem cmdlet
  • Parameters StorageAccountName en StorageAccountResourceGroupName verwijderd in Restore-AzRecoveryServicesBackupItem cmdlet
  • Parameter Nameverwijderd in Get-AzRecoveryServicesBackupContainer cmdlet

Az.Resources (eerder AzureRM.Resources)

  • Parameter Sku verwijderd uit New/Set-AzPolicyAssignment cmdlet

  • De parameter Password is verwijderd uit de cmdlets New-AzADServicePrincipal en New-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 type ApplicationHealthPolicy is verwijderd.
    • De eigenschap ApplicationHealthPolicies van het type ClusterUpgradeDeltaHealthPolicy is verwijderd.
    • De eigenschap OverrideUserUpgradePolicy van het type ClusterUpgradePolicy 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

Az.Sql (eerder AzureRM.Sql)

  • Parameters State en ResourceId verwijderd uit Set-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 uit Get-AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet
  • Afgeschafte parameter DatabaseName verwijderd uit Get-AzSqlServerServiceObjective cmdlet
  • Afgeschafte parameter PrivilegedLogin verwijderd uit Set-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
  • De parameter Location is verplicht geworden in de cmdlet Get-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, PSCloningInfoen PSSite