Руководство по переходу на Az версии 2.0.0
Этот документ описывает изменения между Az версии 1.0.0 и Az версии 2.0.0.
Оглавление
Критические изменения модуля
Az.Compute
Параметр
Managed
удален из командлетовNew-AzAvailabilitySet
иUpdate-AzAvailabilitySet
. Теперь используетсяSku = Aligned
.Перед
Update-AzAvailabilitySet -Managed
После
Update-AzAvailabilitySet -Sku Aligned
Для согласованности параметр
Image
удален из наборов параметров ByName и ByResourceId в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
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вRestart-AzVM
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр Name не используется, поэтому удаление этого параметра не влияет на функциональность.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
После
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вStart-AzVM
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр Name не используется, поэтому удаление этого параметра не влияет на функциональность.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
После
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вStop-AzVM
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр Name не используется, поэтому удаление этого параметра не влияет на функциональность.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
После
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вRemove-AzVM
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр Name не используется, поэтому удаление этого параметра не влияет на функциональность.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
После
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вSet-AzVM
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр Name не используется, поэтому удаление этого параметра не влияет на функциональность.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
После
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
Для согласованности параметр
Name
удален из наборов параметров ByObject и ByResourceId вSave-AzVMImage
.Перед
Обратите внимание, что приведенный ниже код работает, но переданный параметр 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
Удалено свойство
VirtualMachineProfile
из классаPSVirtualMachineScaleSet
.Перед
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
После
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
Для командлета
Set-AzVMBootDiagnostic
удален устаревший псевдоним (ранее —Set-AzVMBootDiagnostics
).Перед
Использование устаревшего псевдонима
Set-AzVMBootDiagnostics
После
Set-AzVMBootDIagnostic
Для командлета
Export-AzLogAnalyticThrottledRequest
удален устаревший псевдоним (ранее —Export-AzLogAnalyticThrottledRequests
).Перед
Использование устаревшего псевдонима
Export-AzLogAnalyticThrottledRequests
После
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Удалены командлеты
Grant-AzHDInsightHttpServicesAccess
иRevoke-AzHDInsightHttpServicesAccess
. Они больше не требуются, потому что доступ по протоколу HTTP всегда включен во всех кластерах HDInsight. - Добавлен новый командлет
Set-AzHDInsightGatewayCredential
. С помощью этого командлета можно изменить имя пользователя и пароль HTTP шлюза (заменяетGrant-AzHDInsightHttpServicesAccess
). - Обновлен командлет
Get-AzHDInsightJobOutput
для поддержки детализированного доступа на основе ролей к ключу к хранилищу.- На пользователей с ролями оператора, участника или владельца кластера HDInsight это не повлияет.
- Только пользователям с ролью читателя нужно указывать параметр
DefaultStorageAccountKey
явным образом.
Дополнительные сведения об этих изменениях доступа на основе ролей см. по адресу aka.ms/hdi-config-update.
Перед
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
После
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Пользователи только с ролью читателя для командлета Get-AzHDInsightJobOutput
Перед
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
После
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Пространства имен для типов, возвращаемых командлетами, выполняющими действия с большими двоичными объектами, очередями и файлами, были изменены с
Microsoft.WindowsAzure.Storage
наMicrosoft.Azure.Storage
. Хотя согласно политике критических изменений технически это не является критическим изменением, для взаимодействия с объектами, возвращаемыми этими командлетами, может потребоваться внести некоторые изменения в код, использующий методы из пакета SDK .NET для службы хранилища.Пример 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 (изменение пространства имен объекта 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)
Хотя технически это не является критическим изменением, вы обнаружите различия в значениях свойства SKU.Name учетных записей хранения в выходных данных, возвращенных из
New/Get/Set-AzStorageAccount
. Ниже указаны эти изменения. (После изменения значения SkuName в выходных и входных данных согласовываются.)- StandardLRS -> Standard_LRS;
- StandardGRS -> Standard_GRS;
- StandardRAGRS -> Standard_RAGRS;
- StandardZRS -> Standard_ZRS;
- PremiumLRS -> Premium_LRS.
Изменено поведение службы по умолчанию при создании учетной записи хранения без указания параметра Kind. В предыдущих версиях при создании учетной записи хранения без указания параметра
Kind
использовался типStorage
. В новой версии значением параметраKind
по умолчанию являетсяStorageV2
. Если вам нужно создать учетную запись хранения версии 1 с параметром Kind со значением Storage, добавьте параметр -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
Azure PowerShell