Skip to content

Commit d2538cf

Browse files
authored
Find Groups without Group Members (#1610)
* Get Groups with no Members.js The purpose of this script is to identify and list all active user groups that do not have any members. This can be useful for maintaining user group data, identifying orphaned groups, or cleaning up unnecessary entries. * readme.md The purpose of this script is to identify and list all active user groups that do not have any members. This can be useful for maintaining user group data, identifying orphaned groups, or cleaning up unnecessary entries.
1 parent bec2666 commit d2538cf

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
var myGroups = [];
2+
var grGroup = new GlideRecord("sys_user_group");
3+
grGroup.addActiveQuery();
4+
grGroup.query();
5+
while (grGroup.next()) {
6+
var gaGroupMember = new GlideAggregate("sys_user_grmember");
7+
gaGroupMember.addQuery("group",grGroup.sys_id.toString());
8+
gaGroupMember.addAggregate('COUNT');
9+
gaGroupMember.query();
10+
var gm = 0;
11+
if (gaGroupMember.next()) {
12+
gm = gaGroupMember.getAggregate('COUNT');
13+
if (gm == 0)
14+
myGroups.push(grGroup.name.toString());
15+
}
16+
}
17+
gs.print(myGroups);
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
**Initialize an Array:**
2+
var myGroups = [];
3+
4+
**Create a GlideRecord Object for User Groups:**
5+
var grGroup = new GlideRecord("sys_user_group");
6+
7+
**Add a Query for Active Groups:**
8+
grGroup.addActiveQuery();
9+
10+
**Execute the Query:**
11+
grGroup.query();
12+
13+
**Iterate Through Active Groups:**
14+
while (grGroup.next()) {
15+
16+
**Count Group Members:**
17+
var gaGroupMember = new GlideAggregate("sys_user_grmember");
18+
gaGroupMember.addQuery("group", grGroup.sys_id.toString());
19+
gaGroupMember.addAggregate('COUNT');
20+
gaGroupMember.query();
21+
22+
**Check Member Count:**
23+
var gm = 0;
24+
if (gaGroupMember.next()) {
25+
gm = gaGroupMember.getAggregate('COUNT');
26+
if (gm == 0)
27+
myGroups.push(grGroup.name.toString());
28+
}
29+
30+
**Print the Results:**
31+
gs.print(myGroups);

0 commit comments

Comments
 (0)