共用方式為


Az 2.0.0 的移轉指南

本文件說明 Az 1.0.0 與 2.0.0 版之間的變更

目錄

模組的重大變更

Az.Compute

  • 已從 New-AzAvailabilitySetUpdate-AzAvailabilitySet Cmdlet 中移除 Managed 參數,而改用 Sku = Aligned

    之前

    Update-AzAvailabilitySet -Managed
    

    之後

    Update-AzAvailabilitySet -Sku Aligned
    
  • 為求一致,已從 Update-AzImage 中的 'ByName' 和 'ByResourceId' 參數集移除 Image 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 ImageName,因此移除此參數並沒有功能上的影響。

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

    之後

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags
    
    Update-AzImage -ResourceId $Id -Tag $tags
    
  • 為求一致,已從 Restart-AzVM 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • 為求一致,已從 Start-AzVM 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • 為求一致,已從 Stop-AzVM 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • 為求一致,已從 Remove-AzVM 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • 為求一致,已從 Set-AzVM 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • 為求一致,已從 Save-AzVMImage 中的 'ByObject' 和 'ByResourceId' 參數集移除 Name 參數

    之前

    請注意,下列程式碼可運作,但由於未使用傳入的 Name,因此移除此參數並沒有功能上的影響。

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

    之後

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • 已新增 ProtectionPolicy 屬性,以將 ProtectFromScaleIn 屬性封裝在 PSVirtualMachineScaleSetVM

    之前

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

    之後

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    
  • 已新增 EncryptionSettingsCollection 屬性,以將 EncryptionSettings 屬性含括在 PSDisk

    之前

    $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
    

    之後

    $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
    
  • 已新增 EncryptionSettingsCollection 屬性,以將 EncryptionSettings 屬性含括在 PSSnapshot

    之前

    $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
    

    之後

    $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
    
  • 已從 PSVirtualMachineScaleSet 中移除 VirtualMachineProfile 屬性

    之前

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

    之後

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Cmdlet Set-AzVMBootDiagnostic 已移除 Set-AzVMBootDiagnostics 的別名

    之前

    使用已淘汰的別名

    Set-AzVMBootDiagnostics
    

    之後

    Set-AzVMBootDIagnostic
    
  • Cmdlet Export-AzLogAnalyticThrottledRequest 已移除 Export-AzLogAnalyticThrottledRequests 的別名

    之前

    使用已淘汰的別名

    Export-AzLogAnalyticThrottledRequests
    

    之後

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • 已移除 Grant-AzHDInsightHttpServicesAccessRevoke-AzHDInsightHttpServicesAccess Cmdlet。 由於所有 HDInsight 叢集上一律會啟用 HTTP 存取,因此不再需要這些項目。
  • 已新增新的 Set-AzHDInsightGatewayCredential Cmdlet。 使用此 Cmdlet 可變更閘道 HTTP 使用者名稱和密碼 (取代 Grant-AzHDInsightHttpServicesAccess)。
  • 已更新 Get-AzHDInsightJobOutput Cmdlet 以支援對儲存體金鑰的細微角色型存取。
    • 具有 HDInsight 叢集操作員、參與者或擁有者角色的使用者將不受影響。
    • 具有讀者角色的使用者將必須明確指定 DefaultStorageAccountKey 參數。

如需這些角色型存取權變更的詳細資訊,請參閱 aka.ms/hdi-config-update

之前

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

之後

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

使用者僅具有 Cmdlet Get-AzHDInsightJobOutput 的讀者角色

之前

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

之後

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

Az.Storage

  • 從 Blob、佇列和檔案 Cmdlet 傳回的類型已將其命名空間從 Microsoft.WindowsAzure.Storage 變更為 Microsoft.Azure.Storage。 雖然根據重大變更原則,這不是技術上的重大變更,但可能需要對使用儲存體 .Net SDK 方法的程式碼進行某些變更,才能與這些 Cmdlet 傳回的物件互動。

    範例 1:將訊息新增至佇列 (變更 CloudQueueMessage 物件命名空間)

    之前:

    $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)
    

    $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)
    

    範例 2:使用 AccessCondition 擷取 Blob/檔案屬性 (變更 AccessCondition 物件命名空間)

    之前:

    $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)
    

    $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)
    
  • 雖然並非技術上的重大變更,但在 New/Get/Set-AzStorageAccount 變更所傳回的儲存體帳戶中,您會發現 Sku.Name 屬性的輸出有如下的差異。 (經過變更後,輸出和輸入的 SkuName 會相對應。)

    • "StandardLRS" -> "Standard_LRS";
    • "StandardGRS" -> "Standard_GRS";
    • "StandardRAGRS" -> "Standard_RAGRS";
    • "StandardZRS" -> "Standard_ZRS";
    • "PremiumLRS" -> "Premium_LRS";
  • 在建立儲存體帳戶時未指定種類的預設服務行為已變更。 在舊版中,在建立儲存體帳戶時若未指定 Kind,將會使用 Storage 種類的儲存體帳戶,而新版本的預設 Kind 值則為 StorageV2。 如果您需要建立 'Storage' 種類的 V1 儲存體帳戶,請新增參數 '-Kind Storage'

    範例:建立儲存體帳戶 (預設種類變更)

    之前:

    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
    

    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