特定のグループに所属するユーザーのみを参照する方法について

NaoyaT
Tera Expert
スクリプト初心者ですが、設定方法をご教示いただきたいです。
カタログアイテムの参照変数で、特定のグループに所属するグループのみを参照させたいのですが、
sys_userテーブルにグループ情報が無いため、スクリプトで実装を試みていますがうまく設定ができません。
 
現在、参照変数を以下の通り設定しています。
 
■[Service Catalog]-[Maintain Items]-[Variables] 
Type:Reference
Reference:User[sys_user]
User reference qualifer:Advanced
Reference qualifer:
----------------------
var grmem = new GlideRecord('sys_user_grmember');
gr.addquery('group','test_group_name');
gr.query();
var usrIDs = [];
 
while(grmem.next()){
usrIDs.push(grmem.User.sys_id.toString());
}
 
'sys_idIN' + usrIDs.join(',');
----------------------
1 件の受理された解決策

@NaoyaT 

script I shared should work fine if you are using correct group name from sys_user_group table and also if there are users under that

small correction in the GlideRecord object

Here is the updated script with group name

javascript: var query; var grmem = new GlideRecord('sys_user_grmember');
gr.addQuery('group.name','test_group_name');
gr.query();
var usrIDs = [];
while(gr.next()){
usrIDs.push(gr.user.sys_id.toString());
}
query = 'sys_idIN' + usrIDs.join(',');
query;

If you want to use group sysId then use this

javascript: var query; var grmem = new GlideRecord('sys_user_grmember');
gr.addQuery('group','groupSysId');
gr.query();
var usrIDs = [];
while(gr.next()){
usrIDs.push(gr.user.sys_id.toString());
}
query = 'sys_idIN' + usrIDs.join(',');
query;

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

元の投稿で解決策を見る

5件の返信5

@Ankur Bawiskar 

Thank you for your response.

I have set up the script as you suggested,
I was able to see only the users who belong to a specific group.
Thank you very much for your help.