Skip to content

groupMember

Overview

This object reads "Group Member" information available in "Server Script". A collection of "groupMember objects" can be retrieved using the group.GetMembers method of the "group object".

Properties

No Property Name get set type Description
1 GroupId ○ int Group ID
2 GroupName ○ string Group name*1
3 DeptId ○ int Department ID
4 DeptName ○ string Department name*1
5 DeptCode ○ string Department code*1
6 UserId ○ int User ID
7 LoginId ○ string Login ID*1
8 Name ○ string User name*1
9 UserCode ○ string User code*1
10 TenantManager ○ bool True if the user is a tenant administrator*1
11 Disabled ○ bool True if disabled*1
12 Admin ○ bool True if the user has group administration privileges

*1 Available in version 1.5.2.0 and later

Depending on whether the group member is a "Department", "Group", or "User", the GroupId, DeptId, and UserId properties are populated as shown in the table below.

Member is a User Member is a Department Member is a Child Group
GroupId 0 0 Group ID
DeptId 0 Department ID 0
UserId User ID 0 0

Usage Examples

Example for Version 1.5.1.0 and Earlier

The following example logs the department ID and user ID of each member belonging to group ID 1.

JavaScript
let group = groups.Get(1);
for (let member of group.GetMembers()) {
    context.Log(`${member.DeptId},${member.UserId}`);
}

Example for Version 1.5.2.0 and Later

The following example retrieves member information for group ID 6 and differentiates the retrieved data based on whether the member is a user, department, or child group.

JavaScript
// Retrieve the group object for group ID = 6
let group = groups.Get(6);

// Initialize output count counter
let cnt = 0;

// Process only if the group exists
if (group) {

    // Iterate over the group member list
    // GetMembers() returns user, department, and group members
    for (let member of group.GetMembers()) {

        // Determine member type: only one of UserId / DeptId / GroupId will be non-zero

        if (member.UserId != 0) {
            // UserId != 0: user member
            context.Log(`
            [User]
            UserId        : ${member.UserId}         // User ID
            LoginId       : ${member.LoginId}        // Login ID
            Name          : ${member.Name}           // Display name
            UserCode      : ${member.UserCode}       // User code
            TenantManager : ${member.TenantManager}  // Tenant administrator flag
            Disabled      : ${member.Disabled}       // Disabled flag
            Admin         : ${member.Admin}          // Group administrator flag
            `);

        } else if (member.DeptId != 0) {
            // DeptId != 0: department member
            context.Log(`
            [Department]
            DeptId   : ${member.DeptId}   // Department ID
            DeptName : ${member.DeptName} // Department name
            DeptCode : ${member.DeptCode} // Department code
            `);

        } else if (member.GroupId != 0) {
            // GroupId != 0: group member (nested group)
            context.Log(`
            [Group]
            GroupId   : ${member.GroupId}   // Group ID
            GroupName : ${member.GroupName} // Group name
            `);
        }

        // Separator line between members
        context.Log('-----');

        // Increment output count
        cnt++;
    }
}

// Output the total number of processed members
context.Log(`Output count: ${cnt}`);

Supported Versions

Supported Version Details
1.5.2.0 and later Added the following properties to the groupMember object:
GroupName, DeptName, DeptCode, LoginId, Name,
UserCode, TenantManager, Disabled