Cuando intenta asignar una licencia de Microsoft 365 Copilot a un usuario invitado en su inquilino, la asignación a menudo falla silenciosamente o devuelve un error. Esto sucede porque las cuentas de usuario invitado tienen restricciones de identidad y licencia que impiden que Copilot se asigne a través de los métodos estándar. La causa raíz involucra cómo la colaboración B2B de Azure AD maneja los planes de servicio y las dependencias de licencia. Este artículo explica por qué existe esta restricción y proporciona los pasos exactos para resolver el problema.
Puntos clave: Solución de la asignación de licencia de Copilot para usuarios invitados
- Centro de administración de Microsoft 365 > Usuarios > Usuarios activos > Usuario invitado > Licencias y aplicaciones: La interfaz principal donde la asignación falla para cuentas de invitado debido a dependencias de planes de servicio faltantes.
- Tipo de usuario de colaboración B2B de Azure AD: Los usuarios invitados tienen un UserType de Guest, lo que bloquea la asignación directa de licencia de Copilot en la mayoría de los inquilinos.
- Cmdlet de PowerShell Set-MgUserLicense: El único método confiable para asignar una licencia de Copilot a un usuario invitado omitiendo las restricciones de la interfaz de usuario.
Por qué falla la asignación de licencia de Copilot para usuarios invitados
Microsoft 365 Copilot requiere un conjunto específico de planes de servicio dependientes que no se habilitan automáticamente para las cuentas de usuario invitado. Cuando intenta asignar una licencia de Copilot a través del centro de administración de Microsoft 365, el sistema verifica la propiedad UserType del usuario. Los usuarios invitados tienen un UserType de Guest, lo que activa una regla de validación que bloquea la asignación de licencias con ciertas dependencias de planes de servicio. Esto es un diseño deliberado para evitar que los usuarios invitados consuman servicios destinados a miembros completos de la organización.
La causa raíz técnica es que Copilot se basa en los planes de servicio de Exchange Online y Microsoft Graph. Los usuarios invitados en la colaboración B2B de Azure AD se aprovisionan con un conjunto limitado de planes de servicio de forma predeterminada. Cuando intenta agregar Copilot, el motor de licencias ve que los planes dependientes requeridos faltan o están deshabilitados para el tipo de usuario invitado. La interfaz del centro de administración no proporciona una forma de anular esta comprobación. La única solución alternativa es usar PowerShell de Microsoft Graph para asignar la licencia mediante programación.
Cadena de dependencia de licencias
Copilot para Microsoft 365 depende de que los siguientes planes de servicio estén activos en la cuenta de usuario:
- Exchange Online (Plan 2) o Exchange Online (Plan 1) con complementos específicos
- Microsoft Teams
- Acceso a la API de Microsoft Graph
- SharePoint Online (Plan 2) para la fundamentación de archivos
Los usuarios invitados a menudo solo tienen un subconjunto de estos planes. La asignación de licencia falla porque el sistema no puede activar las dependencias requeridas para una cuenta de invitado.
Pasos para asignar una licencia de Copilot a un usuario invitado mediante PowerShell
La única solución confiable es usar el módulo de PowerShell de Microsoft Graph. Asignará la licencia de Copilot directamente al objeto de usuario invitado, omitiendo las restricciones de la interfaz del centro de administración.
- Instale el módulo de PowerShell de Microsoft Graph
Abra Windows PowerShell como administrador. Ejecute el comandoInstall-Module Microsoft.Graph -Scope CurrentUser. Si ya tiene el módulo instalado, ejecuteUpdate-Module Microsoft.Graphpara asegurarse de tener la versión más reciente. - Conéctese a Microsoft Graph con el ámbito correcto
EjecuteConnect-MgGraph -Scopes "User.ReadWrite.All", "Organization.Read.All". Inicie sesión con una cuenta de administrador global que tenga permisos de asignación de licencias. - Obtenga el ID de objeto del usuario invitado
EjecuteGet-MgUser -Filter "userType eq 'Guest'" | Select-Object Id, DisplayName, UserPrincipalName. Anote el Id del usuario invitado al que desea asignar la licencia de Copilot. - Obtenga el ID de SKU de Copilot
EjecuteGet-MgSubscribedSku | Where-Object {$_.SkuPartNumber -eq "COPILOT_Microsoft_365"} | Select-Object SkuId, SkuPartNumber. Copie el valor de SkuId. Este es el identificador único de la licencia de Copilot en su inquilino. - Cree un objeto de asignación de licencia
Ejecute los siguientes comandos de PowerShell para crear una tabla hash con los detalles de la licencia:$License = @{SkuId = "YOUR_SKU_ID_HERE"}
Reemplace YOUR_SKU_ID_HERE con el SkuId que copió en el paso anterior. - Asigne la licencia al usuario invitado
EjecuteSet-MgUserLicense -UserId "GUEST_USER_ID" -AddLicenses @($License) -RemoveLicenses @(). Reemplace GUEST_USER_ID con el Id del usuario invitado del paso 3. El comando debe completarse sin errores. - Verifique la asignación de licencia
EjecuteGet-MgUserLicenseDetail -UserId "GUEST_USER_ID" | Select-Object SkuPartNumber. Confirme que COPILOT_Microsoft_365 aparece en la lista.
Después de asignar la licencia, es posible que el usuario invitado deba cerrar sesión en todas las aplicaciones de Microsoft 365 y volver a iniciarla. Las características de Copilot deberían estar disponibles en un plazo de 30 minutos.
Si Copilot sigue teniendo problemas después de la solución principal
El usuario invitado no puede activar Copilot en Word o Excel
Incluso después de asignar la licencia, es posible que el usuario invitado vea Copilot atenuado en las aplicaciones de escritorio. Esto sucede porque el inquilino de origen del usuario invitado no tiene habilitado el servicio Copilot. El usuario debe iniciar sesión explícitamente en el inquilino de recursos. Indique al usuario invitado que abra Word, vaya a Archivo > Cuenta y cambie la cuenta conectada a la cuenta del inquilino de recursos. Copilot debería aparecer después de unos minutos.
Copilot devuelve “No tiene acceso a esta característica”
Este error ocurre cuando a la cuenta del usuario invitado le faltan los permisos necesarios de Microsoft Graph. Ejecute Get-MgUser -UserId "GUEST_USER_ID" -Property "UserType", "UserPrincipalName" | fl para confirmar que el tipo de usuario es Guest. Si el tipo de usuario es Member, la asignación de licencia debería funcionar a través del centro de administración. Si es Guest, el método de PowerShell es la única opción. Además, asegúrese de que el usuario invitado haya dado su consentimiento a los permisos necesarios para el inquilino de recursos. Puede desencadenar una solicitud de consentimiento haciendo que el usuario visite https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/authorize?client_id=YOUR_CLIENT_ID&response_type=code&scope=openid%20profile%20email%20offline_access con el ID de su inquilino y un ID de cliente de aplicación registrada.
La licencia aparece en el centro de administración pero no en la cuenta del usuario
A veces la licencia se muestra como asignada en el centro de administración, pero el usuario no puede usar Copilot. Esto es un retraso de replicación. Espere 24 horas. Si el problema persiste, elimine la licencia usando PowerShell con Set-MgUserLicense -UserId "GUEST_USER_ID" -AddLicenses @() -RemoveLicenses @(@{SkuId = "YOUR_SKU_ID"}) y luego vuelva a aplicarla usando los pasos anteriores.
Métodos de asignación de licencia de Copilot: Centro de administración vs PowerShell
| Elemento | Centro de administración de Microsoft 365 | PowerShell de Microsoft Graph |
|---|---|---|
| Tipos de usuario admitidos | Solo usuarios miembros | Usuarios miembros e invitados |
| Comprobación de dependencias | La validación automática bloquea la asignación para Guest | Sin bloqueo de validación; asigna directamente |
| Tiempo para completar | 2-5 minutos a través de la interfaz de usuario | 10-15 minutos incluyendo la configuración del módulo |
| Mensajes de error | “License assignment failed” sin detalles | Salida de error detallada en la consola de PowerShell |
| Asignación masiva | No compatible con usuarios invitados | Compatible mediante importación de CSV y bucle foreach |
El centro de administración es más rápido para usuarios miembros, pero falla por completo para usuarios invitados. PowerShell es el único método viable para cuentas de invitado. Para asignaciones masivas, use PowerShell con un archivo CSV que contenga los ID de usuario invitado y el SKU de Copilot.
Ahora puede asignar una licencia de Microsoft 365 Copilot a cualquier usuario invitado en su inquilino usando el método de PowerShell descrito anteriormente. Después de asignar la licencia, verifique que el usuario pueda acceder a Copilot en Word, Excel y Teams. Para la administración continua, considere crear un script de PowerShell programado que busque nuevos usuarios invitados y asigne automáticamente la licencia de Copilot si cumplen con los criterios de su organización. Este enfoque elimina la solución manual y garantiza una cobertura de licencia consistente para los colaboradores externos.