BookmarkSubscribeRSS Feed
JDMTX
Fluorite | Level 6

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

5 REPLIES 5
SASKiwi
PROC Star

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?

JDMTX
Fluorite | Level 6

Great idea on the %mduextr macro!!!  It kills me to embedded the metapass in open code though.

SASKiwi
PROC Star

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.

ChrisHemedinger
Community Manager

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

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
SASKiwi
PROC Star

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.


sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 11930 views
  • 3 likes
  • 3 in conversation