Advertisement
Guest User

Untitled

a guest
Aug 16th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. #Automation
  2.  
  3. $role = "vRealize Automation User"
  4. $vcenter = Read-Host -Prompt "Enter the FQDN of the vCenter Server"
  5. $sso_user = Read-Host -Prompt "Enter the SSO Admin User"
  6. $sso_password = Read-Host -Prompt "Enter the SSO Admin Password"
  7. $vra_user = Read-Host -Prompt "Enter the name of the VRA User (<domain>\<user>)"
  8.  
  9. $vRA_Privileges = @(
  10. "Datastore.AllocateSpace",
  11. "Datastore.Browse",
  12. "Folder.Create",
  13. "Folder.Delete",
  14. "Global.ManageCustomFields",
  15. "Global.SetCustomField",
  16. "Network.Assign",
  17. "Authorization.ModifyPermissions",
  18. "Resource.AssignVMToPool",
  19. "Resource.HotMigrate",
  20. "Resource.ColdMigrate",
  21. "VirtualMachine.Inventory.CreateFromExisting",
  22. "VirtualMachine.Inventory.Create",
  23. "VirtualMachine.Inventory.Delete",
  24. "VirtualMachine.Inventory.Move",
  25. "VirtualMachine.Interact.SetCDMedia",
  26. "VirtualMachine.Interact.PowerOn",
  27. "VirtualMachine.Interact.PowerOff",
  28. "VirtualMachine.Interact.ConsoleInteract",
  29. "VirtualMachine.Interact.Suspend",
  30. "VirtualMachine.Interact.Reset",
  31. "VirtualMachine.Interact.PowerOn",
  32. "VirtualMachine.Interact.ToolsInstall",
  33. "VirtualMachine.Interact.DeviceConnection",
  34. "VirtualMachine.Config.AddExistingDisk",
  35. "VirtualMachine.Config.AddNewDisk",
  36. "VirtualMachine.Config.AddRemoveDevice",
  37. "VirtualMachine.Config.RemoveDisk",
  38. "VirtualMachine.Config.AdvancedConfig",
  39. "VirtualMachine.Config.CPUCount",
  40. "VirtualMachine.Config.Resource",
  41. "VirtualMachine.Config.DiskExtend",
  42. "VirtualMachine.Config.ChangeTracking",
  43. "VirtualMachine.Config.Memory",
  44. "VirtualMachine.Config.EditDevice",
  45. "VirtualMachine.Config.Rename",
  46. "VirtualMachine.Config.Annotation",
  47. "VirtualMachine.Config.Settings",
  48. "VirtualMachine.Config.SwapPlacement",
  49. "VirtualMachine.Provisioning.Customize",
  50. "VirtualMachine.Provisioning.CloneTemplate",
  51. "VirtualMachine.Provisioning.Clone",
  52. "VirtualMachine.Provisioning.DeployTemplate",
  53. "VirtualMachine.Provisioning.ReadCustSpecs",
  54. "VirtualMachine.State.CreateSnapshot",
  55. "VirtualMachine.State.RevertToSnapshot",
  56. "VirtualMachine.State.RemoveSnapshot"
  57. )
  58.  
  59. Function ConnectToVI ([string]$Name, [string]$User, [string]$Password)
  60. {
  61. $EncryptedPassword = ConvertTo-SecureString -String "$Password" -AsPlainText -Force
  62.  
  63. $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $EncryptedPassword
  64.  
  65. Do {
  66. Start-Sleep -s 5
  67. $Con = Connect-VIServer $Name -Credential $Credential -SaveCredentials -Force -ErrorAction SilentlyContinue
  68. } Until ($Con.IsConnected -eq $True)
  69.  
  70. Write-Host "Connected to $Name" -ForeGroundColor Magenta
  71. }
  72.  
  73. Write-Host "Connecting to $vCenter" -ForeGroundColor Yellow
  74. ConnectToVI $vCenter $sso_user $sso_password
  75.  
  76. Write-Host "Create New $role Role" -ForeGroundColor Yellow
  77.  
  78. New-VIRole -Name $role -Privilege (Get-VIPrivilege -id $vRA_Privileges) | Out-Null
  79.  
  80. Write-Host "Set Permissions for $vRA_User using the new $Role Role" -ForeGroundColor Yellow
  81. $rootFolder = Get-Folder -NoRecursion
  82. New-VIPermission -entity $rootFolder -Principal $vra_user -Role $role -Propagate:$true | Out-Null
  83.  
  84. Write-Host "Disconnecting from vCenter at $vCenter" -ForeGroundColor Yellow
  85. Disconnect-VIServer $vCenter -Confirm:$false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement