Guest User

Untitled

a guest
Mar 14th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #Import Vmware PowerCli tools.
  2. #This will work on all ISO BOOTS setups
  3.  
  4. $admin = Import-PSCredentialFromJson -Path D:\secure\admin.json
  5.  
  6. #Get-Module –ListAvailable VM* | Import-Module
  7. Import-Module VMware.VimAutomation.Core
  8. Import-Module VMware.VimAutomation.Cis.Core
  9. Connect-VIServer vcenter -Credential $admin
  10. Connect-CISServer vcenter -Credential $admin
  11.  
  12. #$createSpec.guest_OS -Split ',' | Select-String Windows
  13.  
  14. $vmlist = Import-CSV “D:\Documents\PAD_SJ_DevOps\devops_powershell\MikeD\buildtest.csv”
  15.  
  16.  
  17. foreach ($item in $vmlist) {
  18. # Map variables
  19. $template = $item.template
  20. $datastore = $item.datastore
  21. $OSDiskSize = $item.OSDiskSize
  22. $vmhost = $item.vmhost
  23. $ISO = $item.ISO
  24. $vmname = $item.vmname
  25. $ip = $item.ip
  26. $subnet = $item.subnet
  27. $gateway = $item.gateway
  28. $primary = $item.primary
  29. $netadapter = $item.netadapter
  30. $datacenter = $item.datacenter
  31. $destfolder = $item.folder
  32. $vlan = $item.vlan
  33. $OSRamSize = $item.OSRamSize
  34. $cpucount = $item.NumCPU
  35. $domain = $item.domain
  36. $note = $item.note
  37. $path = $item.path #not used yet
  38. $cred_User = $item.Cred_Username
  39. $cred_pass = $item.Cred_Password
  40. $SecondDiskSize = $item.SecondDiskSize
  41. $SecondDiskDS = $item.SecondDiskDS
  42. $GuestIDOS = $item.GuestIDOS
  43. $spec = $item.spec
  44.  
  45.  
  46.  
  47.  
  48. #***Mapped Variables***#
  49. #GuestID's
  50. # windows8Server64Guest = 2012R2
  51. # windows9Server64Guest = 2016
  52.  
  53. $NewVMParams = @{
  54. 'VMHost' = $Vmhost
  55. 'Name' = $Vmname
  56. 'Datastore' = $DataStore
  57. 'DiskGB' = $OSDiskSize
  58. 'DiskStorageFormat' = 'Thin'
  59. 'MemoryGB' = $OSRamSize
  60. 'GuestId' = $GuestIDOS
  61. 'Version' = 'v13'
  62. 'NumCpu' = $cpucount
  63. 'Notes' = $Note
  64. 'NetworkName' = $vlan
  65. 'Location' = $destfolder
  66. }
  67. #'OSCustomizationSpec' = $spec
  68. $VMname = New-VM @NewVMParams
  69.  
  70. #Mounting ISO to CD Rom
  71. $NewCDDriveParams = @{
  72. 'VM' = $VMname
  73. 'IsoPath' = $ISO
  74. 'StartConnected' = $true
  75. }
  76. New-CDDrive @NewCDDriveParams
  77.  
  78. #Adding Second Disk (D DRIVE)
  79. $NewHardDiskParams = @{
  80. 'VM' = $VMName
  81. 'CapacityGB' = $SecondDiskSize
  82. 'Datastore' = $SecondDiskDS
  83. }
  84. New-HardDisk @NewHardDiskParams
  85.  
  86. Start-VM -VM $VMname -RunAsync:$true #<custSpec> placement
  87. #move-vm -vm $vmname -Destination $destfolder
  88. }
Add Comment
Please, Sign In to add comment