Qué vas a conseguir
Un usuario nuevo con su licencia y sus aplicaciones en marcha, un usuario que se va sin que la empresa pierda su correo, y una idea clara de qué da cada licencia para no asignar E5 a quien solo necesita correo.
Antes de empezar
- Un rol que pueda tocar licencias: Administrador de licencias es el mínimo; no uses Administrador global para esto.
- Saber si tu empresa asigna licencias por grupo (licencias basadas en grupos de Entra ID) o directamente al usuario. Si es por grupo, tu trabajo es meter al usuario en el grupo correcto, no asignar la licencia a mano.
- Para PowerShell, el módulo
Microsoft.Graph(Install-Module Microsoft.Graph -Scope CurrentUser). El módulo antiguoMSOnlineya no funciona.
1. Qué incluye cada licencia (lo que preguntan en los tickets)
| Business Basic / E1 | Business Standard | E3 | E5 | |
|---|---|---|---|---|
| Correo (Exchange Online) | 50 GB | 50 GB | 100 GB | 100 GB |
| Office de escritorio (Word, Excel…) | solo web | sí | sí | sí |
| Teams | sí | sí | sí (según región, aparte) | sí |
| Intune y Entra ID P1 | no | no | sí | sí |
| Defender, Purview avanzado, Entra ID P2 | no | no | no | sí |
Las que más líos dan: F3 (primera línea: correo de 2 GB, sin Office de escritorio), Exchange Online Plan 1/2 (solo correo, para buzones de servicio con usuario) y los complementos (Teams Phone, Power BI Pro, Copilot) que se suman a una base.
2. Asignar desde el centro de administración
Dos cosas que fallan siempre:
- Ubicación de uso vacía: la licencia no se puede asignar hasta ponerla. Si el usuario viene de Active Directory, el atributo
msExchUsageLocationo la sincronización deberían rellenarla; si no, ponla a mano. - 0 disponibles: no quedan licencias. No reasignes la de otro sin un ticket aprobado: pide compra o pregunta al propietario de las licencias qué usuario de baja todavía la tiene.
3. Asignar con PowerShell (Graph)
Connect-MgGraph -Scopes "User.ReadWrite.All","Organization.Read.All"Get-MgSubscribedSku | Select-Object SkuPartNumber, @{n="Usadas";e={$_.ConsumedUnits}}, @{n="Total";e={$_.PrepaidUnits.Enabled}}SkuPartNumber Usadas Total------------- ------ -----SPE_E3 312 350POWER_BI_PRO 40 40EXCHANGESTANDARD 18 25Update-MgUser -UserId laura.prado@contoso.com -UsageLocation ES$e3 = (Get-MgSubscribedSku | Where-Object SkuPartNumber -eq "SPE_E3").SkuIdSet-MgUserLicense -UserId laura.prado@contoso.com -AddLicenses @{SkuId = $e3} -RemoveLicenses @()(Get-MgUserLicenseDetail -UserId laura.prado@contoso.com).SkuPartNumberSPE_E3Los nombres internos no coinciden con los comerciales: SPE_E3 es Microsoft 365 E3, ENTERPRISEPACK es Office 365 E3, SPB es Business Premium, DESKLESSPACK es F3. Hay una tabla oficial de Microsoft con todos; ten el enlace a mano.
Si la licencia viene por grupo, Get-MgUserLicenseDetail la muestra igual, pero al intentar quitarla a mano dará error: hay que sacar al usuario del grupo.
4. El usuario tiene licencia pero "no le funciona"
- Outlook o Teams dicen que no tiene licencia: espera hasta 30 minutos tras asignarla, y que cierre sesión y vuelva a entrar. Si persiste, en el centro de administración el usuario mostrará un error de aprovisionamiento en la licencia (texto rojo bajo el servicio).
- Office de escritorio pide activación: tiene E1 o Basic (solo web). O tiene E3 pero el servicio Microsoft 365 Apps for enterprise está desmarcado en la licencia.
- Error de aprovisionamiento con conflicto: dos licencias con el mismo servicio (Exchange Online Plan 1 junto a E3, por ejemplo). Quita la pequeña.
- La licencia la pone un grupo y el usuario no la tiene: mira en Entra ID → Grupos → el grupo → Licencias → Errores de procesamiento; casi siempre es ubicación de uso vacía o que no quedan licencias.
5. La baja: retirar la licencia sin perder el buzón
El error clásico es quitar la licencia el primer día y descubrir que el buzón desaparece a los 30 días con el correo que necesitaba el responsable. El orden correcto:
- Bloquear el inicio de sesión (
Update-MgUser -AccountEnabled:$false) y revocar las sesiones (Revoke-MgUserSignInSession). - Convertir el buzón en compartido desde Exchange Online (no necesita licencia si tiene menos de 50 GB y no tiene archivo) y dar permiso al responsable. Esto va en la guía de Outlook y Exchange Online.
- Quitar la licencia. Ahora sí: el buzón compartido se queda.
- Si la licencia es por grupo, sacar al usuario de los grupos de licencia; si es directa,
Set-MgUserLicense -RemoveLicenses @($e3) -AddLicenses @(). - Apuntar en el ticket la fecha de cada paso y cuándo caduca la retención del buzón compartido según vuestra política.
Siguientes pasos
- Si asignáis licencias a mano, propón pasar a licencias por grupo: una alta es meter al usuario en un grupo y no se olvida ningún servicio.
- Un informe mensual de licencias asignadas a usuarios deshabilitados o sin inicio de sesión en 90 días paga más de una renovación.
- En el Nivel 4 verás el gobierno del tenant completo: roles de administración, PIM, Conditional Access y la revisión mensual con el proveedor.
¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.
What you'll get
A new user with their licence and apps working, a leaver who goes without the company losing their email, and a clear idea of what each licence gives so you don't assign E5 to someone who only needs email.
Before you start
- A role that can touch licences: Licence Administrator is the minimum; don't use Global Administrator for this.
- Know whether your company assigns licences by group (Entra ID group-based licensing) or directly to the user. If by group, your job is to put the user in the right group, not to assign the licence by hand.
- For PowerShell, the
Microsoft.Graphmodule (Install-Module Microsoft.Graph -Scope CurrentUser). The oldMSOnlinemodule no longer works.
1. What each licence includes (what tickets ask)
| Business Basic / E1 | Business Standard | E3 | E5 | |
|---|---|---|---|---|
| Email (Exchange Online) | 50 GB | 50 GB | 100 GB | 100 GB |
| Desktop Office (Word, Excel…) | web only | yes | yes | yes |
| Teams | yes | yes | yes (separate in some regions) | yes |
| Intune and Entra ID P1 | no | no | yes | yes |
| Defender, advanced Purview, Entra ID P2 | no | no | no | yes |
The ones that cause the most confusion: F3 (frontline: 2 GB mailbox, no desktop Office), Exchange Online Plan 1/2 (email only, for service mailboxes with a user) and the add-ons (Teams Phone, Power BI Pro, Copilot) that sit on top of a base.
2. Assign from the admin centre
Two things that always fail:
- Empty usage location: the licence cannot be assigned until it is set. If the user comes from Active Directory, the
msExchUsageLocationattribute or the sync should fill it; if not, set it by hand. - 0 available: no licences left. Don't reassign someone else's without an approved ticket: request a purchase or ask the licence owner which leaver still holds one.
3. Assign with PowerShell (Graph)
Connect-MgGraph -Scopes "User.ReadWrite.All","Organization.Read.All"Get-MgSubscribedSku | Select-Object SkuPartNumber, @{n="Used";e={$_.ConsumedUnits}}, @{n="Total";e={$_.PrepaidUnits.Enabled}}SkuPartNumber Used Total------------- ---- -----SPE_E3 312 350POWER_BI_PRO 40 40EXCHANGESTANDARD 18 25Update-MgUser -UserId laura.prado@contoso.com -UsageLocation ES$e3 = (Get-MgSubscribedSku | Where-Object SkuPartNumber -eq "SPE_E3").SkuIdSet-MgUserLicense -UserId laura.prado@contoso.com -AddLicenses @{SkuId = $e3} -RemoveLicenses @()(Get-MgUserLicenseDetail -UserId laura.prado@contoso.com).SkuPartNumberSPE_E3Internal names don't match the commercial ones: SPE_E3 is Microsoft 365 E3, ENTERPRISEPACK is Office 365 E3, SPB is Business Premium, DESKLESSPACK is F3. Microsoft publishes an official table with all of them; keep the link handy.
If the licence comes from a group, Get-MgUserLicenseDetail shows it just the same, but trying to remove it by hand errors out: the user has to leave the group.
4. The user has a licence but "it doesn't work"
- Outlook or Teams say there is no licence: wait up to 30 minutes after assigning, and have them sign out and in again. If it persists, the admin centre shows a provisioning error on the licence (red text under the service).
- Desktop Office asks for activation: they have E1 or Basic (web only). Or they have E3 but the Microsoft 365 Apps for enterprise service is unticked in the licence.
- Provisioning error with a conflict: two licences with the same service (Exchange Online Plan 1 alongside E3, for example). Remove the small one.
- The licence comes from a group and the user doesn't have it: look in Entra ID → Groups → the group → Licences → Processing errors; it is almost always an empty usage location or no licences left.
5. The leaver: removing the licence without losing the mailbox
The classic mistake is removing the licence on day one and discovering the mailbox vanished after 30 days along with the email the manager needed. The right order:
- Block sign-in (
Update-MgUser -AccountEnabled:$false) and revoke sessions (Revoke-MgUserSignInSession). - Convert the mailbox to shared in Exchange Online (no licence needed if it is under 50 GB and has no archive) and give the manager permission. That is in the Outlook and Exchange Online guide.
- Remove the licence. Now it is safe: the shared mailbox stays.
- If the licence is group-based, remove the user from the licence groups; if direct,
Set-MgUserLicense -RemoveLicenses @($e3) -AddLicenses @(). - Note the date of each step in the ticket and when the shared mailbox's retention expires under your policy.
Next steps
- If you assign licences by hand, propose moving to group-based licensing: a joiner becomes adding the user to a group, and no service gets forgotten.
- A monthly report of licences assigned to disabled users or users with no sign-in for 90 days pays for more than one renewal.
- In Level 4 you'll see the full tenant governance: admin roles, PIM, Conditional Access and the monthly review with the provider.
Is something missing, or different in your environment? Get in touch and I'll fix it.
Tech Career Lab · newsletter
¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.Found this useful? Every two weeks I send one practical idea for IT professionals: LinkedIn, projects, networking and hiring processes.
Apúntate y llévate las 33 ideasSign up and get the 33 ideas →