logo

NJP

Batch add all users to a Group

Import · Nov 05, 2014 · article

I just had to create a group which contains all 6000 users in our system. Here's a simple little script that can do just that:

//first create an empty group and get its sys_id

var group_sys_id = '';

//the users table

var users = new GlideRecord('sys_user');

// Issue the query to the database to get all records

users.query();

while (users.next()) {

//put some filters here to get rid of any users you don't want to add

if(users.email.indexOf('unfpa.org') != -1 && users.active && users.source.match(/ldap:uid=.+\, ou=People, o=UNFPA/)) {

//the group members table

var members = new GlideRecord('sys_user_grmember')

members.initialize();

members.group = group_sys_id;

members.user = users.sys_id;

if(members.insert() != null) {

gs.log("Updated: "+users.name);

} else {

gs.log("Failed to update: "+users.name);

}

}

}

View original source

https://www.servicenow.com/community/new-york-city-snug/batch-add-all-users-to-a-group/ba-p/2292278