diff --git a/Server-Side Components/Scheduled Jobs/Auto Disable account/Disable Service accounts due to inactivity b/Server-Side Components/Scheduled Jobs/Auto Disable account/Disable Service accounts due to inactivity new file mode 100644 index 0000000000..746c907ff4 --- /dev/null +++ b/Server-Side Components/Scheduled Jobs/Auto Disable account/Disable Service accounts due to inactivity @@ -0,0 +1,25 @@ +var user = new GlideRecord("sys_user"); +user.addActiveQuery(); +user.addEncodedQuery("last_loginISNOTEMPTY^u_service_account=true"); +user.query(); +while (user.next()) { + var arr = []; + arr.push(user.last_login); + for (var i = 0; i <= arr.length - 1; i++) { + var time = arr[i]; + var date1 = new GlideDate(); + date1.setValue(time); + var date2 = new GlideDate(); + var millisecondsDifference = date2.getNumericValue() - date1.getNumericValue(); + var daysDifference = millisecondsDifference / (1000 * 60 * 60 * 24); + var days = Math.floor(daysDifference); + if (days > 30) { + user.active = false; + user.locked_out = true; + user.update(); + } + + } + + +} diff --git a/Server-Side Components/Scheduled Jobs/Auto Disable account/Readme.md b/Server-Side Components/Scheduled Jobs/Auto Disable account/Readme.md new file mode 100644 index 0000000000..76aa376aca --- /dev/null +++ b/Server-Side Components/Scheduled Jobs/Auto Disable account/Readme.md @@ -0,0 +1 @@ +This schedule job script will help to auto disable the service accounts which has not been logged in or used for last 30 days. This can be helpful for those who are looking to disable the accounts based on some certain time period.