私はPowershellとPowercliを初めて使用しますが、いくつかのESX環境を管理しており、PowerShellを介して可能な限り多くのことを実行したいと考えています。私はPowershellを介してできる限りのことをしようとしています。私が必要とする助けを借りて:
このワンライナーを使用して、テンプレートからVMを作成しました。ただし、問題は、新しいVMが作成されるたびにユーザー入力が必要になることです。新しいVM名-テンプレートテンプレート-VMHostVMHost-データストアデータストア
私がやりたいのは、CSVを介して、新しいvmの名前、使用するテンプレート、新しいvmを配置するホスト、およびデータストアをすべてCSVからインポートできるようにすることです。以下のように簡単かどうかはわかりませんが、エラーが発生し続けました。
Import-Csv "C:\powershell\Data\VM2Create.csv" | Foreach-object{
New-VM $_.name -Template $_.template -VMHost $_.VMHost -Datastore $_.Datastore
}
()
または{}
、あるいは|
が必要なものがあることを私は知っています...それらをどこに置くかわからない...
私が思うcsvは次のようになります:
名前、テンプレート、vmhost、データストア
どんな助けや考えも大歓迎です...
これは私のために働いた:
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
}
ここで私のスクリプトをチェックしてください- http://poshcode.org/2051 。