Skip to content

VirtuallyThatGuy

Anything VMware , PowerCLI, PowerShell, Automation and some Windows

Menu
  • Home
  • PowerCLI
  • VMware
  • Automation
  • Windows
  • About
Menu

Script: Create New Role in vCenter Using PowerShell or Powercli and Create New Permission and Role whilst adding a user to global permissions – VirtuallyThatGuy

Posted on November 1, 2021March 4, 2024 by VirtuallyThatGuy

Further more, I have also included a more comprehensive version for creating a new role in vcenter , new permission and adding a new user using powershell off my last post. This post is about Creating New Role in vCenter Using PowerShell or Powercli and Create New Permission and Role whilst adding a user to global permissions

#
# PowerCLI script to create Lab Role which includes required permissions
# and assign Lab Service Account to Role
# Usage Create_Lab_Role.ps1 -vCenter vCenterFQDNorIP -Username ServiceAccountName -Domain AuthenticationDomain
 
# Get Commandline Parameters - All are required - Make all Mandatory so 
param(
 [Parameter(Mandatory=$true)][string]$vCenter,
 [Parameter(Mandatory=$true)][string]$Username,
 [Parameter(Mandatory=$true)][string]$Domain
)
 
clear-host
 
$usage = "Create_Lab_Role.ps1 -vCenter vCenterFQDNorIP -Username LabServiceAccountName -Domain AuthenticationDomain"
$example = 'Create_Lab_Role.ps1 -vCenter "vcenter.acme.local" -Username svtuser -Domain acme'
 
Write-Host "PowerCLI script to create Lab Role which includes required privileges and assigns the Lab Service Account to Role" -ForeGroundColor Cyan 
 
if ( !$vCenter -or !$Username -or !$Domain ) {
  write-host `n `n"Missing Required Parameter - vCenter, Username, and Domain are required." `n -ForeGroundColor Red
  write-host "Usage: $usage" `n
  write-host "Example: $example" `n
  exit
}
  
$vCenterFQDN = $vCenter
 
# Lab Service Account User
#The Lab User account is a non-login, privileged, vCenter Server account that you specify during deployment. OmniCube uses this account to execute privileged tasks. 
$Lab_User = "$Domain\$Username"
 
# Lab Role Name
$Lab_Role = "Lab"
 
#Privileges to assign to role
#See the Lab OmniCube Administrators Guide for Required Permissions
$Lab_Privileges = @(
'Alarm.Create',
'Alarm.DisableActions',
'Alarm.Edit',
'Alarm.SetStatus',
'Alarm.Delete',
'Extension.Register',
'Extension.Update',
'Extension.Unregister',
'Global.Health',
'Global.LogEvent',
'Global.ManageCustomFields',
'Global.SetCustomField',
'Global.Diagnostics',
'Host.Cim.CimInteraction',
'Task.Create',
'Task.Update',
'VApp.AssignVApp',
'VApp.Unregister',
'VApp.ApplicationConfig',
'VirtualMachine.Config.ManagedBy',
'VirtualMachine.Config.Settings',
'VirtualMachine.State.RemoveSnapshot',
'VirtualMachine.State.CreateSnapshot')
 
Write-Host "Connecting to vCenter at $vCenterFQDN"`n -ForeGroundColor Cyan
Connect-VIServer $vCenterFQDN | Out-Null
 
Write-Host "Create New $Lab_Role Role"`n -ForeGroundColor Cyan 
New-VIRole -Name $Lab_Role -Privilege (Get-VIPrivilege -id $Lab_Privileges) | Out-Null
 
Write-Host "Set Permissions for $Lab_User using the new $Lab_Role Role"`n -ForeGroundColor Cyan
#Get the Root Folder
$rootFolder = Get-Folder -NoRecursion
#Create the Permission
New-VIPermission -Entity $rootFolder -Principal $Lab_User -Role "Lab" -Propagate:$true | Out-Null
 
#Disconnect from the vCenter Server
Write-Host "Disconnecting from vCenter at $vCenterFQDN"`n -ForeGroundColor Cyan
Disconnect-VIServer $vCenterFQDN -Confirm:$false
 
#End

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • vROps: Management Pack Troubleshooting
  • Windows AD {Active Directory} (PowerShell) samples
  • Migrate VMs Between vCentres Using Powershell or PowerCLI
  • Set VM Tools to Update Automatically on VM Reboot using powershell
  • Windows Administrator Must Have Powershell Commands

Recent Comments

  • JB on Script: How to get VM with Tag Assignment and export results to csv using PowerCLI or Powershell
  • DL on How to change VCSA root password and bypass BAD PASSWORD: it is based on a dictionary word for vCenter VCSA root account warning
  • 360coolp on How to change VCSA root password and bypass BAD PASSWORD: it is based on a dictionary word for vCenter VCSA root account warning
  • Yogesh on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy
  • VirtuallyThatGuy on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017

Categories

  • Automation
  • PowerCLI
  • VMware
  • Windows
© 2026 VirtuallyThatGuy | Powered by Superbs Personal Blog theme