2017-09-15 76 views
1

我目前正在嘗試使用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與高級創建的錯誤,我有一個標準存儲。

難道有人指着我正確的方向嗎?

感謝

回答

1

根據你的代碼,我發現它的腳本包含

「$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,好吧,我會測試它,並按照你的情況。 –

相關問題