我有一个 PowerCLI 脚本,可以关闭虚拟机电源,更改其内存和 CPU,然后重新启动。我已经调整了脚本以利用变量。这一切都很完美。
我现在正在尝试修改脚本以利用数组,以便循环遍历多个虚拟机。关闭和打开虚拟机电源的脚本部分运行良好。
我遇到的问题是在 foreach 循环中使用两个数组中的变量。
对于 $vm_name 中的每个虚拟机,我需要设置 $memory_gb 中找到的相应内存量。
这就是我所拥有的(它当前为所有虚拟机设置相同的内存量(“1”))......
$vm_name = @("OMAC-SBXWIN7AJM", "OMAC-SBXWIN2012R2AJM", "OMAC-SBXWIN2008R2AJM")
$memory_gb = 2,4,4
# SET THE VM MEMORY
Write-Host 'NOW SETTING THE VM MEMORY'
foreach ($objItem in $vm_name)
{Set-VM -VM $vm_name -MemoryGB 1 -confirm:$false
Break
}
https://i.stack.imgur.com/E9hfY.png
...我尝试在第一个 foreach 循环中嵌套第二个 foreach 循环,但无济于事。
如何编写脚本,以便 $vm_name 中的每个虚拟机获取 $memory_gb 中找到的相应内存量?