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
為了保持一致性,從 'ByName' 和 'ByResourceId' 參數集中移除了
Image
參數,這在Update-AzImage
中得以實現。以前
請注意,下列程式代碼正常運作,但未使用傳入的 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 屬性,以封裝
PSVirtualMachineScaleSetVM
中的ProtectFromScaleIn
屬性以前
$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 來變更閘道 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、佇列和檔案指令傳回之型別的命名空間已從
Microsoft.WindowsAzure.Storage
變更為Microsoft.Azure.Storage
。 雖然這在技術上不是根據重大變更原則的重大變更,但它可能需要程序代碼中的一些變更,這些程式代碼會使用 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 建立儲存體帳戶時的預設服務行為已變更。 在舊版中,在未指定任何
Kind
的情況下建立記憶體帳戶時,會在新版本中使用記憶體帳戶 Kind ofStorage
,StorageV2
是預設Kind
值。 如果您需要使用 Kind '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