在创建VM之前设置AzureRmVMCustomScriptExtension

问题描述 投票:0回答:2

运行以下Azure Powershell时,出现错误:

Set-AzureRmVMCustomScriptExtension:无法对嵌套资源执行请求的操作。未找到父资源“mycomputer”。

$vm = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize
$vm = Set-AzureRmVMSourceImage -VM $vm -Id $image.Id
$vm = Set-AzureRmVMOSDisk -VM $vm -StorageAccountType $vmStorageType -DiskSizeInGB $vmDiskSize -CreateOption FromImage -Caching ReadWrite
$vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore "My" -CertificateUrl $certURL
$vm = Set-AzureRmVMCustomScriptExtension -ResourceGroupName $rsgName -VMName $vmName -Name $extenstionName -Location $location -StorageAccountName $storageName -StorageAccountKey $storageKey -FileName $fileName -ContainerName $containerName -Run $fileName
$vm = New-AzureRmVM -VM $vm -ResourceGroupName $rsgName -Location $location

我是否可以将CustomScriptExtension设置为构建新VM的一部分?

powershell azure azure-virtual-machine
2个回答
0
投票

Set-AzureRmVMCustomScriptExtension命令可用于将自定义脚本扩展添加到现有虚拟机。现有VM。所以不,在创建VM之前不能这样做。

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/extensions-customscript#powershell-deployment


0
投票

VM自定义脚本扩展是一个单独的任务,需要首先创建VM。因此,只需调整脚本的执行顺序即可。

##create a VM, no need $vm
New-AzureRmVM -VM $vm -ResourceGroupName $rsgName -Location $location
##create custom script extension
Set-AzureRmVMCustomScriptExtension -ResourceGroupName $rsgName -VMName $vmName -Name $extenstionName -Location $location -StorageAccountName $storageName -StorageAccountKey $storageKey -FileName $fileName -ContainerName 
© www.soinside.com 2019 - 2024. All rights reserved.