mport org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.api.security.user.UserManager;
import java.util.Iterator;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.Group;
def resourceResolverFactory = getService("org.apache.sling.api.resource.ResourceResolverFactory")
def resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
def authorizable= userManager.getAuthorizable("<<Group-Name>>");
Group group = (org.apache.jackrabbit.api.security.user.Group) authorizable;
Node node = resourceResolver.adaptTo(Node.class);
int count = 1;
Iterator itr = group.getMembers();
if (itr.hasNext()){
println 'hello'
while(itr.hasNext()) {
String valText="";
Object obj = itr.next();
if(obj instanceof User) {
User user = (User) obj;
node = resourceResolver.getResource(user.getPath()).adaptTo(Node.class);
String nodePathStr = user.getPath().toString();
if (node.hasProperty("jcr:primaryType")){
String val_primaryType = node.getProperty("jcr:primaryType").getString();
if(val_primaryType.equals("rep:User")){
if(node.hasProperty("rep:principalName")){
valText=node.getProperty("rep:principalName").getString();
}
if(node.hasNode("profile")){
if(node.hasProperty("./profile/familyName")){
valText="User ID : "+valText+",... Last Name : "+node.getProperty("./profile/familyName").getString();
}
if(node.hasProperty("./profile/givenName")){
valText=valText+",... First Name : "+node.getProperty("./profile/givenName").getString();
}
if(node.hasProperty("./profile/email")){
valText=valText+",... Email : "+node.getProperty("./profile/email").getString();
}
if(nodePathStr!=null){
valText =valText+"... Node Path : "+nodePathStr;
}
}
}
println count +" " +valText;
count++;
}
}
}
}