The CreatorCon Call for Content is officially open! Get started here.

How to Find Group without group member.

Amit Singh1
Tera Contributor

Hi,

How to Find Group without group member.

Please give me Solution

1 ACCEPTED SOLUTION

Rahul Kumar17
Tera Guru

hi

u check for backgroud Script

findEmptyGroups();
function findEmptyGroups() {
var myGroups = [];
var grGroup = new GlideRecord("sys_user_group");
grGroup.addActiveQuery();
grGroup.query();
while (grGroup.next()) {
var gaGroupMember = new GlideAggregate("sys_user_grmember");
gaGroupMember.addQuery("group",grGroup.sys_id.toString());
gaGroupMember.addAggregate('COUNT');
gaGroupMember.query();
var gm = 0;
if (gaGroupMember.next()) {
gm = gaGroupMember.getAggregate('COUNT');
if (gm == 0) {
myGroups.push(grGroup.name.toString());
}
}
}
gs.print(myGroups);
}
If my response helped please mark it correct and close the thread.

Thanks,
Rahul Kumar

View solution in original post

2 REPLIES 2

Abhishek Pidwa
Kilo Guru

Hello Amit Again, 

 

So in order to find the groups without any group member, I would suggest looping through two tables: 

 

sys_group  (stores group members)

sys_user_grmember (stores group to group members relationship)

 

So you write your query like this :

 

var group = new GlideRecord('sys_group');

group.query();

while (group.next()){

  var grMember = new GlideRecord('sys_user_grmember';

   grMember.addQuery('group', group.sys_id);

   grMember.query();

   if (!grMember.next()){

      gs.AddInfoMessage("The group "+ group.label + " does not have any members inside them");

  }

 

)

}

 

 

You should be good to go man. Try this and let me know how it goes. 

 

Please mark this answer as correct/helpful if this solves your problem

Rahul Kumar17
Tera Guru

hi

u check for backgroud Script

findEmptyGroups();
function findEmptyGroups() {
var myGroups = [];
var grGroup = new GlideRecord("sys_user_group");
grGroup.addActiveQuery();
grGroup.query();
while (grGroup.next()) {
var gaGroupMember = new GlideAggregate("sys_user_grmember");
gaGroupMember.addQuery("group",grGroup.sys_id.toString());
gaGroupMember.addAggregate('COUNT');
gaGroupMember.query();
var gm = 0;
if (gaGroupMember.next()) {
gm = gaGroupMember.getAggregate('COUNT');
if (gm == 0) {
myGroups.push(grGroup.name.toString());
}
}
}
gs.print(myGroups);
}
If my response helped please mark it correct and close the thread.

Thanks,
Rahul Kumar