Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-10-2025 05:47 AM
How can we remove users from a group if they have been inactive for a specific period, such as 2 weeks?
Solved! Go to Solution.
1 ACCEPTED SOLUTION
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-10-2025 06:00 AM
Hello @Sakshi Shukla
You can try below scheduled job code:
(function executeScheduleJob() {
var twoWeeksAgo = new GlideDateTime();
twoWeeksAgo.addDaysUTC(-14);
var inactiveUsers = new GlideRecord('sys_user');
inactiveUsers.addQuery('active', false);
inactiveUsers.addQuery('sys_updated_on', '<=', twoWeeksAgo);
inactiveUsers.query();
gs.info('count' + inactiveUsers.getRowCount());
while (inactiveUsers.next()) {
var groupMemberships = new GlideRecord('sys_user_grmember');
groupMemberships.addQuery('user', inactiveUsers.sys_id);
groupMemberships.query();
while (groupMemberships.next()) {
groupMemberships.deleteRecord();
}
}
})();
Let me know if the above code works for you.
Thank you!
If my response helped you, please accept the solution and mark it as helpful.
Thank You!
Thank You!
10 REPLIES 10
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-10-2025 06:51 AM
you can't rely on inactive user using "sys_updated_on" field on sys_user.
you should use last login field
var groupMemberGR = new GlideRecord('sys_user_grmember');
groupMemberGR.addQuery('group', 'groupSysId');
groupMemberGR.query();
while (groupMemberGR.next()) {
var twoWeeksAgo = gs.daysAgoStart(14); // Gets the datetime 14 days ago at midnight
var userGR = new GlideRecord('sys_user');
userGR.addQuery('active', false);
userGR.addQuery('last_login', '<', twoWeeksAgo); // Adjust if you use another inactivity field
userGR.query();
if (userGR.hasNext()) {
groupMemberGR.deleteRecord();
gs.info('Removed user ' + userGR.name + ' from group ' + groupMemberGR.group.name);
}
}
If my response helped please mark it correct and close the thread so that it benefits future readers.
Regards,
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader