I need to identify groups where the group manager is NOT a group member
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2025 01:28 PM
Hello All,
I'm trying to retrieve a list of all groups where the group manager is not a member of the group. However, I am unable to get this done.
I even came across below solution from the community, but it's not working.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2025 05:07 AM
did you try running script in background and see if you get some records
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2025 05:19 AM
@Ken61 Hi try this code in background script:
var groupGR = new GlideRecord('sys_user_group');
groupGR.addNotNullQuery('manager');
groupGR.query();
while (groupGR.next()) {
var manager = groupGR.manager;
var groupID = groupGR.sys_id;
var grMember = new GlideRecord('sys_user_grmember');
grMember.addQuery('group', groupID);
grMember.addQuery('user', manager);
grMember.query();
// If no match is found, manager is not a group member
if (!grMember.hasNext()) {
gs.print('Group: ' + groupGR.name + ' | Manager: ' + manager.getDisplayValue());
}
}
Please mark correct/helpful if this help you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2025 07:43 AM - edited 05-20-2025 08:09 AM
Hi, Try this code
Background Script:
var groupGr = new GlideRecord('sys_user_group');
groupGr.addNotNullQuery('manager');
groupGr.query();
while (groupGr.next()) {
var memGr = new GlideRecord('sys_user_grmember');
memGr.addQuery('group', groupGr.sys_id);
memGr.addQuery('user', groupGr.manager);
memGr.query();
if (!memGr.hasNext()) {
gs.print(groupGr.name + ' - Manager not a member: ' + groupGr.manager.getDisplayValue());
}
}
Script Include function:
var result = [];
var groupGr = new GlideRecord('sys_user_group');
groupGr.addNotNullQuery('manager');
groupGr.query();
while (groupGr.next()) {
var mngr = groupGr.manager;
var memGr = new GlideRecord('sys_user_grmember');
memGr.addQuery('group', groupGr.sys_id);
memGr.addQuery('user', mngr);
memGr.query();
if (!memGr.hasNext()) {
result.push(groupGr.sys_id.toString());
}
}
return result.join(',');