Hello,
First of all, you should pay attention that when you execute Custom Commands from AD object lists. In object lists, the Web interface shows all Custom Commands that can be executed on the selected object types, regardless of permissions granted to the user. The permissions are not checked in AD object lists by design because checking permissions would cause a huge performance loss. To workaround this, you can disable Custom Commands in AD object lists. For information on how to do this, see step 6 in the following tutorial: http://www.adaxes.com/tutorials_WebInte ... bjects.htm.
On the page used for viewing properties of an object, permissions are checked. That is, a user will be shown only the Custom Commands they can execute on the object. The issue is that when you disallow executing a Custom Command by assigning a Deny execute permission, the permission is not taken into account when building the list of Custom Commands. However, if you distribute the permissions to execute Custom Commands only with the help of the Allow execute permissions, they will be taken into account when building the list of Custom Commands shown to the user. So, you can workaround the issue by distributing the permissions to execute the Custom Commands with the help of the Allow execute permissions only. To do this:
-
Check that none of the Security Role give the Execute All Custom Commands permission for the object type (e.g. User). If any Security Roles give such a permission, remove it and add permissions to execute each Custom Command separately.
-
Create a set of Security Roles, one Role per 'environment'. In that Role, you need to add the Allow permission to execute all Custom Commands that belong to a particular 'environment', assign the Role to Authenticated Users, and include the domains where the Command can be executed in the Assignment Scope of the Role. So, for example, for Citrix Custom Commands, you need to create a Security Role that allows the right to execute all Citrix commands, and include all domains that are running the Citrix platform in the Assignment Scope. To create such a Security Role:
- Create a new Security Role.
- On the 2nd step of the Create Security Role wizard, click Add.
- Select the object type on which the Custom Commands can be executed (e.g. User).
- In the General permissions section, check the necessary Custom Commands in the Allow column.
- Click OK.
- If necessary, repeat steps 2-5 for as many object types as you need.
- On the 3rd step, assign the Role to Authenticated Users, including the domains where the commands can be executed in the Assignment Scope of the Role.