how to check if user is a member in particular group, With sysid of user .

deepak45
Mega Guru

how to check if user is a member in particular group, With sysid of user .

1 ACCEPTED SOLUTION

MrMuhammad
Giga Sage

Hi Deepak,

 

If you want to check on Server side i.e Business rule, background script, scheduled job etc. then here is the script.

var gr = new GlideRecord('sys_user_grmember'); // Table stores the mapping of user and group.
gr.addQuery('user', '<sys_id_user>'); // replace <sys_id_user> with actual sys_id of user.
gr.addQuery('group', '<sys_id_group>');// replace <sys_id_group> with actual sys_id of group.
gr.query();

if(gr.next()){
  gs.info("User is Member of Group!");
}
else{
  gs.info("User is Not a Member of Group!");
}

 

Please mark this correct & helpful if it answered your question.

Thanks & Regards,
Sharjeel

Regards,
Muhammad

View solution in original post

9 REPLIES 9

Dhananjay Pawar
Kilo Sage

Hi Deepak,

Find below code.

 

var ourUser = gs.getUserID(); // here you will get sys id of user


var gr = new GlideRecord('sys_user_grmember');


gr.addQuery('user', ourUser); // checking user sys id here.


gr.addQuery('group', '0a52d3dcd7011200f2d224837e6103f2');// enter youe group sys id here
gr.query();

if(gr.next()){
gs.info("User is Member of Group!");
}
else{
gs.info("User is Not a Member of Group!");
}

Mark correct/helpful based on impact.

Thanks,

Dhananjay.

Hi Deepak,

Did you get chance to work on my script?

If this has resolved kindly mark this as correct so others will refer same in future for same query and also by marking this as correct question will remove from unanswered thread.

Thanks,

Dhananjay.

Gaurav Shirsat
Mega Sage

Hi Deepak

Along with the script provided by dhananjay,you can try my script also.

var usr = current.opened_by.getDisplayValue();

 var gr = new GlideRecord('sys_user_grmember');

 gr.addQuery('group','group name');

 gr.addQuery('user',usr);

 gr.query();

 while (gr.next()){

 gs.log('query ran');

 if (gr.user != null){

 gs.log('query found' + gr.user);

 //do processing

 }else{

gs.log('no user found')

 }

 }

in addition,you can refer this

https://community.servicenow.com/community?id=community_question&sys_id=86225b21db101fc01dcaf3231f96...

Please Mark Correct and Helpful

Thanks and Regards

Gaurav Shirsat

agrawars
Tera Contributor

try this one liner

gs.print(gs.getUser().getUserByID("c5d469004ffb4200704d09fd0210c760").isMemberOf("Name of the group"));