Blog

Find Groups without Group Members

Companies can get quite ambitious creating groups.  As time progresses however, some groups become less important and group members leave the company.  Eventually you end up with groups with no members in the group.  

If you have many groups, finding those "empty" groups is a process.  This report helps you find those groups.

Script Include: findEmptyGroups

Client Callable: true
Script:
function findEmptyGroups() {
var count = 0;
//gs.print("Groups Found without Users:");
var myGroups = [];
var grGroup = new GlideRecord("sys_user_group");
grGroup.addActiveQuery();
grGroup.query();
//gs.print('grGroup Query: ' + grGroup.getEncodedQuery() + ' = ' + grGroup.getRowCount());
while (grGroup.next()) {
var grGroupMember = new GlideRecord("sys_user_grmember");
grGroupMember.addQuery("group",grGroup.sys_id.toString());
grGroupMember.query();
//gs.print('grGroupMember Query: ' + grGroupMember.getEncodedQuery() + ' = ' + grGroupMember.getRowCount());
if (grGroupMember.getRowCount() == 0) {
myGroups.push(grGroup.name.toString());
count++;
}
}
//gs.print(myGroups);
//gs.print("Total:"+count);
return myGroups;
}

Report: Groups without Group Members

Type: List
Table: Group [sys_user_group]
Filter: Name is javascript:findEmptyGroups()