通过 PowerCLI 脚本从 .CSV 文件分配磁盘分区 Space

Assigning Disk Partition Space from .CSV file through PowerCLI Script

我正在尝试创建一个 PowerCLI 脚本,该脚本将根据从 CSV 文件中获取的设置创建 VM。 CSV 文件是 VBA 脚本从 Excel 电子表格中提取数据的结果,用户将输入他们想要的设置。我目前拥有的:

$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)"

将引用这些值的 CSV 文件将包含 3 个单元格,可用于要分配的各个分区space(C:\、D:\、M:(应用程序数据) ).

我想知道的是,我的 PowerCLI 脚本中是否有一个函数可以根据 CSV 文件为各个分区分配适当数量的 space,或者这是否需要手动完成?

是否需要 -DiskGB "$($CSVFile.C_System)" 以外的其他东西来创建分区,因为这似乎引用了正在分配的整个磁盘 space(我可能错了,请随时纠正我)?

分区是通过 Windows OS 而不是 VMware 处理的,因此您需要某种 post-build 任务接管(如果您需要帮助你可以和我聊天,很乐意提供帮助,但还有很多其他变量我们必须讨论)

然而,实现此目的的简单且可能更好的方法是向服务器添加 3 个独立的硬盘。它们都只是位于 SAN 上的 VMDK 文件,因此拥有 3 个磁盘,每个磁盘有 1 个分区与拥有 1 个磁盘,有 3 个分区并没有太大区别,除非您可以在创建 VM 时声明所有三个磁盘。因此,您可以使用与请求的 C:\ 大小匹配的硬盘大小来执行 New-VM,然后使用 New-HardDisk 添加 2 个额外的磁盘。这有一个额外的好处,那就是让以后扩展 C:\ 和 D:\ 驱动器变得更加容易,并且如果您出于性能或容量原因开始不得不移动 VMDK,还可以使您的存储更加灵活。