Deleting inactive users
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 02:46 AM
Hello all,
I want to remove inactive users from assignment group, I want to write a business rule on group member table.
When: before
Script:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 06:11 AM
@Sid_Takali
To delete existing inactive users, create a fix script to run on a higher instance.
Script
var grUser = new GlideRecord('sys_user');
grUser.addQuery('active',false);
grUser.query();
while (grUser.next()){
var grMember = new GlideRecord('sys_user_grmember');
grMember.addQuery('user',grUser.sys_id);
grMember.query();
while(grMember.next()){
grMember.deleteRecord();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 03:01 AM
Hi @I_Das Try below code and modify accordingly
var grpMember = new GlideRecord('sys_user_grmember');
grpMember.query();
while (ggrpMember.next()) {
var gr = new GlideRecord('sys_user');
gr.addEncodedQuery('active=false^sys_id=' +grpMember.user); //
gr.query();
if (gr.next()) {
grpMember.deleteRecord();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 05:47 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 06:03 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2024 06:03 AM
Hi @I_Das ,
If you want to apply this logic for the existing users, I don't think business rule won't be a better option. Run a BG Script once and align the data. Then you write a business rule to apply for the future records.
Background Script:
var grUser = new GlideRecord('sys_user');
grUser.addQuery('active',false);
grUser.query();
while (grUser.next()){
var grMember = new GlideRecord('sys_user_grmember');
grMember.addQuery('user',grUser.sys_id);
grMember.query();
while(grMember.next()){
grMember.deleteRecord();
}
}
Regards,
Dhanraj.