How to remove users from group and make user profile Inactive

Kruthik M Shiva
Tera Contributor

Hi All,
I have a requirement to remove the users from particular group and also to make the user profile Inactive if the user has not logged in for more than 30 days. How to do this? also please do provide the code required to do this if possible. 
Thanks in advance.

2 REPLIES 2

Deepak Shaerma
Kilo Sage

Hi @Kruthik M Shiva  

 

For removing the users from the group, go to type sys_user_group.LIST on application Navigator,  it will take you to group table , Find >open> members > remove. 

For inactive user if not logged in 30 days --> Create a scheduled job.

var groupName = "Your Group Name";
var groupSysId = ''; 
var daysThreshold = 30; // Users who haven’t logged in for more than 30 days

// Fetch Group Sys ID
var grGroup = new GlideRecord('sys_user_group');
grGroup.addQuery('name', groupName);
grGroup.query();
if (grGroup.next()) {
    groupSysId = grGroup.getUniqueValue();
}

// Check for users that haven’t logged in for the past 30 days
var grUser = new GlideRecord('sys_user');
grUser.addQuery('last_login_time', '<', gs.daysAgoStart(daysThreshold)); // Adjust based on your Sys_User table’s relevant field
grUser.query();
while (grUser.next()) {
    // Check if user is part of the group
    var memberQuery = new GlideRecord('sys_user_grmember');
    memberQuery.addQuery('group', groupSysId);
    memberQuery.addQuery('user', grUser.getUniqueValue());
    memberQuery.query();
    if (memberQuery.next()) {
        // Remove user from group
        memberQuery.deleteRecord();
    }
    
    // Mark the user as inactive
    grUser.active = false;
    grUser.update();
}