Puntos clave
- El desperdicio de licencias de Microsoft 365 se debe a usuarios inactivos que conservan su licencia tras el offboarding, a cuentas duplicadas o deshabilitadas en entornos híbridos y a SKU de alto coste (por ejemplo, E5) asignadas a usuarios que solo necesitan herramientas básicas como Outlook y Teams.
- Para detectar licencias sin uso, ve a Centro de administración de Microsoft 365 → Informes → Uso → Usuarios activos, filtra por servicio (Exchange, Teams, SharePoint, OneDrive) en un periodo de 30 a 90 días y exporta los datos a CSV. Usa Microsoft Graph PowerShell para automatizar la detección y la eliminación de licencias inactivas durante más de 60 días.
- Automatiza la limpieza de licencias con la licencia basada en grupos y grupos dinámicos de Azure AD para asignar y revocar licencias automáticamente cuando los usuarios cambian de rol: así eliminas errores manuales y mantienes las asignaciones alineadas con las necesidades reales del negocio.
- Reduce el gasto auditando los planes de servicio: deshabilita los servicios incluidos que tu organización no utiliza (Yammer, Stream, Sway), baja de categoría las SKU sobredimensionadas y usa Get-Mailbox -InactiveMailboxOnly para recuperar licencias vinculadas a buzones huérfanos.
- Requisitos previos: rol de administrador global o de administrador de licencias, Microsoft Graph SDK, registros de inicio de sesión de Azure AD habilitados y, opcionalmente, Microsoft Intune para hacer seguimiento de la actividad a nivel de dispositivo.
El desperdicio de licencias es un problema muy extendido en los entornos de Microsoft 365. Las pymes y los clientes gestionados por MSP con bases de usuarios cambiantes pierden miles de millones de dólares cada año en licencias sin usar o infrautilizadas.
La buena noticia es que se puede evitar en gran medida. Microsoft 365 incluye herramientas y API que las organizaciones pueden aprovechar para analizar y optimizar el uso de sus licencias. Sin embargo, el ahorro real está en la optimización.
Esta guía explica cómo evitar el desperdicio de licencias de Microsoft 365 mediante analytics de uso y automatización. Sigue leyendo para conocer las causas más habituales de este desperdicio.
Cómo evitar el desperdicio de licencias de Microsoft 365 con analytics de uso y automatización
📌 Requisitos previos:
- Acceso al Centro de administración de Microsoft 365 o a Microsoft Entra ID: necesitas acceso al Centro de administración de Microsoft 365 o al portal de Microsoft Entra ID para gestionar licencias y consultar informes.
- Rol de administrador global o de administrador de licencias: debes ser administrador global o administrador de licencias. De lo contrario, no podrás configurar ni consultar los datos de inicio de sesión.
- Módulo de PowerShell: tienes que instalar y configurar el Microsoft Graph SDK y el módulo Microsoft Graph PowerShell.
- Registros de inicio de sesión e informes de uso de Azure AD: asegúrate de que los registros de inicio de sesión y los informes de uso están habilitados en Microsoft Entra ID.
- Integración con Intune o Microsoft Endpoint Manager: se recomienda integrar Microsoft Intune o Microsoft Endpoint Manager para hacer seguimiento de la actividad a nivel de dispositivo.
📌 Estrategias de implementación recomendadas:
🎥 También tienes disponible la versión en vídeo de Cómo evitar el desperdicio de licencias de Microsoft 365 con analytics de uso y automatización.
Método 1: identificar usuarios inactivos con los informes de uso de Microsoft 365
📌 Caso de uso: quieres optimizar el uso de licencias de tu organización identificando a los usuarios que no han utilizado ningún servicio de Microsoft 365 en los últimos 90 días.
- Inicia sesión en el Centro de administración de Microsoft 365.
- Ve a Informes > Uso > Usuarios activos: servicios de Microsoft 365.
- Ajusta el periodo a Últimos 30/90 días.
- Filtra por actividad (por ejemplo, Exchange, OneDrive, SharePoint, Teams, Yammer).
- Exporta los datos a CSV para analizarlos sin conexión.
- Identifica qué usuarios no registran actividad en ninguno de los servicios mencionados.
💡 Consejo: puedes programar los informes e integrarlos en Power BI.
Método 2: automatizar la limpieza de licencias con Microsoft Graph
📌 Caso de uso: quieres automatizar la eliminación de licencias inactivas cada 60 días.
Paso 1: conectarse a Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All", "Directory.Read.All", "Reports.Read.All"
Paso 2: recopilar la actividad de inicio de sesión de los usuarios
Get-MgUser -All | Where-Object {$_.SignInActivity.LastSignInDateTime -lt (Get-Date).AddDays(-60)}
⚠️ Importante: asegúrate de tener los permisos y los roles necesarios de la API de Microsoft Graph para usar este método.
Paso 3: eliminar o bajar de categoría la licencia mediante código
Update-MgUserLicense -UserId [email protected] -RemoveLicenses @("tenantname:LICENSE_SKU")
Método 3: usar licencias basadas en grupos y grupos dinámicos
📌 Caso de uso: quieres automatizar la reasignación de licencias cada vez que un empleado cambia de rol. Este método ayuda a reducir el error humano en la gestión de licencias y garantiza que estas se ajusten a los roles de negocio correctos.
- En el Centro de administración de Entra > Grupos, crea un grupo dinámico de Azure AD.
- Regla de pertenencia:
user.accountEnabled -eq true and user.department -eq "Sales"
- Regla de pertenencia:
- Asigna las licencias a nivel de grupo.
- Elimina las asignaciones manuales de licencias de los usuarios.
Método 4: usar el registro para deshabilitar las apps locales de Office en usuarios sin licencia
📌 Caso de uso: este método garantiza que solo los usuarios con licencia puedan acceder a las aplicaciones de Office, ya que bloquea el acceso cuando no se detecta una licencia válida.
Ruta del registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\Licensing
– BlockedProducts (String): «ProPlusRetail»
💡 Consejo: puedes combinar las licencias basadas en grupos con herramientas de scripting para bloquear las apps automáticamente si la validación del estado de licencia de un usuario falla.
Método 5: usar directivas de grupo para reforzar el control de uso
📌 Caso de uso: este método evita el uso de Office en equipos compartidos sin un inicio de sesión válido. Resulta útil para mantener el cumplimiento de licencias en entornos compartidos como RDS o VDI.
- Ve a: Configuración de usuario > Plantillas administrativas > Microsoft Office 2016 > Configuración de licencias.
- Habilita Deshabilitar la activación de Office si no hay licencia de usuario disponible.
- Habilita No mostrar la interfaz de primera ejecución de Office.
Método 6: usar CMD para comprobar la licencia del usuario local
📌 Caso de uso: quieres comprobar manualmente el estado de la licencia de Office de un dispositivo durante una resolución de problemas en remoto.
A. Comprobar la licencia de Office desde la línea de comandos:
Si usas Office de 64 bits, ejecuta:
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /dstatus
En cambio, si usas Office de 32 bits, ejecuta:
cscript "C:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs" /dstatusFor Microsoft 365 apps that are Click-to-Run, enter the path:cscript "C:\Program Files\Microsoft Office\root\Office16\ospp.vbs" /dstatus
B. Consultar el registro para ver el estado de activación:
reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Registration
💡 Consejo: puedes usar estos comandos en scripts de inicio de sesión para marcar o cerrar las instancias de Office sin licencia.
⚠️ Aspectos a tener en cuenta
Ten presentes estos riesgos cuando sigas esta guía:
| Riesgos | Posibles consecuencias | Cómo revertirlo |
| Automatizar la eliminación de licencias sin gestión de excepciones ni registro de acciones. | Usuarios críticos, como directivos o cuentas de servicio, pueden perder el acceso de forma inesperada. | Añade filtros de excepción y registra todas las acciones. |
| Configurar mal las reglas de los grupos dinámicos. | Algunos usuarios pueden quedar fuera de los grupos con licencia y perder el acceso a aplicaciones esenciales. | Revisa las reglas del grupo antes de aplicar cualquier cambio. |
| Aplicar cambios en el registro sin validar el estado de la licencia. | Usuarios con licencia pueden quedar bloqueados y no poder usar las aplicaciones de Office en sus dispositivos. | Verifica el estado de la licencia antes de modificar el registro y mantén un script de reversión. Asegúrate de hacer una copia de seguridad del registro del sistema. |
| Implementar GPO sin probarlas antes en un grupo piloto. | La activación de Office puede bloquearse para todos los usuarios, incluidos los que tienen licencia. | Prueba tus GPO en una OU controlada antes de implementarlas. Documenta y versiona los cambios de las GPO para facilitar la reversión. |
Guía de resolución de problemas para gestionar licencias de Microsoft 365
- La licencia no se elimina: si indicas un nombre de SKU de Microsoft 365 incorrecto en tus scripts, la eliminación de la licencia puede fallar sin mostrar ningún error. Comprueba que el nombre de la SKU está escrito exactamente como aparece en tu tenant.
- Retrasos en los informes de uso: es normal que los informes de inicio de sesión y de uso de servicios de Microsoft 365 lleguen con retraso. Suele ser de entre 24 y 72 horas, así que conviene comprobar que los datos tienen al menos 3 días de antigüedad antes de aplicar cambios.
- Errores de la API de Graph: la falta de permisos o roles puede hacer que las solicitudes a la API de Graph fallen. Asegúrate de haber concedido todos los ámbitos necesarios y de que el usuario tiene el rol adecuado antes de ejecutar la aplicación.
- Salida de CMD no válida: ejecutar scripts de CMD sin privilegios de administrador puede devolver resultados incompletos o engañosos. Para evitarlo, ejecuta siempre los scripts de PowerShell o CMD como administrador.
Más consejos para evitar el desperdicio de licencias de Microsoft 365
Aquí tienes algunas medidas adicionales que puedes aplicar para evitar el desperdicio de licencias en tu organización.
Aprovecha las alertas de licencias
Es fácil perder la cuenta de las licencias que tiene tu organización. Por eso te recomendamos configurar alertas que te avisen cuando el uso de licencias se acerque a tus umbrales o los supere.
Recupera o limpia los buzones huérfanos
En algunos casos, el buzón de un usuario sigue activo incluso después de que haya dejado la empresa. Estos buzones huérfanos pueden consumir mucho espacio y muchos recursos, así que es importante localizarlos cuanto antes.
Puedes usar el comando de PowerShell Get-Mailbox -InactiveMailboxOnly para encontrarlos. A partir de ahí, decide si quieres recuperarlos o eliminarlos definitivamente.
Compara los tipos de licencia con el uso real
Otra forma excelente de evitar el desperdicio de licencias es comparar los tipos de licencia con los patrones de uso reales. No todo el mundo necesita una licencia premium, así que lo mejor es analizar quién necesita realmente las funciones avanzadas y quién no.
Puedes usar herramientas como Power BI para detectar qué perfiles de bajo uso tienen SKU de alto coste y ajustarlos en consecuencia.
Audita los planes de servicio
Valora deshabilitar los planes de servicio que tu organización apenas utiliza.
Microsoft 365 suele incluir servicios como Yammer, Stream o Sway, que no se usan demasiado. Si tu organización no los necesita, deshabilítalos de forma masiva.
¿Qué provoca el desperdicio de licencias?
Hay varios factores que pueden provocarlo, pero los más habituales son:
Usuarios inactivos que conservan licencias
Son usuarios que no han registrado ninguna actividad en los últimos 30 días por un offboarding o un cambio de rol. Las licencias asignadas a estos usuarios seguirán generando costes mientras no las recuperes.
Cuentas duplicadas o deshabilitadas que mantienen licencias
Estas cuentas son habituales en entornos híbridos y suelen deberse a problemas de migración.
Licencias de alto coste para cargas de trabajo básicas
Son licencias premium asignadas a usuarios que no necesitan funciones avanzadas. Por ejemplo, no tiene sentido asignar una licencia E5 a un empleado que solo usa Outlook y Teams de forma ocasional.
Servicios de NinjaOne para optimizar las licencias de Microsoft 365
NinjaOne aporta una capa extra de automatización y visibilidad para optimizar las licencias de Microsoft 365.
| Servicio de NinjaOne | Qué es | Cómo ayuda |
| Automatización de scripts con PowerShell | Automatiza y programa tareas recurrentes, como la recuperación de licencias, en los tenants de los clientes. | Ahorra tiempo y garantiza la coherencia entre varios clientes. |
| Informes personalizados | Relaciona las licencias con su uso real a nivel de endpoint y de usuario. | Ayuda a detectar licencias infrautilizadas y permite a los MSP reasignar recursos. |
| Alertas | Avisa a los MSP si detecta usuarios inactivos o grupos de licencias sobredimensionados. | Permite una gestión y optimización proactivas de las licencias. |
| Acciones de autorreparación | Revoca o baja de categoría automáticamente las licencias de los usuarios inactivos. | Elimina la intervención manual y reduce el desperdicio de licencias automatizando las acciones correctivas. |
| Paneles multitenant | Centraliza el analytics de uso de licencias de varios clientes pyme. | Ofrece a los MSP una vista unificada de todas las licencias en uso en los distintos tenants. |
Estos servicios permiten a los MSP convertir el analytics de licencias en estrategias útiles y accionables.
Guía de inicio rápido
NinjaOne cuenta con funciones que ayudan a evitar el desperdicio de licencias de Microsoft 365 mediante analytics de uso y automatización. En concreto:
1. Analytics de uso de licencias:
NinjaOne SaaS Backup ofrece información detallada sobre el uso de las licencias
El Portal de Partners incluye widgets que muestran:
- Uso de licencias: número de licencias de pago utilizadas para la copia de seguridad
- Cobertura de protección: porcentaje de cuentas con copia de seguridad
- Posibilidad de exportar informes detallados del uso de licencias
2. Gestión automática de licencias:
El sistema incluye una función de licencia automática que puede:
- Ampliar las licencias cuando se añaden buzones nuevos
- Reducirlas cuando se eliminan buzones
- Esto ayuda a evitar comprar más licencias de las necesarias o infrautilizarlas
3. Seguimiento del estado de las cuentas:
NinjaOne hace seguimiento del estado de las cuentas, incluidas:
- Cuentas activas
- Cuentas inactivas
- Buzones compartidos
Cuando un buzón con licencia se convierte en buzón compartido, el sistema detecta el cambio automáticamente y puede liberar la licencia
4. Informes e información útil:
Informes detallados sobre:
- Número de cuentas activas, desactivadas y totales
- Porcentajes de uso de licencias
- Informes CSV exportables para la gestión de licencias
Estas funciones dan a los MSP y a las organizaciones las herramientas necesarias para supervisar y optimizar el uso de sus licencias de Microsoft 365, y así evitar el desperdicio y el gasto innecesario.
Reduce el gasto en licencias de Microsoft 365 con analytics de uso y automatización
El analytics de uso y las automatizaciones son las dos herramientas principales que tu organización necesita para evitar el desperdicio de licencias de forma eficaz.
El analytics te dará la información necesaria para optimizar el gasto en licencias. Tu equipo verá con claridad qué licencias están activas, cuáles están infrautilizadas y cuáles son directamente un desperdicio.
La automatización, por su parte, simplifica el proceso de reasignar, eliminar y controlar todas las licencias en todos los tenants.
Juntas, permiten a tu organización recortar costes innecesarios y mantener la flexibilidad a medida que tus tenants siguen creciendo.
Temas relacionados:

