【发布时间】:2014-10-01 05:50:03
【问题描述】:
我有一个 PowerCLI 脚本,它可以关闭 VM、更改其内存和 cpu,然后重新打开它。我已经修改了脚本以利用变量。这一切都很完美。
我现在正在尝试修改脚本以利用数组,以便在众多虚拟机中循环。关闭和打开虚拟机电源的脚本部分完美运行。
我遇到的问题是在 foreach 循环中使用来自两个数组的变量。
对于 $vm_name 中的每个 VM,我需要设置在 $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
}
http://i.stack.imgur.com/E9hfY.png
...我尝试在第一个循环中嵌套第二个 foreach 循环,但无济于事。
如何编写脚本让 $vm_name 中的每个 VM 获取在 $memory_gb 中找到的相应内存量?
【问题讨论】:
标签: arrays powershell foreach vmware powercli