0

我有一段 PowerShell 代码(如下所示),它通过管道将命令组合在一起,以便使用现有磁盘创建新 VM。我遇到的问题是代码是一个通用函数,我不知道需要向 VM 添加多少数据磁盘,这使得将它们流水线化很困难。

我尝试使用 -inputobject 但这似乎不适用于 New-AzureVM 命令,任何想法都值得赞赏,因为我需要在 VM 启动之前附加数据磁盘。

谢谢,理查德

function Build_Existing_VM($serviceName, $osDisk, $dataDisks, $availabilitySetName, $subnetName)
{
   $vmConfig = New-AzureVMConfig -Name $serviceName `
                   -InstanceSize Medium `
                   -DiskName $osDisk `
                   -AvailabilitySetName $availabilitySetName `
                   -HostCaching "ReadOnly" |
                   Add-AzureEndpoint -Name "rdp" -PublicPort 63000 -LocalPort 3389 -Protocol tcp |
                   Add-AzureEndpoint -Name "web" -PublicPort 80    -LocalPort 6080 -Protocol tcp |
                   Set-AzureSubnet $subnetName
   $i = 0
   foreach ($dd in $dataDisks.Split(','))
   {
      $vmConfig = (Add-AzureDataDisk -Import -LUN $i -DiskName $dd -inputobject $vmConfig)
      $i++
  }
   New-AzureVM -ServiceName $serviceName -VNetName $virtualNetworkName -inputobject $vmConfig

}

4

0 回答 0