File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
Server-Side Components/Background Scripts/Auto-Deactivate Users Not Logged In for X Days Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * Deactivate Dormant Users (Parameterized)
3+ *
4+ * Deactivates users in ServiceNow who have not logged in for the specified number of days.
5+ * Example: deactivateDormantUsers(60);
6+ */
7+
8+ function deactivateDormantUsers ( daysInactive ) {
9+ if ( ! daysInactive || isNaN ( daysInactive ) ) {
10+ gs . error ( "❌ Please provide a valid number of days. Example: deactivateDormantUsers(90);" ) ;
11+ return ;
12+ }
13+
14+ var cutoff = new GlideDateTime ( ) ;
15+ cutoff . addDaysUTC ( - daysInactive ) ;
16+
17+ var gr = new GlideRecord ( 'sys_user' ) ;
18+ gr . addNotNullQuery ( "last_login_time" ) ;
19+ gr . addQuery ( 'last_login_time' , '<' , cutoff ) ;
20+ gr . addQuery ( 'active' , true ) ;
21+ gr . query ( ) ;
22+
23+ var count = 0 ;
24+ while ( gr . next ( ) ) {
25+ gr . active = false ;
26+ gr . update ( ) ;
27+ count ++ ;
28+ }
29+
30+ gs . info ( '✅ Deactivated ' + count + ' users inactive for over ' + daysInactive + ' days (before ' + cutoff . getDisplayValue ( ) + ').' ) ;
31+ }
32+
33+ // Example run
34+ // deactivateDormantUsers(90);
Original file line number Diff line number Diff line change 1+ # 🧹 ServiceNow Dormant User Cleanup
2+
3+ ** ServiceNow Background Script** to automatically ** deactivate users** who haven't logged in for a specified number of days.
4+
5+ ## 🚀 Usage
6+ 1 . Navigate to ** System Definition → Scripts - Background** .
7+ 2 . Paste the script and execute:
8+ ``` javascript
9+ deactivateDormantUsers (90 );
You can’t perform that action at this time.
0 commit comments