Administrar usuarios de Portal o ArcGIS Online

1142
8
02-27-2023 04:15 PM
OscarSolis1
Esri Contributor
2 8 1,142

Como todos sabemos algo que se mantiene en constante cambio son los usuarios, personas que entran o salen de una organización o que incluso por cosas de la vida no usan la herramienta. El asunto es que si existiera una forma de controlar este tipo de flujos en el momento pues la tarea puede ser muy sencilla, eliminando un usuario del Portal en el instante en el que este ya no trabaje en la organización, pero sabemos que no siempre es así. Recientemente me tocó enfrentarme a una situación de este tipo, donde en el Portal que tiene más de 800 usuarios, muchos de ellos ya no usaban el portal por las razones expuestas anteriormente, así que, me tomé la libertad de crear una herramienta que me ayudara a comprender el problema, bueno dos herramientas para ser exactos.

OscarSolis1_0-1677541450493.png

 

La primera herramienta que se usa es la de Obtener los usuarios esta nos ayudará a comprender la cantidad de usuarios, tipos, si se han logueado recientemente o si nunca lo hicieron y deberían ingresar los siguientes parámetros:

  1. URL del Portal
  2. Usuario (de un administrador)
  3. Contraseña de ese usuario
  4. La dirección y nombre de un archivo csv.

OscarSolis1_1-1677541632348.png

Quedando algo así como se indica en la imagen de arriba, con esto obtendremos un csv con información del nombre completo del usuario, usuario, nivel de usuario, rol, fecha del último acceso en texto y fecha.

OscarSolis1_2-1677541668082.png

Ya ahora deberíamos ser capaces de seleccionar o exportar únicamente los usuarios que debemos borrar (esto se hizo en consenso con el cliente), en este caso fueron todos los usuarios que no inician sesión en el ArcGIS Enterprise desde 2018 hasta diciembre de 2021. Así que se exporta una tabla csv que contenga únicamente el campo de usuario.

Por lo que la siguiente herramienta a usar es Eliminar Usuarios de Portal o ArcGIS Online. Esta herramienta por medio de una lista eliminará los usuarios que se encuentren en esa lista (csv), pero no sólamente eso, sino que el script revisa si el usuario tiene ítems y grupos. Si tiene grupos y son el dueño, reemplaza al dueño del grupo por el usuario que están usando que debería ser administrador, si de casualidad, el usuario es miembro del grupo y no el dueño lo que hará es agregar el usuario que estemos usando y luego borrará del grupo al usuario. Si el usuario tiene ítems, este revisará los ítems que tienen en la carpeta raíz y los pasará a la raíz del usuario, si están en una carpeta, lo que hará es crear una carpeta con el mismo nombre en el usuario que estemos usando y luego moverá los ítems a la carpeta correspondiente dentro del usuario que estemos usando.

Esta herramienta requiere lo siguiente:

  1. URL del Portal
  2. Usuario (de un administrador)
  3. Contraseña de ese usuario
  4. Csv con los usuarios a eliminar

Cabe destacar que como indico anteriormente solo se requiere la lista de usuarios, por lo que el csv debe lucir algo así:

OscarSolis1_3-1677542492973.png

La Herramienta una vez cargado lo requerido lucirá así:

OscarSolis1_4-1677542682580.png

Cabe destacar que no todo es a prueba de fallas y es que de los 52 usuarios que borré, tuve inconvenientes con 3 de ellos, básicamente con los grupos, en algunos casos no entiendo el por qué, pero me da error de que no puede cambiar el administrador del grupo y en uno de esos tres casos me dio error porque el usuario que estaba usando tenía un grupo con el mismo nombre que el usuario que quería eliminar. Sigo trabajando en eso, pero espero resolverlo. Además si tienen alguna sugerencia para mejorar la herramienta me lo pueden hacer saber.

Otra cosa muy importante que debo aclarar es que el toolbox que se encuentra adjunto es para versión 3 en adelante, si se tiene una versión anterior a 2.9, pues hay que configurar el toolbox, es por eso que también adjunto los scripts y puedan personalizarlo. Dejo acá un enlace que es una pequeña guía para configurar herramientas con versiones inferiores a 2.9

NOTA: actualicé el script porque tenía un error en un print, por lo tanto, ahora no debería de salir este error "TypeError: AddMessage() got an unexpected keyword argument 'end'"

Espero que les sea de utilidad la herramienta que les comparto.

Para más información pueden acceder a mi github

8 Comments