Skip to content

SharePoint Tenant CLI: Tu navaja suiza para SharePoint Online

¿Cansado de hacer malabares entre el portal de administración de SharePoint, un sinfín de pestañas y scripts de PowerShell para gestionar tus sitios? ¡Nosotros también! Por eso creamos spcli, una herramienta de consola en C# que centraliza la gestión de SharePoint Online. Olvídate de credenciales perdidas y clics infinitos. Con spcli, puedes tomar snapshots de tu tenant, revisar cuotas, consultar metadatos y mucho más, todo desde la comodidad de tu terminal.

Cómo surgió la idea: de la necesidad a la solución

La idea nació de una necesidad muy real en nuestro equipo de soporte: perdían horas valiosas sacando manualmente listas de sitios y verificando cuotas. Era un proceso repetitivo, tedioso y propenso a errores. Decidimos que tenía que haber una forma mejor.

  1. Evaluamos las APIs: Analizamos tanto el clásico CSOM (Client-Side Object Model) como la Microsoft Graph API. La meta era simple: encontrar la que nos diera más datos útiles con la menor complejidad.
  2. Elegimos la tecnología: Nos decantamos por .NET 6 por su velocidad y compatibilidad. Para la interfaz de usuario, usamos la genial librería Spectre.Console, que nos permitió crear menús interactivos y visualmente atractivos directamente en la consola.
  3. Diseñamos el flujo: Pensamos en un proceso lógico: primero scan para escanear todo el tenant, luego cache para guardar los datos localmente, seguido de comandos para list o revisar la quota, y finalmente, un modo interactivo para navegar sin comandos repetitivos.

Las funcionalidades estrella de spcli

  • spcli scan: Es el motor de la herramienta. Escanea todo el tenant de SharePoint, extrayendo datos esenciales como ID, URL, plantillas de sitio, fecha de modificación y cuota. Toda esta información se guarda en un archivo sites.cache.json para que no tengas que escanear de nuevo cada vez.
  • spcli list: Si necesitas un inventario rápido y fresco, este comando lista todos los sitios activos sin usar la caché. Ideal para comprobaciones al momento.
  • spcli quota <SiteId>: ¿Un usuario te pregunta cuánto espacio le queda? Con este comando, obtienes el uso de cuota de un sitio específico al instante, utilizando la Graph API.
  • Menú interactivo: La joya de la corona. Olvídate de los comandos. Simplemente inicia el menú y navega por un dashboard de texto con las flechas del teclado y Enter. Es como una interfaz gráfica, pero en tu terminal.

Una estrategia inteligente de caché y autenticación

La primera vez que ejecutas spcli, te pedirá tus credenciales (un ClientId/Secret) y creará un archivo settings.json en tu directorio de usuario. De esta forma, ya no tendrás que volver a introducirlas.

  • TTL de 12 horas para la caché: Encontramos el balance perfecto entre tener datos frescos y la velocidad. El archivo de caché se actualiza cada 12 horas, pero puedes forzar un nuevo escaneo cuando lo necesites.
  • Autenticación flexible: La herramienta soporta tanto SharePointOnlineCredentials (usuario y contraseña) como autenticación app-only con ClientId/Secret.

¿CSOM o Graph? La mejor parte de ambos mundos

Inicialmente, usamos CSOM para extraer los metadatos más comunes, pero nos dimos de bruces con sus limitaciones de paginación. La Microsoft Graph API nos dio la flexibilidad que necesitábamos, con una paginación de hasta 500 sitios por petición y acceso a propiedades más modernas, como TeamsChannel y OneDrivePersonal.

Casos de uso reales (y frikis)

  • Auditorías de compliance: Exporta el sites.cache.json y compáralo con tu base de datos de gestión de la configuración (CMDB).
  • Detección de sitios huérfanos: Lista los sitios sin actividad reciente para ver cuáles se pueden archivar.
  • Soporte rápido: Responde preguntas de usuarios al instante sin tener que abrir el navegador.
  • Integración en pipelines: Automatiza la generación de reportes lanzando spcli scan en tus procesos de integración continua (CI).

Moralejas Martinez

spcli es más que una simple herramienta. Es una consola elegante, con menús y barras de progreso, que te permite tener una visión completa de tu tenant de SharePoint. Su caché inteligente, el uso híbrido de APIs y su arquitectura extensible la convierten en la herramienta ideal para cualquier administrador de SharePoint que quiera trabajar de forma más eficiente.

¿Te interesa darle caña a tu tenant de SharePoint Online con una CLI friki pero profesional? ¡Cuéntanos tu caso y podríamos trabajar en un spcli personalizado para ti!

Volver arriba