2016-11-15 190 views
0

我試圖創建一個PowerCLI腳本,它將根據從CSV文件中獲取的設置創建虛擬機。 CSV文件是VBA腳本從Excel電子表格中提取數據的結果,用戶將輸入其所需的設置。我至今:通過PowerCLI腳本從.CSV文件分配磁盤分區空間

$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個細胞可用於不同的分區分配空間(C:\ d:\,M: (應用程序數據))。

我想知道的是,如果在我的PowerCLI腳本中可以使用的函數可以根據CSV文件爲各個分區分配合適的空間量,或者需要手動完成這些操作嗎?

是否需要除-DiskGB "$($CSVFile.C_System)"之外的其他東西來創建分區,因爲這似乎引用了分配的整個磁盤空間(我可能是錯誤的,請隨時糾正我)?

回答

0

分區是通過Windows操作系統而不是VMware處理的,因此您需要進行某種形式的後期構建任務(如果您需要幫助,可以與我創建聊天,但願意幫助但theres一堆其他變量,我們不得不討論)

然而,容易和可能更好的方法來完成這個只是添加3個獨立的硬盤到服務器。它們都只是位於SAN上的VMDK文件,因此每個3個磁盤都有1個分區與1個具有3個分區的磁盤並沒有多大區別,但您可以在創建虛擬機時聲明所有三個磁盤。所以你應該使用硬盤大小爲New-VM的C:\,然後使用New-HardDisk添加2個額外的磁盤。這還帶來了額外的好處,使得後來擴展C:\和D:\驅動器變得更加容易,並且如果您出於性能或容量方面的考慮而開始移動VMDK,則會使存儲更加靈活。

+0

謝謝你的答案 - 我相信我會希望與你建議爲我需要的各種驅動器創建3個獨立的硬盤。我想知道如何才能在我的代碼中指定驅動器號?我目前的方式是,這只是分配新的虛擬機的總磁盤空間,然後來賓操作系統將分配給C:\默認情況下?這是VM社區網站上的某個人建議的:$ eDrive = Get-WmiObject -Class win32_volume -Filter「DriveLetter ='E:'」 Set-WmiInstance -input $ eDrive -Arguments @ {DriveLetter =「M:」;標籤=「AppData」} – NeedToKnowBasis22

+0

驅動器號必須在服務器首次啓動後再次在窗口內完成,這取決於您想如何處理它的一系列不同選項,但最簡單的方法可能是使用自定義規範來調用腳本來格式化驅動器 –

+0

好的,謝謝你的幫助,我非常欣賞這種洞察力,因爲我在這方面很新穎。這聽起來像我需要找到一種方法來讓我的VBA腳本添加一個計算單元,它將根據代表驅動器號的3個單元計算出所需的總GB數。 – NeedToKnowBasis22