2016-11-15 7 views
0

CSVファイルから取得した設定に基づいてVMを作成するPowerCLIスクリプトを作成しようとしています。 CSVファイルは、ユーザーが希望の設定を入力したExcelスプレッドシートからデータを抽出するVBAスクリプトの結果です。私はこれまで持っている:\、D:\、M.CSVファイルからPowerCLIスクリプトを使用してディスクパーティションスペースを割り当てる

$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ファイルには、さまざまなパーティションにスペースが割り当てられるため(C利用可能な3つのセルを持つことになります。 (アプリデータ))。

PowerCLIスクリプト内で、さまざまなパーティションにCSVファイルに基づいて適切な容量の領域を割り当てることができる機能がある場合、またはこれを手動で行う必要がある場合はどうすればいいですか?

パーティションを作成するには、-DiskGB "$($CSVFile.C_System)"以外のものが必要ですか?これは割り当てられている全体のディスクスペースを参照しているようです(私はおそらく間違っています)。

答えて

0

パーティショニングはVMwareではなくWindows OSで処理されるため、何らかのポストビルドタスクを引き継ぐ必要があります(私とチャットを作成することができれば幸いですが私たちが議論しなければならない数多くの変数があります)

しかし、これを達成するための簡単な方法は、サーバーに3つのハードディスクを追加することです。それらはすべてSAN上にあるVMDKファイルであるため、1つのパーティションで3つのディスクを持つことは、VM作成時に3つのディスクをすべて宣言できる点を除いて3つのパーティションで1つのディスクを持つこととはまったく異なりません。あなたのNew-VMを、要求されたC:\のサイズに一致するハードディスクサイズで実行し、次にNew-HardDiskを使用して2つのディスクを追加します。これには、後でC:\とD:\ドライブを拡張することがさらに容易になるという利点があります。また、パフォーマンスや容量の理由からVMDKを移動しなければならない場合は、ストレージをより柔軟にすることができます。

+0

ありがとうございます。私は、必要なさまざまなドライブ用に3つの別個のハードディスクを作成するという提案をしたいと思います。私は自分のコード内でドライブレターを指定する方法について、私はどう思っていますか?私が現在持っている方法は、新しいVMにディスク全体のスペースを割り当てて、それからゲストOSがデフォルトでC:\に割り当てることですか?これは、VMコミュニティのWebサイトの誰かが示唆したものです:$ eDrive = Get-WmiObject -Class win32_volume -Filter "DriveLetter = 'E:'" Set-WmiInstance -input $ eDrive -Arguments @ {DriveLetter = "M:"; Label = "AppData"} – NeedToKnowBasis22

+0

ドライブ文字は、サーバが最初に起動した後に再びウィンドウ内で処理する必要があります。どのように対処したいのかに応じてさまざまなオプションがありますが、最も簡単なのはおそらくドライブをフォーマットするスクリプト –

+0

助けてくれてありがとう、私は本当にこの洞察力に感謝します。 VBAスクリプトにドライブ文字を表す3つのセルに基づいて必要な合計GBを計算する計算セルを追加する方法を見つける必要があるようです。 – NeedToKnowBasis22

関連する問題