Issue with Nested GlideRecord's and Dot walk fields

Kishore32
Tera Contributor

Hello,

I've a requirement to check whether the user is part of a group. If it is then I've log it to file or something to do.

Here is my script and I'm not getting desired output, please let me know what is the issue with the script, is it because of dot walk fields. Please help me here.

var gr = new GlideRecord('sys_user');
gr.initialize();
gr.query();

while(gr.next()){
//gs.info(gr.user_name);
var gm = new GlideRecord('sys_user_grmember');
gm.initialize();
gm.addQuery('sys_user_grmember.user.sys_id',gr.sys_id);
gm.Query;
while(gm.next()){
gs.info('In');
if(gm.group.sys_id == 'aead02002f26011048be265df699b6a3'){
gs.info(gr.user_name);

//Do something
}
}
}

Appreciate any suggestions!!

Thanks 

 

1 ACCEPTED SOLUTION

Hi,

then do this

var gr = new GlideRecord('sys_user');
gr.query();
while(gr.next()){
	var gm = new GlideRecord('sys_user_grmember');
	gm.addQuery('group.name', 'Capacity');
	gm.addQuery('user', gr.getUniqueValue());
	gm.query();
	if(gm.next()){
		gs.info("User " + gr.getDisplayValue() + ' is member of ' + 'Capacity');
	}
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

7 REPLIES 7

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

which user to check?

something like this

var gm = new GlideRecord('sys_user_grmember');
gm.addQuery('group.name', 'Capacity');
gm.addQuery('user.user_name', 'abel.tuter');
gm.query();
if(gm.next()){
	gs.info("Is member");
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

I would like to check all users from sys_user table. Loop through each and check if user is part of a group.

Hi,

then do this

var gr = new GlideRecord('sys_user');
gr.query();
while(gr.next()){
	var gm = new GlideRecord('sys_user_grmember');
	gm.addQuery('group.name', 'Capacity');
	gm.addQuery('user', gr.getUniqueValue());
	gm.query();
	if(gm.next()){
		gs.info("User " + gr.getDisplayValue() + ' is member of ' + 'Capacity');
	}
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

@Kishore

Hope you are doing good.

Did my reply answer your question?

If my response helped please close the thread by marking appropriate response as correct so that it benefits future readers.

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader