param ( [string]$Role = $(Read-Host "Role" ), [string]$Server = $(Read-Host "Server" ) ) # Read the permissions file $PermissionsFile = "CVPermissions.txt" $cvPermissions = @() Get-Content $PermissionsFile | foreach-Object{ $cvPermissions += $_ } # connect to vCenter and check to see if the role exists import-module VMware.VimAutomation.Core Connect-VIServer -server $Server $existingRole = Get-VIRole -name $Role -ErrorAction SilentlyContinue $privs = Get-VIPrivilege -Server $Server -id $cvPermissions -ErrorAction SilentlyContinue # create or update the role if (!$existingRole) { New-VIRole -name $Role -Privilege $privs -Server $Server } else { Set-VIRole -Role $Role -AddPrivilege $privs -Server $Server } Disconnect-VIServer -server $Server -Confirm:$FALSE