Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. <#
  2. .SYNOPSIS
  3. A Script that will create VMs automatically
  4.  
  5. .PARAMETER Template
  6. Default template to use for VMs
  7.  
  8. .PARAMETER Path
  9. File that has the usernames in it
  10.  
  11. .PARAMETER Class
  12. The name of the class
  13.  
  14. .PARAMETER VMName
  15. Name of the VM to be deployed
  16.  
  17. .PARAMETER VMHost
  18. Host that the VMs will be placed in
  19. #>
  20.  
  21. param(
  22. [Parameter(Mandatory=$false)][string] $Template,
  23. [Parameter(Mandatory=$false)][string] $UserFile,
  24. [Parameter(Mandatory=$true)][string] $ClassID,
  25. [Parameter(Mandatory=$false)][string] $VMName,
  26. [Parameter(Mandatory=$false)][string] $VMHost
  27. )
  28.  
  29. $UserNames = Get-Content $UserFile
  30.  
  31. #Creates the class folder under the Main folder
  32. $FolderChecker1 = Get-Folder -type VM | Where-Object {$_.name -eq $ClassID}
  33. if($FolderChecker1 -eq $null){
  34. New-Folder -Name $ClassID -Location Classes
  35. } else {
  36. write-Host "$ClassID folder already exists"
  37. }
  38.  
  39.  
  40.  
  41. foreach ($user in $UserNames) {
  42.  
  43. #Creates each users folder inside the main class folder
  44. $userfolder = $user+"_"+$classID
  45. $FolderChecker2 = Get-Folder -type VM | Where-Object {$_.name -eq $userfolder}
  46. if($FolderChecker2 -eq $null){
  47. New-Folder -Name $userfolder -location $ClassID
  48. } else {
  49. Write-Host "$userfolder Folder already exists."
  50. }
  51.  
  52. #Creates each VM for each student and places it inside their specific folder
  53. $UserVMName = $user+"_"+$classID+"_"+$VMName
  54. New-VM -Name $UserVMName -template $Template -location $userfolder -Host $VMHost
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement