- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2022 11:48 PM
Hi,
I have a reqirement called
How can we add a user to a group by using background script.
Kindly provide ur inputs it is on priority.
Best Regards,
Shaik Nabi Khaja.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2022 12:09 AM
Then use script provided by me.
Just copy past user and group sys_id where ever mentioned.
Please Mark My Response as Correct/Helpful based on Impact
Regards,
Gunjan Kiratkar
2X ServiceNow MVP
Community Rising Star 2022
Youtube : ServiceNow Guy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2022 12:21 AM - edited 12-30-2022 12:23 AM
Hi @Shaik nabi khaj ,
Apply filter on sys_user table for those users based on email or user ID.
Copy that encoded query as below,
Script :- Add group sys_id only
Replace below encoded query with yours
var grUser = new GlideRecord("sys_user");
grUser.addEncodedQuery("emailINshaun.tait@example.com,john.smith@example.com");
grUser.query();
while (grUser.next()) {
var gr = new GlideRecord('sys_user_grmember');
gr.initialize();
gr.group = 'group sys_id';
gr.user = grUser.sys_id;
gr.insert();
}
Please Mark My Response as Correct/Helpful based on Impact
Regards,
Gunjan Kiratkar
2X ServiceNow MVP
Community Rising Star 2022
Youtube : ServiceNow Guy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2022 11:50 PM - edited 12-29-2022 11:53 PM
Hi,
You can use below code.
function addUserToGroup(usr_list,id){//usr_list: comma sepaerated sys_ids of users, id: sys_is of group
var usersAdd = usr_list.split(",");
var newgrpmember;
var newgrpmemberIsPresent;
for (var i = 0; i < usersAdd.length; i++)
{
newgrpmemberIsPresent = new GlideRecord('sys_user_grmember');
newgrpmemberIsPresent.addQuery('group',id);
newgrpmemberIsPresent.addQuery('user',usersAdd[i]+"");
newgrpmemberIsPresent.query();
if(!newgrpmemberIsPresent.next())
{
newgrpmember = new GlideRecord('sys_user_grmember');
newgrpmember.initialize();
newgrpmember.group =id;
newgrpmember.user=usersAdd[i]+"";
newgrpmember.insert();
}
}
}
addUserToGroup("user1sys_id,user2sys_id","groupsys_id");
addUserToGroup("user3sys_id","groupsys_id");
Thanks and Regards,
Saurabh Gupta
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2022 11:53 PM
Hi @Shaik nabi khaj ,
Your requirement is not clear, where exactly you wanted to use that how you are getting users and groups records. But at the high level You can use below script
var gr = new GlideRecord('sys_user_grmember');
gr.initialize();
gr.group='group sys_id';
gr.user = 'user sys_id';
gr.insert();
Please Mark My Response as Correct/Helpful based on Impact
Regards,
Gunjan Kiratkar
2X ServiceNow MVP
Community Rising Star 2022
Youtube : ServiceNow Guy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2022 12:02 AM
Hi @Gunjan Kiratkar,
I have a group called 'Azure patch' in group table.
I have a user called 'cristina altofin' in user table.
So now i want to add that user to group by using background script.
Best Regards,
Shaik Nabi Khaja.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2022 12:09 AM
Then use script provided by me.
Just copy past user and group sys_id where ever mentioned.