I need to obtain the user id and if possible the user name and e-mail address of the user who is running a job in Enterprise Guide via a workspace server.
At this time, I am considering using proc metaoperate or a call to the macros dictionary table. Do I have anyother options and what is the recommended best practice?
Many Thanks,
JDM
For any SAS EG session you can do this:
data ids;
length name $ 16 purpose $ 40;
label name="Value Name" purpose="Purpose";
infile datalines dsd;
input name purpose;
datalines;
SYSUSERID, SAS session host account
_CLIENTUSERID, Windows user ID in SAS EG
_CLIENTUSERNAME, Windows user name in SAS EG
_METAUSER, SAS metadata user ID
run;
proc sql;
select t1.name,
t2.value,
t1.purpose
from work.ids t1
inner join sashelp.vmacro t2 on (t1.name = t2.name);
quit;
You can also query SAS metadata like so:
options metaserver=sasmetadata metauser="sasadm@saspw" metapass="password";
%mduextr(libref=work);
This gives you all users and their details defined in the SAS metadata - do you want a snapshot of all EG users who are currently connecting to a SAS workspace server, or just all users who are defined in metadata?
Great idea on the %mduextr macro!!! It kills me to embedded the metapass in open code though.
You could encrypt it then:
proc pwencode in='password';
run;
Then paste the output from the procedure into your metapass string. This does not stop anyone using the encrypted password in code but would prevent them using it in a user tool like SAS Management Console.
If you are using SAS Enterprise Guide and querying metadata "as you", you don't need the META* options (including the password). But if you are needing to use a different identity (such as sasadm@saspw), then you do need it. See this article:
Five strategies to eliminate passwords from your SAS programs - The SAS Dummy
Chris
That's an excellent tip Chris!
%mduextr(libref=work); works fine without the metadata credentials when run in EG. I had just assumed credentials were required because it was in an example on SAS Support.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.