尝试使用Azure Powershell创建Palo Alto VM

尝试使用Azure Powershell创建Palo Alto VM

问题描述:

我目前正在尝试使用Azure Powershell创建Palo Alto VM系列防火墙,以稍后合并一些更改。尝试使用Azure Powershell创建Palo Alto VM

我有以下相关的代码

$VM = Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" 

$VM = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize 

Set-AzureRmVMPlan -VM $VM -Publisher paloaltonetworks -Product vmseries1 -Name "bundle2" 

# Specify the OS disk name and create the VM 
$DiskName='OSDisk-'+$VMName 
$SA = Get-AzureRmStorageAccount -Name $SAName -ResourceGroupName $RGName 
$OSDiskUri = $SA.PrimaryEndpoints.Blob.ToString() + "vhds/" + $VMName+".vhd" 
    $VM = Set-AzureRmVMOSDisk -VM $VM -Name $DiskName -VhdUri $OSDiskUri -CreateOption fromImage 
$VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $VNIC01.Id -Primary 
New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -Verbose 

我得到

New-AzureRmVM : Changing property 'osDisk.createOption' is not allowed. 
ErrorCode: PropertyChangeNotAllowed 
ErrorMessage: Changing property 'osDisk.createOption' is not allowed. 
StatusCode: 409 
ReasonPhrase: Conflict 
OperationID : 882848ca-7053-4098-9599-d25d58b4b3fe 
At C:\Users\IEUser\Desktop\DeployMultipleNicPANWv0.2.ps1:192 char:1 
+ New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -V ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : CloseError: (:) [New-AzureRmVM], ComputeCloudException 
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand 

我以前曾尝试过一些变化,因为它告诉我起源VHD与高级创建的错误,我有一个标准存储。

难道有人指着我正确的方向吗?

感谢

根据你的代码,我发现它的脚本包含

“$VM = Set-AzureRmVMOSDisk -VM $VM -Name $DiskName -VhdUri $OSDiskUri -CreateOption fromImage”.

和错误代码是409。这个问题可能是由以下原因造成的:VM created from Image cannot have blob based disks. All disks have to be managed disks.

所以,你应该决定你想用什么来创建虚拟机。如果你只是想用图片来创建虚拟机,你不宜加-VhdUri $OSDiskUri

更多有关如何使用图像创建PowerShell的一个新的虚拟机,请参阅this document.

此外,您还可以使用模板轻松创建Palo Alto VM。有关如何使用模板创建Palo Alto VM的更多信息,请参阅this link

---------- ----------更新

确保你的形象等方面的要求都被适当地配置,然后就可以使用以下PowerShell脚本来创建:

$VM = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize 

    $VM = Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" 

    Set-AzureRmVMPlan -VM $VM -Publisher paloaltonetworks -Product vmseries1 -Name "bundle2" 


    $VM = Set-AzureRmVMOSDisk -VM $VM -CreateOption fromImage -Caching ReadWrite 
    $VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $VNIC01.Id -Primary 

    New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -Verbose 

注意:使用托管磁盘,当我们使用image或vdi创建虚拟机时,我们无法更改OSdiskname。如果你仍然无法创建它,我建议你使用模板来创建它。只需点击Azure上的部署,然后提供所需的信息。

+0

我试过了您的建议,现在它向我展示了New-AzureRmVM的400代码错误:无法为已经在指定图像引用中定义的磁盘指定用户图像覆盖。 ErrorCode:InvalidParameter ErrorMessage:无法为已在指定图像引用中定义的磁盘指定用户图像替代。 StatusCode:400 ReasonPhrase:错误的请求 操作ID:86e4ff4c-c52c-472c-b14a-a09f924bc1ab –

+0

感谢您的帮助! –

+0

嗨,@ OmarOchoa,好吧,我会测试它,并按照你的情况。 –