/

Cómo usar la monitorización RMM para el seguimiento de licencias SaaS de clientes a lo largo del tiempo

por Team Ninja
How to Use RMM Monitoring to Track Client SaaS License Usage Over Time blog banner image
How to Use RMM Monitoring to Track Client SaaS License Usage Over Time blog banner image

Prueba nuestro software de gestión de endpoints n.º 1 en G2

Sin necesidad de tarjeta de crédito, acceso completo a todas las funciones.

Webinar

Actualizaciones de NinjaOne 12.0: todo lo que necesitas saber

Automatiza las aspectos más complejos de la TI

Puntos clave

  • Automatiza la extracción de licencias de M365 con un RMM: ejecuta scripts de PowerShell basados en Graph de forma programada (semanal o mensual) desde tu RMM para guardar en CSV una instantánea de los usuarios y las licencias asignadas, lista para auditar.
  • Centraliza los scripts en NinjaOne: añade los scripts a la biblioteca, selecciona los dispositivos y programa las ejecuciones para recopilar datos de uso de forma constante y sin trabajo manual.
  • Correlaciona las señales del agente: aprovecha el inventario de software y los datos de procesos del RMM para deducir la actividad SaaS, detectar aplicaciones y licencias sin uso y marcar las candidatas a recuperación.
  • Crea informes longitudinales: guarda instantáneas fechadas (por ejemplo, LicenseUsage-YYYY-MM-DD.csv) y compara las diferencias a lo largo del tiempo para descubrir tendencias de adopción y cuentas inactivas cuya licencia puedes recuperar.
  • Ponlo en marcha con alertas e informes: usa informes programados y alertas para avisar a los responsables cuando una licencia lleve sin usarse un periodo determinado y para enviar resúmenes de uso periódicos.

El coste de las licencias SaaS crece al mismo ritmo que la empresa y, a medida que los entornos se reparten entre herramientas distintas, el seguimiento se complica. Los administradores pueden apoyarse en plataformas RMM para obtener una visión clara de los datos de uso, seguir las tendencias de adopción y detectar licencias sin utilizar. En esta guía veremos cómo usar scripts y automatización para un seguimiento de licencias SaaS proactivo, eficiente y auditable.

Automatiza el seguimiento del uso de licencias y optimiza tus costes de SaaS.

→ Regístrate en la prueba gratuita de 14 días de NinjaOne RMM.

Scripts RMM personalizados para automatizar el seguimiento de licencias SaaS

Una buena estrategia de gestión de licencias de software permite a las organizaciones identificar y reasignar licencias SaaS infrautilizadas, con el consiguiente ahorro y mejor control del presupuesto. Desde el punto de vista de la gestión, tener visibilidad clara de las licencias ayuda a los administradores a analizar tendencias de uso y a justificar la renovación o la retirada. Automatizar la gestión de licencias SaaS con herramientas RMM aporta visibilidad y cumplimiento constantes, ahorra tiempo, reduce el trabajo manual y recorta costes.

Requisitos previos:

  • Plataforma RMM con capacidades de scripting, informes y automatización
  • Credenciales de API de las plataformas SaaS
  • Privilegios de administrador
  • Endpoints compatibles con PowerShell, Bash y CMD

Estrategias de despliegue recomendadas:

Elige un método 💻
Mejor para usuarios individuales
💻💻💻
Mejor para empresas
Método 1: scripts de PowerShell para consultar informes de uso de licencias en Microsoft 365 ✓
Método 2: monitorizar y correlacionar los datos del agente RMM para detectar señales SaaS ✓
Método 3: generar informes longitudinales sobre el uso de SaaS ✓

Nota: esta guía recoge scripts de PowerShell, batch y bash que puedes desplegar en plataformas RMM compatibles con estos lenguajes. Por sencillez y coherencia, usaremos NinjaOne RMM como plataforma de referencia.

Cómo añadir scripts personalizados a la consola de NinjaOne RMM

NinjaOne admite PowerShell, batch y scripts de bash, por lo que sirve para ejecutar todos los scripts de esta guía. Así puedes añadir scripts de automatización personalizados a la biblioteca de scripts de NinjaOne:

  1. Abre la consola de NinjaOne RMM y ve a:

Administration > Library > Automation.

  1. Dentro de Automation, pulsa Add y selecciona New Script.
  2. Rellena los campos y parámetros necesarios para tu script personalizado.
  3. Introduce el script que quieras para guardarlo como script de automatización.
    • Asegúrate de que el lenguaje seleccionado coincide con el del script.
  4. Una vez guardado, puedes usar las herramientas integradas de NinjaOne para elegir los dispositivos de destino de la automatización marcando la casilla que aparece junto a cada uno.

Método 1: scripts de PowerShell para consultar informes de uso de licencias en Microsoft 365

Caso de uso: los administradores pueden usar scripts de PowerShell para automatizar las auditorías de licencias SaaS desde una plataforma RMM.

Requisito previo: PowerShell 5.1 o posterior.

A. Conectarse a Microsoft 365 para recuperar las licencias asignadas

El siguiente script de PowerShell conecta al administrador con la API de Microsoft Graph con permiso para leer datos de usuarios y licencias. El script recupera todos los usuarios que tienen al menos una licencia asignada, así que resulta ideal para crear un inventario de distribución de licencias.

Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
Get-MgUser -All | Where-Object {$_.AssignedLicenses.Count -gt 0} | Select DisplayName, UserPrincipalName, AssignedLicenses

B. Exportar los datos de uso de licencias

Este script exporta todos los datos de usuario a un archivo CSV, perfecto para documentar y registrar el uso de licencias. Con un RMM, los administradores pueden programar la ejecución del script para generar informes de licencias de forma periódica.

Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
New-Item -ItemType Directory -Path "C:\Reports" -Force | Out-Null
Get-MgUser | Export-Csv -Path "C:\Reports\LicenseUsage.csv" -NoTypeInformation
CONSEJO: puedes sustituir C:\Reports por la ruta que quieras usar como destino de exportación.

Método 2: monitorizar y correlacionar los datos del agente RMM para detectar señales SaaS

Casos de uso: los administradores pueden aprovechar los servicios de su plataforma RMM para deducir la actividad de las aplicaciones SaaS en los endpoints gestionados.

Detectar procesos de aplicaciones SaaS para un seguimiento de licencias eficaz

Los administradores pueden recurrir a los informes de inventario de software de una plataforma RMM y olvidarse del scripting y del inventario manual. NinjaOne, por ejemplo, muestra patrones de uso, actualizaciones y licencias del software, lo que ayuda a gestionar y asignar aplicaciones de forma eficiente a gran escala.

Un buen seguimiento del inventario de software permite saber cuándo se instala o se desinstala una aplicación y ofrece información sobre licencias sin uso que se pueden reasignar.

Informes programados sobre el inventario de software

RMM como NinjaOne pueden recopilar datos completos sobre instalaciones y desinstalaciones de software en multitud de dispositivos. También ayudan a detectar software no autorizado o sin licencia, lo que los convierte en una pieza clave para el cumplimiento en materia de licencias.

Los administradores pueden reunir esta información en informes programados y disponer así de un inventario de software más claro para planificar y para una gestión de activos de TI proactiva.

¿Es la primera vez que trabajas con plataformas RMM? Consulta las preguntas frecuentes sobre RMM de NinjaOne para encontrar respuestas rápidas a las dudas más habituales.

Método 3: generar informes longitudinales sobre el uso de SaaS

Casos de uso: aprovecha los scripts de PowerShell a través de plataformas RMM para obtener información sobre el uso de licencias SaaS en todo el entorno durante un periodo prolongado. Después, los administradores pueden comparar los informes generados para detectar tendencias de uso a lo largo del tiempo.

Requisitos previos:

  • Dispositivos unidos a Microsoft 365 o Azure AD
  • Rol de administrador
  • Módulo de PowerShell de Microsoft Graph instalado

Nota: el ejemplo siguiente hace seguimiento de los usuarios de Microsoft 365 de una organización y lo guarda como informe semanal. Puedes modificar el script para adaptarlo a los parámetros que prefieras.

A. Script para crear instantáneas periódicas de los datos de uso

El siguiente script recupera todas las cuentas de usuario de Microsoft 365, incluidos los nombres de usuario, los correos electrónicos, el estado de la cuenta y las licencias asignadas. Después lo exporta a C:\SaaSReports como archivo CSV, con un nombre que incluye la fecha de creación.

$date = Get-Date -Format "yyyy-MM-dd"
$path = "C:\SaaSReports"
if (!(Test-Path $path)) { mkdir $path | Out-Null }
Get-MgUser | Export-Csv "$path\LicenseUsage-$date.csv" -NoTypeInformation

B. Script de ejemplo para comparar informes anteriores

Cuando ya se han recopilado suficientes datos de uso de licencias, los administradores pueden usar scripts para comparar informes y representar la evolución del uso. Esto también ayuda a identificar cuentas inactivas cuya licencia se puede recuperar y a justificar el aumento o la reducción de licencias del entorno.

Compare-Object `
-ReferenceObject (Import-Csv "C:\SaaSReports\LicenseUsage-2025-08-01.csv") `
-DifferenceObject (Import-Csv "C:\SaaSReports\LicenseUsage-2025-08-08.csv") `
-Property UserPrincipalName

Aspectos a tener en cuenta

Riesgos Consecuencias posibles Cómo revertirlo
Desplegar scripts sin probarlos lo suficiente No todos los entornos están configurados igual; un script puede comportarse de forma distinta en cada organización. Prueba los scripts en local, en un entorno controlado, para comprobar que funcionan antes de desplegarlos.
Sintaxis incorrecta y errores en los scripts Una sintaxis incorrecta o una errata pueden provocar fallos y hacer que el script no se ejecute. Revisa dos veces la sintaxis de los scripts, sobre todo las variables, las rutas y los cmdlets.

Asegúrate de que los módulos de PowerShell necesarios y las carpetas de destino existen antes de escribir archivos.

Incompatibilidad de plataforma Cmdlets como Get-MgUser y los módulos de Microsoft Graph no funcionan en dispositivos macOS ni Linux. Comprueba que la lógica de tu script es compatible con el sistema operativo y la interfaz de línea de comandos que utilizas.

Solución de problemas en los informes de uso de licencias SaaS

Problema n.º 1: faltan datos de licencias

Al ejecutar un script para consultar el informe de uso de licencias, a veces se obtienen listas de usuarios y asignaciones de licencias incompletas. Las causas más habituales son tokens de API caducados o ámbitos de permisos que faltan. Una solución es reiniciar la conexión con Microsoft Graph ejecutando este script de PowerShell:

Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"

Además de contar con el token y los ámbitos correctos, también es importante tener permisos de administrador suficientes para acceder a los datos de licencias. Para comprobarlo, abre el centro de administración de Microsoft 365, ve a la cuenta de usuario que ejecuta el script y entra en roles asignados. Ahí debería aparecer al menos Reports Reader o User Administrator.

Problema n.º 2: los scripts no se ejecutan desde el RMM

Comprueba si la instancia de PowerShell de destino bloquea el script mediante la directiva de ejecución introduciendo lo siguiente:

powershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\YourScript.ps1"
NOTA: sustituye C:\Path\To\YourScript.ps1 por la ruta real de tu script.

Comprueba también si estás ejecutando los scripts como USER o como SYSTEM con este comando:

Write-Output "Running as: $env:USERNAME"

Para monitorizar licencias SaaS, la ejecución como USER da acceso a los datos específicos del usuario y a otras variables ligadas a la sesión iniciada.

Problema n.º 3: registros incompletos en los endpoints

Configura la GPO para que las directivas de auditoría estén habilitadas en los endpoints de destino. Para ello, abre gpmc.msc y ve a Configuración del equipo > Configuración de Windows > Configuración de seguridad > Configuración avanzada de la directiva de auditoría. Comprueba que Auditar inicio de sesión, Auditar cierre de sesión, Auditar inicio de sesión especial y Auditar otros eventos de inicio y cierre de sesión están habilitados en una GPO vinculada a la OU de destino.

Guía de inicio rápido

El RMM de NinjaOne ofrece capacidades de monitorización para seguir el uso de las licencias SaaS de tus clientes a lo largo del tiempo. NinjaOne cuenta con potentes funciones de seguimiento de licencias en el portal de partners de copia de seguridad SaaS:

1. Seguimiento del uso de puestos

  • Muestra el porcentaje de puestos de pago utilizados para la copia de seguridad
  • Ofrece informes detallados sobre el uso de los puestos
  • Registra el número de cuentas activas, desactivadas y totales

2. Informes de cobertura de protección

  • Muestra el porcentaje de cuentas con copia de seguridad respecto al total de cuentas
  • Ayuda a los partners a garantizar una protección completa en todas las organizaciones

3. Panel de informes

  • Visualiza los datos de uso de licencias y de copias de seguridad
  • Permite profundizar en la información detallada
  • Permite exportar a CSV para analizar los datos sin conexión

Qué tener en cuenta al usar un RMM para el seguimiento de licencias SaaS

Además de crear informes de uso de licencias, las plataformas RMM ofrecen funciones extra para sacar el máximo partido a la gestión y la monitorización de licencias. Estas son algunas consideraciones clave cuando usas la automatización del RMM para seguir las licencias SaaS.

Detectar licencias SaaS inactivas con los informes de uso

Las plataformas RMM ayudan a identificar licencias sin usar para liberarlas o reasignarlas a otros usuarios. Como las licencias SaaS se pagan normalmente por suscripción, las infrautilizadas van consumiendo presupuesto mes a mes. Poder identificar y recuperar rápidamente las licencias inactivas permite reducir el coste del SaaS a largo plazo.

Conservación de datos para el análisis de tendencias

Los administradores pueden usar las plataformas RMM para generar informes longitudinales sobre el uso de SaaS de forma periódica, semanal o mensual. Conservar las instantáneas de uso entre 6 y 12 meses mejora el análisis de tendencias del entorno. Cuanto más tiempo se conserven los datos, más profundidad tendrá la información sobre los patrones de uso de licencias, lo que facilita justificar las decisiones de licenciamiento.

Consideraciones de seguridad

Aunque los RMM ofrecen capacidades de monitorización enormes, conviene evitar recopilar más datos sensibles de los necesarios para no vulnerar la privacidad de los usuarios finales. Por ejemplo, recopilar datos personales en exceso, como el historial del navegador, puede incumplir el Reglamento General de Protección de Datos (RGPD).

Cómo lidiar con los límites de la API

Las API solo pueden recopilar una cantidad determinada de datos de uso en un intervalo, que va de unos minutos a un día. Superar esos límites de frecuencia puede hacer que los scripts fallen y que los informes de uso queden incompletos. Como alternativa, utiliza consultas por lotes o programa los trabajos en horas de poca actividad para aprovechar al máximo el rendimiento y acelerar las consultas masivas a la API.

Servicios de NinjaOne para el seguimiento de licencias SaaS y los informes de uso

Los administradores pueden aprovechar estos servicios de NinjaOne para facilitar el seguimiento y el inventario de licencias SaaS:

Servicio de NinjaOne Definición Cómo ayuda en el seguimiento de licencias SaaS
Programación de scripts NinjaOne permite programar tareas para ejecutar scripts de forma automática. Programa despliegues de scripts para recopilar periódicamente datos de uso de licencias y de actividad en los endpoints.
Alertas Avisa al instante a los administradores cuando un endpoint cumple una condición concreta. Configura notificaciones para detectar automáticamente las licencias SaaS que no se han usado tras un periodo determinado.
Informes personalizados Esta función permite crear informes personalizables a partir de plantillas y agiliza su elaboración mediante el envío programado. Genera automáticamente informes periódicos de uso de licencias de M65, Zoom, Adobe y otras aplicaciones SaaS para seguirlas y monitorizarlas sin esfuerzo.
Inventario de activos Ofrece una vista detallada del software instalado en los endpoints, todo desde un único panel de control. Una visión completa de los activos informáticos ayuda a asignar licencias de forma estratégica entre los usuarios finales y mejora la gestión de costes.
Soporte Multiplataforma Simplifica la monitorización y la gestión de endpoints con distintos sistemas operativos y evita tener que usar varias plataformas separadas. Monitorizar y ejecutar scripts en endpoints de cualquier plataforma facilita el seguimiento de licencias SaaS en entornos mixtos.
Integración con PSA El software PSA hace seguimiento de los procesos de negocio, incluidos activos como la asignación y el coste de las licencias SaaS. La solución PSA independiente de NinjaOne y su integración con distintos sistemas PSA ofrecen amplias capacidades de seguimiento de licencias.

Consigue visibilidad total de tu entorno y de tus licencias SaaS.

Descubre NinjaOne RMM.

Aprovecha las plataformas RMM para simplificar el seguimiento de licencias SaaS

Hacer seguimiento del uso de las licencias SaaS ayuda a los MSP y a los equipos de informática interna a reducir el gasto por exceso de suscripciones. Los administradores también pueden programar scripts con el RMM para automatizar auditorías, detectar licencias infrautilizadas y evitar asignaciones que no aportan nada. Con los informes longitudinales se descubren tendencias respaldadas por datos a lo largo del tiempo, lo que permite justificar las estrategias de asignación de licencias, ya sea renovarlas o retirarlas.

Flujo de trabajo rápido para el seguimiento de licencias

Para los administradores de RMM, desplegar esta estrategia con éxito sigue un proceso claro y repetible:

  • Define el alcance: identifica la plataforma SaaS objetivo (por ejemplo, M365 o Zoom) y los niveles de licencia concretos (SKU) que vas a seguir.
  • Protege las credenciales: genera las claves o tokens de API necesarios y guárdalos en el almacén seguro del RMM.
  • Desarrolla y prueba el script: crea el script de PowerShell o REST en local y comprueba su salida y sus permisos.
  • Despliega desde el RMM: sube el script definitivo a la biblioteca de scripts del RMM y configúralo para que recupere las credenciales del almacén de forma segura.
  • Programa la automatización: configura el RMM para que ejecute el script cada semana o cada mes y genere las instantáneas de informe con marca de tiempo.
  • Informa y recupera: usa la función de informes personalizados del RMM para ejecutar el script con Compare-Object y recupera de forma proactiva las licencias sin actividad de inicio de sesión dentro del umbral que hayas definido.

Temas relacionados:

FAQs

Una licencia SaaS, o licenciamiento SaaS, es un modelo de software por suscripción en el que el usuario paga una cuota periódica (mensual o anual) para acceder a aplicaciones alojadas en el cloud.

Hacer seguimiento de las licencias SaaS ayuda a las organizaciones a pagar solo por lo que realmente usan, a cumplir los acuerdos con los proveedores y a optimizar costes identificando licencias infrautilizadas o inactivas.

Los scripts de un RMM cubren bien el seguimiento del uso, la recuperación de licencias y los informes, pero hay que crearlos y mantenerlos a mano. Una herramienta específica de gestión de activos añade, además de los datos de uso, el seguimiento del ciclo de vida, las renovaciones, los costes y los contratos asociados a cada licencia.

No hay una cifra válida para todos los casos, pero una buena regla es esta: si un usuario no ha iniciado sesión en la aplicación SaaS (ni ha usado sus funciones principales) durante un periodo determinado (por ejemplo, de 60 a 90 días), marca la licencia para revisarla o recuperarla.

Las licencias SaaS sin control o huérfanas pueden hacer que antiguos empleados conserven el acceso, que queden cuentas sin eliminar, que aparezcan aplicaciones de shadow IT y que se paguen puestos sin usar, lo que supone tanto gasto inútil como riesgo de exposición de datos.

Quizá también te interese...

¿Listo para simplificar los aspectos más complejos de las TI?

Términos y condiciones de NinjaOne

Al hacer clic en el botón «Acepto» que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona «tal cual» y «según disponibilidad», sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).