From 3f421a1a0624c62f59ebaedacc91fec6bc551a1c Mon Sep 17 00:00:00 2001 From: Thrizvi <145013431+Thrizvi@users.noreply.github.com> Date: Fri, 31 Oct 2025 11:07:08 +0530 Subject: [PATCH 1/2] Create Assignation of Roles Remove previous roles and groups and assign new role to certain user --- .../Assign New roles/Assignation of Roles | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Server-Side Components/Background Scripts/Assign New roles/Assignation of Roles diff --git a/Server-Side Components/Background Scripts/Assign New roles/Assignation of Roles b/Server-Side Components/Background Scripts/Assign New roles/Assignation of Roles new file mode 100644 index 0000000000..b62b4b9f65 --- /dev/null +++ b/Server-Side Components/Background Scripts/Assign New roles/Assignation of Roles @@ -0,0 +1,52 @@ +var op = new GlideRecord('sys_user'); +op.addEncodedQuery('nameSTARTSWITHBow Ruggeri'); // Filter +op.query(); + +while (op.next()) { + var userSysId = op.getValue('sys_id'); + var userName = op.getDisplayValue('name'); + + //Remove user from all groups + var groupMemberGR = new GlideRecord('sys_user_grmember'); + groupMemberGR.addQuery('user', userSysId); + groupMemberGR.query(); + + var removedGroups = false; + while (groupMemberGR.next()) { + groupMemberGR.deleteRecord(); + removedGroups = true; + } + + if (removedGroups) { + gs.print('Removed groups for: ' + userName); + } else { + gs.print('No groups to remove for: ' + userName); + } + + //Remove all roles + var roleGR = new GlideRecord('sys_user_has_role'); + roleGR.addQuery('user', userSysId); + roleGR.query(); + + var removedRoles = false; + while (roleGR.next()) { + roleGR.deleteRecord(); + removedRoles = true; + } + + if (removedRoles) { + gs.print('Removed roles for: ' + userName); + } else { + gs.print('No roles to remove for: ' + userName); + } + + //'snc_internal' role + var newRoleGR = new GlideRecord('sys_user_has_role'); + newRoleGR.initialize(); + newRoleGR.user = userSysId; + newRoleGR.role = '5108ea6ac3bc7210dffb1cedd4013191'; //snc_internal + newRoleGR.insert(); + + gs.print('Assigned snc_internal role to: ' + userName); + +} From db3751504d745221bf15fde2597d5901191fe5c1 Mon Sep 17 00:00:00 2001 From: Thrizvi <145013431+Thrizvi@users.noreply.github.com> Date: Fri, 31 Oct 2025 11:10:01 +0530 Subject: [PATCH 2/2] Create Readme.md Remove and assign roles --- .../Background Scripts/Assign New roles/Readme.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Server-Side Components/Background Scripts/Assign New roles/Readme.md diff --git a/Server-Side Components/Background Scripts/Assign New roles/Readme.md b/Server-Side Components/Background Scripts/Assign New roles/Readme.md new file mode 100644 index 0000000000..4e5913ba6d --- /dev/null +++ b/Server-Side Components/Background Scripts/Assign New roles/Readme.md @@ -0,0 +1,5 @@ +This script is for to remove previous role and group from a certain user then assign specific role to that particular user + +Real Time scenario - +- Such scripts will be used in Mapping of data +- This can be manual action which can be run for once with the help of fix scrips