【问题标题】:Creating Virtual Machines using PowerCLI based on data from CSV File基于 CSV 文件中的数据使用 PowerCLI 创建虚拟机
【发布时间】:2016-11-10 13:16:15
【问题描述】:

我正在尝试了解如何或是否可以创建一个 PowerCLI 脚本,该脚本将处理基于 CSV 文件在特定集群中创建虚拟机 (VM)。

我找到了一些涉及从 XML 文件中读取 PowerCLI 的解决方案,我想确定 CSV 文件数据是否也是一种选择,如果是,如何去做。

背景: 用户将 VM 规范数据输入到 Excel 的“请求”表单中,VBA 脚本用于将该数据转换为 CSV 文件,我想知道是否有可能PowerCLI 脚本从生成的 CSV 文件数据中读取数据以创建具有指定值的 VM(在执行之前进行审查以确保数据正确/相关)。

感谢您提供的任何帮助

【问题讨论】:

  • 请注意,我不熟悉 PowerCLI,但如果我理解正确,您希望从 VBA 代码启动 PowerCLI 脚本并从 csv 文件输入参数。如果是这样,您可以查看可以启动此类脚本的各种主题,例如 executing sheel scripts from VBA,这可能是一个选项。
  • 谢谢你把它寄过来,皮埃尔。我将查看链接,看看这是否适用于我正在尝试做的事情。 PowerCLI 脚本不一定必须由 VBA 代码调用,因为我们在 Excel 工作表数据上单独运行该代码以将特定单元格数据导出到 CSV 文件中。不过,该功能在未来肯定会很有用。
  • 你的问题让我很感兴趣,所以我快速浏览了一些选项,显然你可以pass parameters with command line for your Script 并因此将它们传递到你的 VBA 代码中。否则,PowerCLI 或 read from text file 似乎有一个 Import-Csv 解决方案,这首先是一个 csv 文件。希望对您有所帮助。

标签: xml vba csv vmware powercli


【解决方案1】:

从 VMware 社区站点获得了一些帮助,并且能够检索到一个简单的脚本来使用 PowerCLI 创建 VM:

#Specify path of .csv file to import VM settings
$CSVPath = "C:\NewVMList.csv"  

$CSVFILE = Import-CSV $CSVPath  

$VMhost = Get-vmhost "$($CSVFile.VMHost)"  
$PortGroup = Get-VirtualPortgroup -name "$($CSVFile.VLAN)" -VMhost $VMhost  

New-VM -Name "$($CSVFile.Name)" -MemoryGB "$($CSVFile.MemoryGB)" -NumCPU "$($CSVFile.NumCPU)" -portgroup $Portgroup -DiskGB "$($CSVFile.C_System)"

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多