diff --git a/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/README.md b/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/README.md new file mode 100644 index 0000000000..2ac86c6748 --- /dev/null +++ b/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/README.md @@ -0,0 +1,4 @@ +This script is used in ServiceNow to remove the admin role from all users except the one running the script. +It's typically used during a security audit or access cleanup to ensure that only authorized users retain administrative access. +By targeting the sys_user_has_role table and checking for the admin role, it deletes role assignments for all users except the current user, helping reduce the risk of +unauthorized changes or privilege misuse in the system. diff --git a/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/script.js b/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/script.js new file mode 100644 index 0000000000..019545b119 --- /dev/null +++ b/Specialized Areas/Fix scripts/Remove Admin Role from All Non-Privileged Users/script.js @@ -0,0 +1,11 @@ +var adminRoleID = 'INSERT_ADMIN_ROLE_SYS_ID'; +var gr = new GlideRecord('sys_user_has_role'); +gr.addQuery('role', adminRoleID); +gr.query(); + +while (gr.next()) { + var userID = gr.user.sys_id + ''; + if (userID !== gs.getUserID()) { // Keep current user safe + gr.deleteRecord(); + } +}