使用PowerShell设置Ubuntu DSVM时创建计划时出错

使用PowerShell设置Ubuntu DSVM时创建计划时出错,powershell,azure-powershell,azure-dsvm,Powershell,Azure Powershell,Azure Dsvm,我正在尝试使用PowerShell创建一个Ubuntu DSVM。我已经确定Ubuntu DSVM映像是由发布商microsoft ads发布的,提供linux data science vm Ubuntu和SKUlinuxdsvmubuntu。我发现,在PowerShell中指定VM配置时,我需要使用Set-AzureRmVMPlan和Set-AzureRmVMSourceImage,并尝试了以下操作: $vmConfig = New-AzureRmVMConfig -VMName $vmNa

我正在尝试使用PowerShell创建一个Ubuntu DSVM。我已经确定Ubuntu DSVM映像是由发布商
microsoft ads
发布的,提供
linux data science vm Ubuntu
和SKU
linuxdsvmubuntu
。我发现,在PowerShell中指定VM配置时,我需要使用
Set-AzureRmVMPlan
Set-AzureRmVMSourceImage
,并尝试了以下操作:

$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize Standard_D4s_v3
$vmConfig = Set-AzureRmVMPlan -VM $vmConfig -Name "linuxdsvmubuntu" -Product "linux-data-science-vm-ubuntu" -Publisher "microsoft-ads"
$vmConfig = Set-AzureRmVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred
$vmConfig = Set-AzureRmVMSourceImage -VM $vmConfig -PublisherName "microsoft-ads" -Offer "linux-data-science-vm-ubuntu" -Skus "linuxdsvmubuntu" -Version latest
$vmConfig = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vmConfig
不幸的是,我从
New AzureRmVM
命令中收到一条错误消息:

New-AzureRmVM : This resource was created without a plan. A new plan cannot be associated with an update.
ErrorCode: CannotSetPlanOnUpdate
ErrorMessage: This resource was created without a plan. A new plan cannot be associated with an update.
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 648c62cd-4029-408e-8b6c-2ae4310001f6
At line:1 char:1
+ New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vmC ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmVM], ComputeCloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand

似乎我没有正确使用
Set AzureRmVMPlan
。有人知道我做错了什么吗?

我发现问题不在于此命令本身,而在于早期版本的命令部署失败

第一次尝试使用
Set-AzureRmVMSourceImage
,我没有意识到我也需要使用
Set-AzureRmVMPlan
。这导致部署失败,我认为这意味着部署的VM将从我的资源组中删除(或者从一开始就不会添加到我的资源组中)

实际发生的情况是,失败的部署在我的资源组中留下了状态为“failed”的VM。当我稍后运行上面显示的命令时,
newazurermvm
命令被视为更新步骤,而不是全新的虚拟机创建。这就是为什么错误消息指出,“此资源是在没有计划的情况下创建的。”


删除所有内容并重新开始会成功地使用上述命令。

这是在使用
terraform
配置虚拟机时发生的。这导致了相同的错误代码
CannotSetPlanOnUpdate
,并且在
terraform destroy
之后,VM被留在了资源组中。这似乎是天蓝的一面上的一个bug