我正在建立一个虚拟机恢复管道。看起来是这样的:
我复制操作系统磁盘
$diskConfig = New-AzureRmDiskConfig -AccountType $storageType `
-Location $snapshot.Location -SourceResourceId $snapshot.Id -CreateOption Copy
$disk = New-AzureRmDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName `
-DiskName $diskName
然后我把它附加到我的虚拟机上,就像这样:
$vmConfig = New-AzureRmVMConfig -VMName $virtualMachineName `
-VMSize $virtualMachineSize
$vmConfig = Set-AzureRmVMOSDisk -VM `
$vmConfig -ManagedDiskId $disk.Id -CreateOption Attach -Windows
但是我也希望间接地修改
OSProfile
通过将证书绑定到虚拟机的属性,如下所示
this guide by Microsoft
. 我愿意:
$vmConfig = Add-AzureRmVMSecret -VM $vmConfig -SourceVaultId $vaultId `
-CertificateStore $certificateStore -CertificateUrl $certificateUrl
现在当我试图通过
New-AzureRmVM -VM $vmConfig -ResourceGroupName $resourceGroupName -Location $location
我得到一个错误:
New-AzureRmVM : Parameter 'osProfile' is not allowed.
我知道它会改变
OSProfile.Secrets
(即-将新记录添加到列表中),但有一个限制,我不能在任何情况下对其进行编辑。我也尝试过先创建一个VM,然后添加
Secrets
,但它给了我几乎相同的错误
Update-AzureRmVM : Changing property 'osProfile' is not allowed.
顺便说一下,如果我用
FromImage
而不是
Attach
,我得到错误:
New-AzureRmVM : Cannot specify user image overrides for a disk already defined in the specified image reference.
我该怎么解决?