How to find how many groups are there with empty group members in Servicenow?

Pandu8
Kilo Contributor

How to find how many groups are there with empty users in Service now?

1 ACCEPTED SOLUTION

felladin
Tera Guru

Hello,

If you don't need it in a report, this can be run as a normal Background Script for immediate respons.

var total = 0;
var group = new GlideRecord('sys_user_group');
group.addActiveQuery();
group.query();
while(group.next()){
var member = new GlideRecord('sys_user_grmember');
member.addQuery('group',group.sys_id);
member.query();
if(member.next()){
}
else {
total += 1;
}
}
gs.print(total);

View solution in original post

5 REPLIES 5

jacobpeterson
Mega Expert

Hello,

You would have to do this with a script. Follow a guide like: http://www.servicenowelite.com/blog/2015/3/20/find-groups-without-group-members

 

I already saw this its not working, can you please send another way.

sai krishna10
Giga Guru

var count = 0;
var myGroups = [];
var grGroup = new GlideRecord("sys_user_group");
grGroup.addActiveQuery();
grGroup.query();
while (grGroup.next()) {
var grGroupMember = new GlideRecord("sys_user_grmember");
grGroupMember.addQuery("group",grGroup.sys_id.toString());
grGroupMember.query();
if (grGroupMember.getRowCount() == 0) {
myGroups.push(grGroup.name.toString());
count++;
}
}
gs.log(myGroups);
gs.log("Total:"+count);

 

Try this is working in my instance

felladin
Tera Guru

Hello,

If you don't need it in a report, this can be run as a normal Background Script for immediate respons.

var total = 0;
var group = new GlideRecord('sys_user_group');
group.addActiveQuery();
group.query();
while(group.next()){
var member = new GlideRecord('sys_user_grmember');
member.addQuery('group',group.sys_id);
member.query();
if(member.next()){
}
else {
total += 1;
}
}
gs.print(total);