Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

How to add a user to a group by using background script

Shaik nabi khaj
Tera Expert

 

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.

2 ACCEPTED SOLUTIONS

Hi @Shaik nabi khaj 

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

View solution in original post

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, 

GunjanKiratkar_0-1672388410387.png

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

View solution in original post

8 REPLIES 8

Hi,

It is working fine.

But now i want to add 10 users to same group at a time.

How can we do.

 

Best Regards,

Shaik nabi Khaja.

For that you can use below script

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");//add comma seperated sys_ids of user as many as you want and second parameter is group's sysid

Thanks and Regards,

Saurabh Gupta

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, 

GunjanKiratkar_0-1672388410387.png

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

var gr = new GlideRecord('sys_user_grmember');
    gr.initialize();
    gr.group = 'group sysID';
    gr.user = "user sysID";
    gr.update();