How to identify groups where the group manager is NOT a group member

SarahC1
Tera Contributor

Hi all,
I am attempting pull a list of all groups where the group manager is NOT a group member, but I'm beginning to wonder if this is possible? Its straightforward enough to identify groups where the manager is a member of a specific group but I cannot seem to find a way to find the reverse.
Currently trying to achieve this with a database view but its not something I've used previously. 
The tables I'm concerned with are sys_user_group and sys_user_grmember.
Grateful for any tips or pointers, even if to confirm this is not something that is possible!

1 ACCEPTED SOLUTION

 

Create a Script Include (System Definition -> Script Include).

function missingManager(){
    var groups = [];
    var grp = new GlideRecord('sys_user_group');
    grp.addNotNullQuery('manager');
    grp.query();
    while(grp.next()){
        var grMember = new GlideRecord('sys_user_grmember');
        grMember.addQuery('user',grp.manager.toString());
        grMember.addQuery('group',grp.getUniqueValue());
        grMember.query();
        if(!grMember.hasNext()){
                groups.push(grp.getUniqueValue());
        }
    }
    return groups.toString();
}

 

RobertCampbell_0-1706656885450.png

RobertCampbell_1-1706656917013.png

 

View solution in original post

6 REPLIES 6

 

Create a Script Include (System Definition -> Script Include).

function missingManager(){
    var groups = [];
    var grp = new GlideRecord('sys_user_group');
    grp.addNotNullQuery('manager');
    grp.query();
    while(grp.next()){
        var grMember = new GlideRecord('sys_user_grmember');
        grMember.addQuery('user',grp.manager.toString());
        grMember.addQuery('group',grp.getUniqueValue());
        grMember.query();
        if(!grMember.hasNext()){
                groups.push(grp.getUniqueValue());
        }
    }
    return groups.toString();
}

 

RobertCampbell_0-1706656885450.png

RobertCampbell_1-1706656917013.png

 

SarahC1
Tera Contributor

Thanks so much Robert for your comprehensive reply - missing completely accomplished!