Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Below script not working

Shweta Maurya
Tera Contributor

Requirement-need users who is not having "snowemp" group.

I have written below script but its not giving correct count. Please suggest what is the mistake here

 

var grmem = new GlideRecord('sys_user');
grmem.addEncodedQuery('active=true^emailLIKE@idfcfirstbank^user_nameNOT LIKE3000');
grmem.query();
gs.print("user count" +  grmem.getRowCount());
if(grmem.next())
{
    var grgroup = new GlideRecord('sys_user_grmember');
    grgroup.addQuery('group.name','!=','snowemp');
    grgroup.query();
    gs.print("User not having snowempiconect group" +  grgroup.getRowCount());

}
3 REPLIES 3

Maik Skoddow
Tera Patron
Tera Patron

Hi @Shweta Maurya 

it's not clear what exactly you want to achieve and what you are expecting.

But I recommend opening the list of table sys_user_grmember and perform your query. Then check the result and decide whether this is expected or not. I assume it is not.

Maik

Unique45
Mega Sage
Mega Sage

Hello @Shweta Maurya ,

Following code give the correct count:

var count=0;
var grmem = new GlideRecord('sys_user');
grmem.addEncodedQuery('active=true^emailLIKE@idfcfirstbank^user_nameNOT LIKE3000');
grmem.query();
gs.print("user count" +  grmem.getRowCount());
while(grmem.next())
{
    var grgroup = new GlideRecord('sys_user_grmember');
    grgroup.addQuery('user', grmem.sys_id);
    grgroup.addQuery('group.name','!=','snowemp');
    grgroup.query();
    if(grgroup.next())
    {
        count++;
    }
}
 gs.print("User not having snowempiconect group - " +  count);

 

Please let me know if this code is works for you or not.

 

Please mark correct/helpful if this helps you!

chetanb
Tera Guru

Hello @Shweta Maurya 

 

Directly hit query on table -sys_user_grmember

chetanb_0-1706511908948.png

or through script -


var grmem = new GlideRecord('sys_user');
grmem.addEncodedQuery('active=true^emailLIKE@idfcfirstbank^user_nameNOT LIKE3000');
grmem.query();
gs.print("user count" + grmem.getRowCount());
var cnt=0;
while(grmem.next())
{
var grgroup = new GlideRecord('sys_user_grmember');
grgroup.addQuery('user', grmem.sys_id);
grgroup.addQuery('group.name','!=','snowemp');
grgroup.query();
if(grgroup.next())
{
cnt++;
}
}
gs.print("User not having snowempiconect group - " + cnt);

 

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.

 

Regards,

CB