Az 2.0.0 的移轉指南
本文件說明 Az 1.0.0 與 2.0.0 版之間的變更
目錄
模組的重大變更
Az.Compute
已從
New-AzAvailabilitySet
和Update-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-AzHDInsightHttpServicesAccess
和Revoke-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