08-09-2018 12:53 PM
Estimados:
Alguno sabe si hay algún punto de los menús o algún script ya hecho que permita obtener la estructura completa de grupos con los usuarios que pertenecen a esos grupos (solo tengo dos niveles, no hay grupos asignados a grupos).
Sería algo así como:
Grupo1
Usuario 1
Usuario 2
Usuario n
Grupo2
Usuario 3
Usuario 4
Usuario n
Si además a continuación del usuario se pudiera poner el e-mail ya sería perfecto.
Muchas gracias, un cordial saludo.
08-09-2018 02:20 PM
var groups = groups.getAllRootGroups();
for each (var group in groups) {
logger.log("GROUP: " + group.getShortName());
var node = people.getGroup("GROUP_" + group.getShortName());
var members = people.getMembers(node);
for (var i=0; i < members.length; i++) {
logger.log("Member: " + members[i].properties["cm:userName"] +
", " + members[i].properties["cm:email"]);
}
var subGroups = group.getAllGroups();
for each (var subGroup in subGroups) {
logger.log("SUBGROUP: " + subGroup.getShortName());
var node = people.getGroup("GROUP_" + subGroup.getShortName());
var members = people.getMembers(node);
for (var i=0; i < members.length; i++) {
logger.log("Member: " + members[i].properties["cm:userName"] +
", " + members[i].properties["cm:email"]);
}
}
}
08-11-2018 05:46 AM
Muchas gracias Ángel.
Por favor, ¿podrías decirme cual es el directorio/fichero donde lo deja?
Un cordial saludo.
08-11-2018 06:35 AM
En el ejemplo anterior, la salida se escribe al log del sistema.
A continuación un ejemplo que lo escribe en "Shared/lista-usuarios.txt"
var sharedFolder = companyhome.childByNamePath("/Shared");
var file = sharedFolder.createFile("lista-usuarios.txt");
var content = "";
var groups = groups.getAllRootGroups();
for each (var group in groups) {
content = content + "GROUP: " + group.getShortName() + "\n";
var node = people.getGroup("GROUP_" + group.getShortName());
var members = people.getMembers(node);
for (var i=0; i < members.length; i++) {
content = content + "Member: " + members[i].properties["cm:userName"] +
", " + members[i].properties["cm:email"] + "\n";
}
var subGroups = group.getAllGroups();
for each (var subGroup in subGroups) {
content = content + "SUBGROUP: " + subGroup.getShortName() + "\n";
var node = people.getGroup("GROUP_" + subGroup.getShortName());
var members = people.getMembers(node);
for (var i=0; i < members.length; i++) {
content = content + "Member: " + members[i].properties["cm:userName"] +
", " + members[i].properties["cm:email"] + "\n";
}
}
file.content = content;
file.save();
}
08-11-2018 11:05 AM
Hola Ángel:
Esta opción parece mucho mejor.
Cuando la ejecuto me responde con un error como que no puede ejecutar el método createFile para null.
Supongo que es por
sharedFolder = companyhome.childByNamePath("/Shared");
Como en esto "toco de oído" tengo dos dudas:
1. ¿companyhome es C:alfresco-community (el directorio donde lo instalé)?
2. En tu respuesta anterior dices que lo escribe en el log del sistema ¿cómo se llama el fichero? ¿dónde está?
Otra vez muchísimas gracias por tu ayuda.
Un saludo.
08-13-2018 01:23 AM
Cambia “Shared” por “Compartido”
08-13-2018 05:23 AM
Buenos días Ángel:
Con el cambio a "Compartido" lo ejecuta sin problemas, pero no encuentro el fichero ·lista-usuarios.txt en el disco.
Tendría que estar, porque si intento volver a ejecutarlo da el error "fichero lista-usuarios.txt ya existe".
¿Tienes alguna idea al respecto?
Desde ya muchísimas gracias por tu ayuda.
08-13-2018 06:37 AM
Dale al botón Compartido de la barra negra superior de Share. Ahí está el archivo.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.