小编Jam*_*ter的帖子

PowerShell / CLI:具有多个数组的“ Foreach”循环

我有一个PowerCLI脚本,可以关闭VM的电源,更改其内存和CPU,然后重新打开电源。我修改了脚本以利用变量。所有这一切都完美。

我现在正在尝试修改脚本以利用阵列,以便在众多VM之间循环。关闭并打开虚拟机电源的脚本部分运行良好。

我遇到的麻烦是在foreach循环中使用两个数组中的变量。

对于$ vm_name中的每个VM,我需要设置在$ memory_gb中找到的相应内存量。

这就是我所拥有的(它目前为所有VM设置了相同数量的内存(“ 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
}
Run Code Online (Sandbox Code Playgroud)

http://i.stack.imgur.com/E9hfY.png

...我尝试在第二个foreach循环中嵌套第二个,但无济于事。

如何编写脚本,以便$ vm_name中的每个VM获得在$ memory_gb中找到的相应内存量?

arrays powershell vmware foreach powercli

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

arrays ×1

foreach ×1

powercli ×1

powershell ×1

vmware ×1