使用带有 csv 的模板创建新的 vms。可以吗?

使用带有 csv 的模板创建新的 vms。可以吗?

我是 Powershell 和 Powercli 的新手...但我管理过一些 ESX 环境,并且非常希望通过 powershell 完成尽可能多的工作。我正在尝试通过 Powershell 完成尽可能多的工作。我需要以下帮助:

我使用这个命令从模板创建虚拟机。但问题是,每次创建新虚拟机后都必须有一些用户输入。New-VM name -Template template -VMHost VMHost -Datastore Datastore

我希望能够通过 CSV 导入新虚拟机的名称、要使用的模板、放置新虚拟机的主机和数据存储。我不知道它是否像下面这样简单,但我一直收到错误。

Import-Csv "C:\powershell\Data\VM2Create.csv" | Foreach-object{
    New-VM $_.name -Template $_.template -VMHost $_.VMHost -Datastore $_.Datastore
}

我知道有一些()或者{}可能有|那个需要...只是不知道把它们放在哪里...

我认为 csv 看起来像这样:

名称、模板、vmhost、数据存储

任何帮助或想法都将不胜感激...

答案1

这对我有用:

param ( $CsvFile = "D:\foo\bar.csv" )

$worksheet = Import-Csv $CsvFile
$worksheet |ForEach-Object {
    New-VM -VMHost $_.VMHost `
        -Name $_.Name `
        -MemoryMB $_.MemoryMB `
        -DiskMB $_.DiskMB `
        -NetworkName $_.NetworkName `
        -Datastore $_.Datastore `
        -CD:$FALSE `
        -ResourcePool $_.ResourcePool `
        -Description $_.Description `
        -GuestId $_.GuestId `
        -NumCPU $_.NumCPU
}

答案2

在这里查看我的脚本-http://poshcode.org/2051

相关内容