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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.