Skip to content

Commit 3f421a1

Browse files
authored
Create Assignation of Roles
Remove previous roles and groups and assign new role to certain user
1 parent f9a60bc commit 3f421a1

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
var op = new GlideRecord('sys_user');
2+
op.addEncodedQuery('nameSTARTSWITHBow Ruggeri'); // Filter
3+
op.query();
4+
5+
while (op.next()) {
6+
var userSysId = op.getValue('sys_id');
7+
var userName = op.getDisplayValue('name');
8+
9+
//Remove user from all groups
10+
var groupMemberGR = new GlideRecord('sys_user_grmember');
11+
groupMemberGR.addQuery('user', userSysId);
12+
groupMemberGR.query();
13+
14+
var removedGroups = false;
15+
while (groupMemberGR.next()) {
16+
groupMemberGR.deleteRecord();
17+
removedGroups = true;
18+
}
19+
20+
if (removedGroups) {
21+
gs.print('Removed groups for: ' + userName);
22+
} else {
23+
gs.print('No groups to remove for: ' + userName);
24+
}
25+
26+
//Remove all roles
27+
var roleGR = new GlideRecord('sys_user_has_role');
28+
roleGR.addQuery('user', userSysId);
29+
roleGR.query();
30+
31+
var removedRoles = false;
32+
while (roleGR.next()) {
33+
roleGR.deleteRecord();
34+
removedRoles = true;
35+
}
36+
37+
if (removedRoles) {
38+
gs.print('Removed roles for: ' + userName);
39+
} else {
40+
gs.print('No roles to remove for: ' + userName);
41+
}
42+
43+
//'snc_internal' role
44+
var newRoleGR = new GlideRecord('sys_user_has_role');
45+
newRoleGR.initialize();
46+
newRoleGR.user = userSysId;
47+
newRoleGR.role = '5108ea6ac3bc7210dffb1cedd4013191'; //snc_internal
48+
newRoleGR.insert();
49+
50+
gs.print('Assigned snc_internal role to: ' + userName);
51+
52+
}

0 commit comments

Comments
 (0)