- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-08-2022 06:46 PM
Hi
My requirement is to add one role to particular groups by using fix script.
There are some filter conditions while querying the group table , below are the filter conditions
Group should be active, group should be itil, and group should be non working group.
By using those conditions we need to get that particular groups if those conditions are matched then we need to check that particular groups has sn_role , if this role is there to that groups then dont do any thing , if that role is not there to that groups then add sn_role.
This is my requirement.
Please suggest with your answers.
Thanks in advance
Regards
Aarya
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-08-2022 07:51 PM
Hi,
something like this; enhance it
addRole();
function addRole(){
try{
var gr = new GlideRecord("sys_user_group");
gr.addEncodedQuery("Your Query"); // give your query here
gr.query();
while(gr.next()) {
var gr1 = new GlideRecord("sys_group_has_role");
gr1.addQuery("group", gr.getUniqueValue());
gr1.addQuery("role.name", "sn_role"); // give exact role name here
gr1.query();
if (!gr1.hasNext()) {
gr1.initialize();
gr1.group = gr.getUniqueValue();
gr1.setDisplayValue('role','sn_role'); // give exact role name here
gr1.insert();
}
}
}
catch(ex){
gs.info(ex);
}
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-24-2022 10:44 PM
Please start from your side and it would be learning for you as well
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-01-2022 12:25 PM
Hi @Ankur Bawiskar, I ran the script below and it added the Role to every group, not just the groups where u_company is ABC. Will you please help me get this script to only add the role to groups where the value of the u_company field on the sys_user_groups table is 'ABC'?
addRole();
function addRole(){
try{
var gr = new GlideRecord("sys_user_group");
gr.addEncodedQuery('group.u_company=ABC'); // give your query here
gr.query();
while(gr.next()) {
var gr1 = new GlideRecord("sys_group_has_role");
gr1.addQuery("group", gr.getUniqueValue());
gr1.addQuery("role.name", "JR Test Role for ABC groups"); // give exact role name here
gr1.query();
if (!gr1.hasNext()) {
gr1.initialize();
gr1.group = gr.getUniqueValue();
gr1.setDisplayValue('role','JR Test Role for ABC groups'); // give exact role name here
gr1.insert();
}
}
}
catch(ex){
gs.info(ex);
}
}