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

2023-11-26

我有一个 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 中找到的相应内存量?


你有两个选择。首先(不是我建议的)是 For() 循环。事情会是这样的:

For($I=0;$I -lt $vm_name.count;$I++){
    Set-VM -VM $vm_name[$I] -MemoryGB $memory_gb[$I] -confirm:$false
}

更好的方法是将其放入带有标题的 CSV 中,例如VMName, Memory然后列出每个虚拟机以及您想要的内存。然后运行类似的东西:

Import-CSV C:\Path\To\File.CSV | ForEach{Set-VM -VM $_.VMName -MemoryGB $_.memory -confirm:$false}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 如何调整 ggplot2 中绘制轴的范围? [复制]

    这个问题在这里已经有答案了 我对 ggplot2 比较陌生 多年来一直在 R 中使用基础图形 我一直喜欢基本图形的一件事是轴中的额外填充 这样两个轴就不会在原点处接触 这是基本图形中的一个简单示例 png file base png plo
  • 使用 Java 使用 RESTful API

    您将如何使用 Java 以及标准包来使用 RESTful API 例如 Twitter API 我知道有一些很棒的 Java 库可以访问它 但是您将如何从头开始呢 好吧 您可以通过多种方式使用 Java 第三方库访问 RESTful API
  • Lambda 捕获导致操作数类型不兼容错误?

    考虑以下代码 main bool t std function
  • WizardImageFile 在 Inno Setup 5.5.8 中不起作用

    我安装了最新版本的 Inno Setup v5 5 8 a 现在无法查看WizardImageFile我的安装向导中的位图文件 它在以前的版本中运行得很好 我做错了什么还是一个错误 这是我在 Inno Setup 向导本身的帮助下创建的脚本
  • MongoDB聚合查询中可以申请forEach吗?

    我有一个成员集合 并根据特定条件查找成员 获得成员后 我需要对每个成员进行一些计算 要计算需要对同一集合进行查询 我的流程是 var eachMemberInfo var members db collection member find
  • .NET OpenFileDialog 是否可以设置为允许用户选择 .lnk 文件

    我想显示一个对话框 允许用户选择快捷方式 lnk 文件 我的问题是该对话框尝试获取快捷方式指向的文件 URL 而不是 lnk 文件本身 如何让它允许选择 lnk 文件 您可以使用OpenFileDialog DereferenceLinks
  • Julia 中的函数如何具有多个返回值(相对于 MATLAB)?

    在 MATLAB 中 以下代码返回m and s function m s stat x n length x m sum x n s sqrt sum x m 2 n end 如果我运行命令 values 12 7 45 4 98 9 2
  • 我无法让 http 请求在 android 10 api 29 或 api 30 上工作。但它确实适用于较低的 api

    我正在使用 Telerik NativeScript 平台编写一个 Android 购物应用程序 我需要获取订单和交货的客户详细信息 因此我让他们在初次启动时进行注册 该应用程序适用于 API 17 至 API 28 我不知道是什么阻止它在
  • 创建圆形启动器图标

    我试图在 Android Studio 2 2 中创建圆形启动器图标 但它们总是呈方形 有人遇到过这种情况么 难道我做错了什么 点击后Next你应该得到圆形启动器图标 预览可能会产生误导 因为它们以背景作为图标 毕竟 如果您没有得到您所期望
  • C++ 如何初始化部分模板特化的静态变量

    我应该如何初始化静态变量以实现部分特化 template
  • 如何将变量写入文件?

    我想储存 Username 输出文件中的值 E g If Username equals 0401190926729000 该值将存储在文件中 这是一个建议 Settings Library OperatingSystem Library
  • 共享与非共享定点组合器

    这是 Haskell 中定点组合器的通常定义 fix a gt a gt a fix f let x f x in x On https wiki haskell org Prime numbers 他们定义了一个不同的定点组合器 Y t
  • 如何使用 Javascript/jQuery 从 div 内容中去除 HTML 标签?

    我做了一个div标签并将其内容存储在变量中 如果这个标签包含p b或任何其他标签 那么应该将其从字符串中删除 我怎样才能实现这个目标 使用正则表达式 var regex lt gt gt ig var body p test p var r
  • 如何在 mac osx 上安装 libksba?

    根据rvm要求 对于Ruby 1 9 3 安装libksba 如果使用Homebrew brew install libksba 我是全新的 不熟悉终端命令 如何在不使用 homebrew 的情况下安装 libksba 请帮忙 我刚刚从源代
  • 基于 GUI 或基于 Web 的 JSON 编辑器,其工作方式类似于属性资源管理器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 背景 这是对可能尚不存在的
  • sbt 0.11:使用企业 Maven 存储库

    如何将企业 Maven 存储库与 sbt 0 11 x 一起使用 排除其他存储库 如中所述如何让 sbt 使用本地 Maven 代理存储库 Nexus 没有提到ivyRepositories在 github 的新 sbt wiki 中 所以
  • C++ 预处理器元编程图灵完备吗?

    我知道 C 模板元编程是图灵完备的 同样的事情也适用于预处理器元编程吗 宏不会直接递归扩展 但我们可以通过一些方法来解决这个问题 在预处理器中执行递归的最简单方法是使用延迟表达式 延迟表达式是需要更多扫描才能完全扩展的表达式 define
  • 当文本框获得焦点时选择文本框的内容

    我在中找到了与我类似的问题使 WinForms TextBox 的行为类似于浏览器的地址栏 现在我正在尝试通过使其通用来修改或使其更加不同 我想对表单中的所有文本框应用相同的操作 而不需要为每个文本框编写代码 我不知道有多少 一旦我在表单中
  • 打包一个Python应用程序

    如何打包和分发由多个文件组成的Python应用程序 我的应用程序需要一个必须由用户填写的配置文件 我想我正在寻找类似于我在 Linux 机器上使用的配置 制作 制作安装 制作文档的步骤 有不同的解决方案可用 每种解决方案都涉及您的代码库遵守
  • PowerShell/CLI:具有多个数组的“Foreach”循环

    我有一个 PowerCLI 脚本 可以关闭虚拟机电源 更改其内存和 CPU 然后重新启动 我已经调整了脚本以利用变量 这一切都很完美 我现在正在尝试修改脚本以利用数组 以便循环遍历多个虚拟机 关闭和打开虚拟机电源的脚本部分运行良好 我遇到的