Freigeben über


Migrationsleitfaden für Az 2.0.0

In diesem Dokument werden die Änderungen zwischen den Versionen 1.0.0 und 2.0.0.0 von Az beschrieben.

Inhaltsverzeichnis

Grundlegende Änderungen am Modul

Az.Compute

  • Der Parameter Managed wurde aus den Cmdlets New-AzAvailabilitySet und Update-AzAvailabilitySet entfernt, um die Verwendung von Sku = Aligned zu unterstützen.

    Vorher

    Update-AzAvailabilitySet -Managed
    

    Nachher

    Update-AzAvailabilitySet -Sku Aligned
    
  • Aus Gründen der Konsistenz wurde der Parameter Image aus den Parametersätzen „ByName“ und „ByResourceId“ in Update-AzImage entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene ImageName nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags
    
    Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
    

    Nachher

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags
    
    Update-AzImage -ResourceId $Id -Tag $tags
    
  • Aus Konsistenzgründen wurde der Parameter Name aus den Parametersätzen „ByObject“ und „ByResourceId“ in Restart-AzVM entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Restart-AzVM -InputObject $VM -Name $Name
    
    Restart-AzVM -ResourceId $Id -Name $Name
    

    Nachher

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • Aus Konsistenzgründen wurde der Parameter Name aus den Parametersätzen „ByObject“ und „ByResourceId“ in Start-AzVM entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Start-AzVM -InputObject $VM -Name $Name
    
    Start-AzVM -ResourceId $Id -Name $Name
    

    Nachher

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • Aus Konsistenzgründen wurde der Parameter Name aus den Parametersätzen „ByObject“ und „ByResourceId“ in Stop-AzVM entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Stop-AzVM -InputObject $VM -Name $Name
    
    Stop-AzVM -ResourceId $Id -Name $Name
    

    Nachher

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • Zur Einhaltung der Konsistenz wurde der Name Parameter aus den Parametersätzen 'ByObject' und 'ByResourceId' in Remove-AzVM entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Remove-AzVM -InputObject $VM -Name $Name
    
    Remove-AzVM -ResourceId $Id -Name $Name
    

    Nachher

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • Der Parameter Name wurde aus den Parametersätzen 'ByObject' und 'ByResourceId' in Set-AzVM aus Konsistenzgründen entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Set-AzVM -InputObject $VM -Name $Name ...
    
    Set-AzVM -ResourceId $Id -Name $Name ...
    

    Nachher

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • Für die Konsistenz wurde der Parameter Name aus den Parametersätzen "ByObject" und "ByResourceId" in Save-AzVMImage entfernt.

    Vorher

    Beachten Sie, dass der folgende Code funktionsfähig ist, aber der übergebene Name nicht verwendet wird, sodass das Entfernen dieses Parameters keine funktionale Auswirkung hat.

    Save-AzVMImage -InputObject $VM -Name $Name ...
    
    Save-AzVMImage -ResourceId $Id -Name $Name ...
    

    Nachher

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • Die ProtectionPolicy-Eigenschaft wurde hinzugefügt, um die Eigenschaft ProtectFromScaleIn in PSVirtualMachineScaleSetVM zu kapseln.

    Vorher

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectFromScaleIn = $true
    

    Nachher

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    
  • Die EncryptionSettingsCollection-Eigenschaft wurde hinzugefügt, um die EncryptionSettings Eigenschaft in PSDisk einzuschließen.

    Vorher

    $disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...
    $disk.EncryptionSettings
    
    $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...
    $disk.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
    $update.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
    $update.EncryptionSettings
    

    Nachher

    $disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...
    $disk.EncryptionSettingsCollection.EncryptionSettings
    
    $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...
    $disk.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
  • Die EncryptionSettingsCollection-Eigenschaft wurde hinzugefügt, um die EncryptionSettings Eigenschaft in PSSnapshot einzuschließen.

    Vorher

    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
    $snap.EncryptionSettings
    
    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
    $snap.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
    $update.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
    $update.EncryptionSettings
    

    Nachher

    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
    $snap.EncryptionSettingsCollection.EncryptionSettings
    
    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
    $snap.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
  • Die VirtualMachineProfile-Eigenschaft wurde aus PSVirtualMachineScaleSet entfernt.

    Vorher

    $vmss = New-AzVMSSConfig ...
    $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
    

    Nachher

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Cmdlet Set-AzVMBootDiagnostic entfernt Alias für Set-AzVMBootDiagnostics.

    Vorher

    Verwendung veralteter Aliase

    Set-AzVMBootDiagnostics
    

    Nachher

    Set-AzVMBootDIagnostic
    
  • Cmdlet Export-AzLogAnalyticThrottledRequest entfernt Alias für Export-AzLogAnalyticThrottledRequests.

    Vorher

    Es werden veraltete Aliasnamen verwendet.

    Export-AzLogAnalyticThrottledRequests
    

    Nachher

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Die Cmdlets Grant-AzHDInsightHttpServicesAccess und Revoke-AzHDInsightHttpServicesAccess wurden entfernt. Diese sind nicht mehr erforderlich, da der HTTP-Zugriff immer in allen HDInsight-Clustern aktiviert ist.
  • Ein neues Set-AzHDInsightGatewayCredential-Cmdlet wurde hinzugefügt. Verwenden Sie dieses Cmdlet, um den HTTP-Benutzernamen und das Kennwort des Gateways zu ändern (ersetzt Grant-AzHDInsightHttpServicesAccess).
  • Das Cmdlet Get-AzHDInsightJobOutput wurde aktualisiert, um einen differenzierten rollenbasierten Zugriff auf den Speicherschlüssel zu unterstützen.
    • Benutzer mit HDInsight-Clusteroperator-, Mitwirkenden- oder Besitzerrollen sind nicht betroffen.
    • Benutzer, die nur die Rolle "Leser" haben, müssen den Parameter DefaultStorageAccountKey explizit angeben.

Weitere Informationen zu diesen rollenbasierten Zugriffsänderungen finden Sie unter aka.ms/hdi-config-update.

Vorher

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

Nachher

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Benutzer, die nur über die Rolle „Leser“ für das Cmdlet „Get-AzHDInsightJobOutput“ verfügen.

Vorher

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

Nachher

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey

Az.Storage

  • Namespaces für Typen, die von den Cmdlets „Blob“, „Warteschlange“ und „Datei“ zurückgegeben werden, haben ihren Namespace von Microsoft.WindowsAzure.Storage zu Microsoft.Azure.Storage geändert. Obwohl es sich hierbei technisch gesehen nicht um eine Breaking Change-Änderung gemäß der Breaking Change-Richtlinie handelt, kann es erforderlich sein, einige Änderungen im Code vorzunehmen, die die Methoden des Storage .NET SDKs verwenden, um mit den von diesen Cmdlets zurückgegebenen Objekten zu interagieren.

    Beispiel 1: Hinzufügen einer Nachricht zu einer Warteschlange (Ändern des CloudQueueMessage-Objektnamespaces)

    Vorher:

    $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
    $queueMessage = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1"
    $queue.CloudQueue.AddMessageAsync($QueueMessage)
    

    Nachher:

    $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
    $queueMessage = New-Object -TypeName "Microsoft.Azure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)"  -ArgumentList "This is message 1"
    $queue.CloudQueue.AddMessageAsync($QueueMessage)
    

    Beispiel 2: Abrufen von Blob-/Dateiattributen mit AccessCondition (Ändern des AccessCondition-Objektnamespaces)

    Vorher:

    $accessCondition= New-Object Microsoft.WindowsAzure.Storage.AccessCondition
    
    $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
    $blob.ICloudBlob.FetchAttributes($accessCondition)
    
    $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
    $file.FetchAttributes($accessCondition)
    

    Nachher:

    $accessCondition= New-Object Microsoft.Azure.Storage.AccessCondition
    
    $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
    $blob.ICloudBlob.FetchAttributes($accessCondition)
    
    $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
    $file.FetchAttributes($accessCondition)
    
  • Obwohl es sich hierbei technisch gesehen nicht um einen Breaking Change handelt, werden Sie feststellen, dass sich die Ausgabeunterschiede in der Sku.Name-Eigenschaft von Speicherkonten, die von New/Get/Set-AzStorageAccount-Änderungen zurückgegeben wurden, wie folgt darstellen. (Nach der Änderung sind aus- und eingegebenes „SkuName“ ausgerichtet.)

    • „StandardLRS“ -> „Standard_LRS“;
    • „StandardGRS“ -> „Standard_GRS“;
    • „StandardRAGRS“ -> „Standard_RAGRS“;
    • „StandardZRS“ -> „Standard_ZRS“;
    • „PremiumLRS“ -> „Premium_LRS“;
  • Das standardmäßige Dienstverhalten beim Erstellen eines Speicherkontos ohne Angabe einer Art hat sich geändert. Wenn in früheren Versionen ein Speicherkonto ohne Kind erstellt wurde, wurde die Speicherkontoart von Storage verwendet. In der neuen Version ist StorageV2 der Standardwert für Kind. Wenn Sie ein V1-Speicherkonto der Art „Storage“ erstellen müssen, fügen Sie den Parameter „-Kind Storage“ hinzu.

    Beispiel: Erstellen eines Speicherkontos (Änderung der Standardart)

    Vorher:

    PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"
    
    StorageAccountName ResourceGroupName Location SkuName     Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
    ------------------ ----------------- -------- -------     ----      ---------- ------------          ----------------- ----------------------
    accountname        groupname         westus   StandardLRS Storage   Hot        4/17/2018 10:34:32 AM Succeeded         False
    

    Nachher:

    PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"
    
    StorageAccountName ResourceGroupName Location SkuName      Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
    ------------------ ----------------- -------- -------      ----      ----------  ------------          ----------------- ----------------------
    accountname        groupname         westus   Standard_LRS StorageV2 Hot        4/17/2018 10:34:32 AM Succeeded         False