How to add multiple users to a group using fix script

praveenKumar2
Kilo Expert

Hi All,

I am trying to add multiple users to a group using Fix Scripts or a background script. 

i used the following script in the background but couldnt execute it.

var gr = new GlideRecord('sys_user');
var user = gr.addEncodedQuery('emailLIKE@example.com');
gr.query();
while(gr.next()){
var grmem = new GlideRecord('sys_user_grmember');
var grp = grmem.get('0c4e7b573b331300ad3cc9bb34efc461');// getting the group
grmem.addQuery('user', user);
grmem.query();
while(grmem.next()){
grmem.initialize();

grmem.user = user;
grmem.group = grp;
grmem.insert();

}

}

Please let me know what i am missing.

1 ACCEPTED SOLUTION

Mike Allen
Mega Sage

Instead of:

while(gr.next()){

var grmem = new GlideRecord('sys_user_grmember');
var grp = grmem.get('0c4e7b573b331300ad3cc9bb34efc461');// getting the group
grmem.addQuery('user', user);
grmem.query();
while(grmem.next()){
grmem.initialize();

grmem.user = user;
grmem.group = grp;
grmem.insert();

}

}

Just do:

while(gr.next()){

var grmem = new GlideRecord('sys_user_grmember');

grmem.initialize();
grmem.group = '0c4e7b573b331300ad3cc9bb34efc461';

grmem.user = gr.sys_id;

grmem.insert();

}

View solution in original post

4 REPLIES 4

The Machine
Kilo Sage

You should be able to do that from the slushbucket page for Group > Group Members.  Set your filter to email contains and then click on Run.  

There are more than 500 users that need to be added to the group. I want to do it via script

That’s not too bad. Would only take a minute or two. In any event try taking var user = and var group =. Then remove the get query. Set user to gr.sys_id and group to the sys_id of the group in your get call.

Mike Allen
Mega Sage

Instead of:

while(gr.next()){

var grmem = new GlideRecord('sys_user_grmember');
var grp = grmem.get('0c4e7b573b331300ad3cc9bb34efc461');// getting the group
grmem.addQuery('user', user);
grmem.query();
while(grmem.next()){
grmem.initialize();

grmem.user = user;
grmem.group = grp;
grmem.insert();

}

}

Just do:

while(gr.next()){

var grmem = new GlideRecord('sys_user_grmember');

grmem.initialize();
grmem.group = '0c4e7b573b331300ad3cc9bb34efc461';

grmem.user = gr.sys_id;

grmem.insert();

}