Skip to content

Commit 955c2b5

Browse files
removeuser.js
1 parent e05cdcf commit 955c2b5

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
var SEVEN_DAYS_AGO = new GlideDateTime();
2+
3+
SEVEN_DAYS_AGO.addDaysUTC(-7);
4+
5+
//Get group sys_ids from system property
6+
7+
var groupSysIdsStr = gs.getProperty('inactiveuser.groupname');
8+
9+
if (!groupSysIdsStr) {
10+
11+
12+
13+
14+
}
15+
16+
var GroupSysIds = groupSysIdsStr.split(','); // Split grp sysid with ,
17+
18+
//group members in those groups
19+
20+
var groupMemberGR = new GlideRecord('sys_user_grmember');
21+
22+
groupMemberGR.addQuery('group', 'IN', GroupSysIds.join(','));
23+
24+
groupMemberGR.query();
25+
26+
while (groupMemberGR.next()) {
27+
28+
var userID = groupMemberGR.getValue('user');
29+
30+
if (!userID) continue;
31+
32+
var userGR = new GlideRecord('sys_user');
33+
34+
if (!userGR.get(userID)) continue;
35+
36+
if (userGR.active) continue; // Active user skip
37+
38+
var updatedOn = new GlideDateTime(userGR.sys_updated_on);
39+
40+
if (updatedOn.compareTo(SEVEN_DAYS_AGO) >= 0) { // User was updated within 7 days, so skip
41+
42+
// gs.info("Skipping user: " + userGR.name + " - updated on " + userGR.getDisplayValue('sys_updated_on'));
43+
44+
continue;
45+
46+
}
47+
48+
var groupName = groupMemberGR.group.getDisplayValue();
49+
50+
51+
52+
//Unassign Incident record
53+
54+
var inc = new GlideRecord('incident');
55+
56+
inc.addQuery('assigned_to', userID);
57+
58+
59+
inc.addQuery('state', '!=', '3');
60+
61+
inc.query();
62+
63+
while (inc.next()) {
64+
65+
66+
inc.assigned_to = '';
67+
68+
inc.update();
69+
70+
71+
72+
}
73+
74+
75+
76+
// Remove user from group
77+
78+
gs.info("Removing user: " + userGR.name + " from group: " + groupName);
79+
80+
groupMemberGR.deleteRecord();
81+
82+
}

0 commit comments

Comments
 (0)