As far as I know it is not possible to determine which role is executing a NSH Script job. However, you could do this: If you have one NSH script and are sharing a different NSH Script Job to each role, you could create a non-editable parameter containing the Role name for each Job you are sharing.
Would that work for you?
It may work for us. I'll take a look at that option.
Shame we can't get at the role though.