Bah, Megiddo sniped me while I was typing.
My original response. (Which, is essentially what Megiddo said in so few words)
-------------
Take a copy of the ulx function that you use to modify access (presumably, adduser), localize it (local function myPromote(...) ) pass it the parameters you need yourself, making sure they are checked for validity before being passed (ulx adduser does this already, but, you aren't going to make it a console command like we do)... run the function when needed with passed parameters.
You can edit the fancylog and log statements as needed within your own copy.
Now that I've said that, Megiddo and maybe even MrPresident will have a much simpler solution.