Report on Users Not assigned to a Group

Sam Ogden
Tera Guru

We need to find the best way to see which users are in the system that are not assigned to any group.   Is there a way to report on this?

I've looked at making a report against the sys_user table but then can't find a column for group to report against?

Any help would be greatly appreciated.

Thanks

1 ACCEPTED SOLUTION

Mike Allen
Mega Sage

I would do a background script, something like:



var user = new GlideRecord('sys_user');


user.addActiveQuery();


user.query();


while(user.next()){


        var grmember = new GlideRecord('sys_user_grmember');


        grmember.addQuery('user', user.sys_id);


        grmember.query();


        if(!grmember.hasNext()){


                  gs.print(user.getDisplayValue());


        }


}


View solution in original post

9 REPLIES 9

Mike Allen
Mega Sage

I would do a background script, something like:



var user = new GlideRecord('sys_user');


user.addActiveQuery();


user.query();


while(user.next()){


        var grmember = new GlideRecord('sys_user_grmember');


        grmember.addQuery('user', user.sys_id);


        grmember.query();


        if(!grmember.hasNext()){


                  gs.print(user.getDisplayValue());


        }


}


That's great thanks Mike.   Just a quick question, if I wanted to filter out anyone that doesn't have an email that ends '@cdl.co.uk' what would I need to amend within the code?


you can add one more query



var user = new GlideRecord('sys_user');


user.addQuery('email','DOES NOT CONTAIN','@uk.co.in');


user.addActiveQuery();


user.query();


while(user.next()){


        var grmember = new GlideRecord('sys_user_grmember');


        grmember.addQuery('user', user.sys_id);


        grmember.query();


        if(!grmember.hasNext()){


                  gs.print(user.getDisplayValue());


        }


}


Regards
Harish

That's great, thanks for your help on this.