Exportar informe de usuario inactivo de Microsoft 365 usando MS Graph PowerShell
Los administradores de Microsoft 365 suelen comprobar la hora del último inicio de sesión para generar un informe de usuarios inactivos. Este informe desempeña un papel crucial en la gestión eficaz de las cuentas de usuario, la optimización de las licencias, la mejora de la seguridad y el cumplimiento de los requisitos de cumplimiento. Entonces, veamos cómo verificar usuarios inactivos en la organización de Microsoft 365.
¿Cómo identificar usuarios inactivos en Microsoft 365?
Dado que los cmdlets 'Get-MsolUser' o 'Get-AzureADUser' no proporcionan información sobre la hora del último inicio de sesión de los usuarios, los administradores suelen recurrir a diferentes enfoques para identificar inactivos. usuarios.
- Método ampliamente utilizado:
Implica el uso del cmdlet 'Get-MailboxStatistics' para recuperar buzones de correo Exchange inactivos. Sin embargo, a menudo se menciona que la hora del último inicio de sesión obtenida de "Get-MailboxStatistics" es inexacta. - Centro de administración de Microsoft 365:
Verifique el atributo "Último inicio de sesión" disponible en el centro de administración de Microsoft 365 en "Usuarios activos". Pero requiere hacer clic manualmente en cada usuario para ver su última fecha de inicio de sesión. - Registros de inicio de sesión de Azure AD:
Los registros de inicio de sesión de Azure AD y Get-AzureADAuditSignInLogs proporcionan los detalles de inicio de sesión de los usuarios, pero están limitados a los últimos 30 días. - Registro de auditoría unificado:
El 'Search-UnifiedAuditLog' proporciona el historial de inicio de sesión de los usuarios de Microsoft 365 durante hasta 90 días. Sin embargo, implica procesar un gran volumen de registros de auditoría, lo que la convierte en una tarea tediosa.
¿Le preocupa cuál es la forma más fácil y precisa de recuperar la fecha del último inicio de sesión? Afortunadamente, hay una solución.
Obtenga la hora del último inicio de sesión de los usuarios de Microsoft 365 con MS Graph PowerShell:
Con la ayuda del cmdlet Get-MgUser, puede recuperar la hora del último inicio de sesión de los usuarios de Microsoft 365.
Get-MgUser -Userid <id> -Property SigninActivity | select -ExpandProperty SigninActivityEl cmdlet anterior recuperará los últimos detalles de inicio de sesión de un usuario. Sin embargo, este proceso requiere un procesamiento adicional para calcular los días inactivos, lo que puede llevar mucho tiempo.
Para aliviar la carga de los administradores de Office 365, he desarrollado un script de PowerShell que genera más de 10 informes de usuarios inactivos con casos de uso en tiempo real. Entonces, ¡profundicemos y exploremos esta solución eficiente!
Descargar script: GetM365InactiveUserReport
Aspectos destacados del guión:
- La secuencia de comandos única le permite generar más de 10 informes de usuarios inactivos diferentes.
- La secuencia de comandos también se puede ejecutar con una cuenta habilitada para MFA .
- La secuencia de comandos admite autenticación basada en certificados (CBA).
- También proporciona detalles sobre los inicios de sesión no interactivos.
- Puede generar informes basados en días inactivos.
- Ayuda a filtrar solo los usuarios que nunca han iniciado sesión.
- Genera un informe para usuarios habilitados para iniciar sesión solo.
- Admite el filtrado de usuarios con licencia solo.
- Obtiene el informe de usuarios externos inactivos.
- Exporte los resultados a un archivo CSV .
- La columna de licencias asignadas le mostrará el nombre fácil de usar como "Office 365 Enterprise E3" en lugar de "ENTERPRISEPACK".
- Automáticamente instala el módulo MS Graph PowerShell (si aún no está instalado) tras su confirmación.
- El script es compatible con el programador.
Informe de usuario inactivo de Microsoft 365: resultado de muestra:
El informe de último inicio de sesión de Office 365 exportado, también conocido como informe de usuarios inactivos, contiene los siguientes atributos.
- Nombre principal del usuario
- Fecha y hora de creación del usuario
- Hora del último inicio de sesión interactivo
- Días inactivos basados en inicios de sesión interactivos
- Hora del último inicio de sesión no interactivo
- Días inactivos basados en la fecha de inicio de sesión no interactiva
- Actualizar token válido desde
- ID de empleado
- Detalles de licencia asignada
- Estado de la cuenta (es decir, estado de inicio de sesión)
- Departamento
- Título profesional
El informe de usuario inactivo de Microsoft 365 exportado es similar a la captura de pantalla siguiente.
Nota: Al acceder al registro de auditoría, puede realizar un seguimiento de los creadores de cuentas de usuario que nunca han iniciado sesión para identificar y eliminar cuentas no utilizadas.
Informe de usuario inactivo de Microsoft 365: métodos de ejecución de script:
Puede elegir cualquiera de los siguientes métodos según sus necesidades.
Método 1: Exportar informe de usuario inactivo utilizando una cuenta de administrador:
Puede elegir este método cuando desee generar el informe del último inicio de sesión utilizando la cuenta de administrador. Admite cuentas tanto MFA como no MFA.
.\GetM365InactiveUserReport.ps1Método 2: Programar el informe de usuarios inactivos de Microsoft 365 mediante certificados:
Cuando desee ejecutar el script sin supervisión, puede elegir este método. Para usar certificados, debe registrar la aplicación en Azure AD y conectarse a MS Graph mediante un certificado.
.\GetM365InactiveUserReport.ps1 -TenantId <TenantId> -ClientId <ClientId> -CertificateThumbprint <Certthumbprint>Puede utilizar un certificado de CA o crear un certificado SSL autofirmado. La mayoría de los administradores prefieren certificados autofirmados para uso interno.
Descubra la gama completa de habilidades del guión:
El script admite filtros integrados para generar más de 10 informes de último inicio de sesión de Office 365. Puede combinar varios filtros para obtener informes más granulares. He enumerado algunos casos de uso importantes a continuación.
- Enumere todos los usuarios de Azure AD con la fecha y hora de su último inicio de sesión.
- Obtenga informes de usuarios inactivos basados en los días inactivos (por ejemplo, usuarios inactivos durante 90 días)
- Encuentre usuarios inactivos según los días de inicio de sesión no interactivos
- Obtenga una lista de usuarios inactivos con licencias asignadas
- Ver la última fecha de inicio de sesión para usuarios habilitados para iniciar sesión
- Identificar usuarios que nunca iniciaron sesión en Microsoft 365
- Verifique la fecha del último inicio de sesión para usuarios externos
- Encuentre usuarios con licencia de Office 365 en estado deshabilitado
- Obtener el inicio de sesión de usuarios externos bloqueados
- Consigue usuarios inactivos con una licencia específica en Microsoft 365
- Informe de usuario inactivo del programador
1.Obtenga el informe de la fecha del último inicio de sesión de Azure AD para todos los usuarios:
Para enumerar todos los usuarios de Azure AD y su última actividad de inicio de sesión, ejecute el script de la siguiente manera.
.\GetM365InactiveUserReport.ps1
Con este último informe de inicio de sesión, los administradores pueden identificar usuarios inactivos en su organización y eliminar sus licencias o eliminar ellos basándose en la política de su organización.
2.Exportar informe de usuario inactivo de Office 365 basado en días inactivos:
A menudo, el administrador se pregunta cuántos días han transcurrido desde que el usuario inició sesión en Office 365. Si es uno de ellos, esto sería útil para usted. Para recuperar usuarios inactivos en función de sus días inactivos, ejecute el script pasando el número de días inactivos en el parámetro -InactiveDays.
.\GetM365InactiveUserReport.ps1 -InactiveDays 90El informe exportado contiene una lista de usuarios que han estado inactivos durante 90 días. Además, tiene la flexibilidad de personalizar la cantidad de días para generar un informe de usuario inactivo, ya sea por 30 días, 180 días o cualquier otro período específico.
3.Buscar usuarios inactivos según inicios de sesión no interactivos:
Los inicios de sesión no interactivos no requieren interacción del usuario ni factor de autenticación. En su lugar, el dispositivo o la aplicación cliente utiliza un token o código para autenticar o acceder a un recurso en nombre de un usuario . . Los inicios de sesión no interactivos se utilizan a menudo para tareas automatizadas, procesos backend que no requieren la participación del usuario.
Al identificar usuarios inactivos, es recomendable tener en cuenta también sus inicios de sesión no interactivos.
Para lograr esto, ejecute el script con el parámetro -InactiveDays_NonInteractive seguido del número deseado de días inactivos. Por ejemplo:
.\GetM365InactiveUserReport.ps1 InactiveDays_NonInteractive 90Como alternativa, puede combinar el parámetro -InactiveDays y ejecutar el script para obtener usuarios inactivos de Azure AD, incluidos los interactivos y los no interactivos. inicios de sesión:
.\GetM365InactiveUserReport.ps1 -InactiveDays 90 -InactiveDays_NonInteractive 90El informe resultante mostrará los usuarios inactivos que no han iniciado sesión, incluidos los inicios de sesión no interactivos.
4.Obtenga una lista de usuarios inactivos con licencias asignadas:
Al identificar a los usuarios inactivos con licencia, puede reclamar esas licencias y asignarlas a usuarios activos o evitar costos de licencia innecesarios. La mayoría de los administradores prefieren esta técnica para optimizar la licencia M365.
Para obtener usuarios inactivos con licencias, ejecute el script de PowerShell con el parámetro de cambio -LicensedUsersOnly.
.\GetM365InactiveUserReport.ps1 -LicensedUsersOnlyEl informe exportado contiene todos los usuarios con licencia y sus días inactivos. También puede combinar el parámetro -InactiveDays para obtener una lista de usuarios con licencia que han estado inactivos durante una cantidad específica de días. Esto permite un análisis más específico y la identificación de los usuarios en función de su estado de actividad.
.\GetM365InactiveUserReport.ps1 -LicensedUsersOnly -InactiveDays 180
El informe enumera los usuarios con licencia que no han tenido ninguna actividad de inicio de sesión reciente en los últimos 180 días, lo que permite a los administradores identificar y potencialmente eliminar licencias según sea necesario.
5.Ver la fecha del último inicio de sesión para usuarios habilitados para iniciar sesión:
La mayoría de las organizaciones deshabilitan las cuentas de usuario como parte del proceso de baja de empleados para evitar que inicien sesión en su cuenta de Microsoft 365. Como resultado, no es necesario analizar la hora del último inicio de sesión de los usuarios discapacitados. Para solucionar este problema, hemos implementado una solución. Al utilizar el parámetro de cambio -EnabledUsersOnly , puede exportar y analizar la fecha del último inicio de sesión solo de los usuarios habilitados. usuarios.
Para utilizar esta función, simplemente ejecute el script con el siguiente formato:
.\GetM365InactiveUserReport.ps1 -EnabledUsersOnlyEl formato anterior proporcionará la última actividad de inicio de sesión de todos los usuarios habilitados, lo que le permitirá centrarse en los datos relevantes sin incluir cuentas de usuarios con inicio de sesión deshabilitado.
6.Encuentre usuarios de Azure AD que nunca iniciaron sesión en Office 365:
En Office 365, nunca se crean usuarios que hayan iniciado sesión cuando las cuentas se aprovisionan por adelantado para nuevos empleados o cuando se crean varias cuentas sin los procedimientos adecuados de incorporación de empleados. Estas cuentas de usuario que nunca han iniciado sesión pueden presentar importantes riesgos de seguridad, ya que muchas de ellas pueden tener características predeterminadas. o contraseñas débiles.
Por lo tanto, es fundamental identificar y abordar estas cuentas para garantizar la seguridad general de la organización de Microsoft 365. Para encontrar usuarios de Azure Active Directory que nunca hayan iniciado sesión, ejecute el script con el parámetro de cambio -ReturnNeverLoggedInUsers.
.\GetM365InactiveUserReport.ps1 -ReturnNeverLoggedInUserNota: Considere la fecha de creación de la cuenta al determinar los usuarios que nunca iniciaron sesión.
7.Compruebe la fecha del último inicio de sesión para usuarios externos:
Las cuentas externas obsoletas pueden representar un riesgo de seguridad y convertirse en objetivos de acceso no autorizado o compromiso de la cuenta. Además, monitorear la última actividad de inicio de sesión de los usuarios externos ayuda a identificar cualquier intento de acceso sospechoso o no autorizado.
Para ver los usuarios externos y sus últimos detalles de inicio de sesión, ejecute el script con el parámetro de cambio -ExternalUsersOnly.
.\GetM365InactiveUserReport.ps1 -ExternalUsersOnlyEste informe ayuda a limpiar cuentas obsoletas. Si necesita reducir la lista de cuentas externas inactivas usuarios en función de un número específico de días, puede incluir el parámetro -InactiveDays mientras ejecuta el script.
.\GetM365InactiveUserReport.ps1 -ExternalUsersOnly -InactiveDays 180Este informe de usuarios externos inactivos contiene las cuentas de invitados que no han iniciado sesión durante los últimos 180 días. Al revisar este informe, puede deshabilitar o eliminar usuarios externos inactivos según la política de su organización.
8.Buscar usuarios con licencia de Office 365 en estado deshabilitado:
Los administradores desactivan las cuentas de usuario cuando un empleado abandona la organización, hay una suspensión temporal de la cuenta o por motivos administrativos. En un estado deshabilitado, el usuario no puede iniciar sesión ni utilizar los servicios con licencia asociados con su cuenta.
Identificar a los usuarios con licencia de Office 365 en estado deshabilitado es importante para administrar cuentas de usuario, asignaciones de licencias y seguridad general. Para encontrar usuarios deshabilitados con asignaciones de licencia activas, ejecute el script de la siguiente manera.
.\GetM365InactiveUserReport.ps1 -LicensedUsersOnly -DisabledUsersOnlyEl informe exportado muestra usuarios deshabilitados con licencias activas. Este informe se puede utilizar para revocar licencias de usuarios inactivos.
9.Obtenga el inicio de sesión de usuarios externos bloqueados mediante PowerShell:
A veces, los administradores pueden optar por desactivar las cuentas de usuarios externos cuando finaliza su colaboración con la organización. Por lo tanto, es fundamental revisar el estado de estas cuentas externas para una mejor gestión de los usuarios externos. Los administradores tienen la opción de eliminar cuentas de usuarios externos deshabilitadas según las políticas organizativas y los requisitos de retención de datos.
Para ver usuarios externos deshabilitados, ejecute el script de la siguiente manera.
.\GetM365InactiveUserReport.ps1 -ExternalUsersOnly -DisabledUsersOnlyTambién puede incluir el parámetro -LicensedUsersOnly para filtrar usuarios externos con licencia y quitarles licencias.
10.Obtener usuarios inactivos con un tipo de licencia específico:
Obtener una lista de usuarios inactivos de Office 365 con una licencia específica puede resultar beneficioso para optimizar la asignación de licencias y la gestión de costes. Al identificar a los usuarios que no utilizan activamente sus licencias asignadas, los administradores pueden considerar cambiar su plan de una licencia de alto costo a uno de menor costo o eliminar su licencia por completo.
Por ejemplo, para buscar usuarios inactivos con una licencia E3, abra el informe generado en Excel y filtre la columna "Detalle de la licencia" con "Microsoft 365 EnterpriseE3". Esto mostrará una lista de usuarios que tienen una licencia E3 asignada.
11.Programar informe de usuario inactivo de Microsoft 365:
Los administradores pueden aprovechar el Programador de tareas para ejecutar el script de PowerShell como una tarea programada, utilizando autenticación basada en certificados para una ejecución perfecta sin necesidad de interacción del usuario. Esto permite la generación automatizada y regular del "informe de usuarios inactivos".
.\GetM365InactiveUserReport.ps1 -TenantId <TenantId> -ClientId <ClientId> -CertificateThumbprint <Certthumbprint>Optimización de la gestión de usuarios con los informes de usuarios inactivos de AdminDroid:
Los administradores a menudo necesitan identificar a los usuarios inactivos en función del uso de servicios, como Exchange Online, SharePoint o Teams. También consideran el uso de aplicaciones, específicamente dirigidas a usuarios que no utilizan aplicaciones de escritorio. Este nivel de granularidad permite una gestión eficiente de las licencias y una reducción de costes. Sin embargo, recopilar esta información mediante métodos nativos puede resultar complicado y llevar mucho tiempo. La herramienta de informes AdminDroid Microsoft 365 viene al rescate al proporcionar informes completos que permiten a los administradores identificar fácilmente a los usuarios inactivos por servicios y uso de aplicaciones.
AdminDroid proporciona más de 40 informes para determinar la inactividad de los usuarios. Incluye,
Intercambiar usuarios inactivos
- Por hora del último correo enviado, leído y recibido
- Por última hora de actividad
- Por última hora de inicio de sesión
Usuarios inactivos de SharePoint
- Por último archivo accedido y hora de sincronización
Usuarios inactivos de Teams
- Por el último chat del equipo y mensaje privado enviado
Usuarios inactivos de OneDrive
- Por último archivo accedido y hora de sincronización
Usuarios inactivos de Yammer
- Por último me gusta recibido
Informes de descripción general de usuarios inactivos
- Informe de usuarios inactivos para cada servicio O365
AdminDroid presenta el ReportBoard de usuarios inactivos, una solución centralizada (más de 40 informes de usuarios inactivos) que agiliza el monitoreo de la inactividad de los usuarios en todos los servicios de Microsoft 365.
AdminDroid proporciona detalles completos sobre el uso y la adopción de Microsoft 365, lo que permite mejorar la eficiencia de los recursos y una gestión eficaz de los usuarios inactivos.
Además, AdminDroid ofrece una amplia gama de funciones, incluidos más de 1800 informes prediseñados y más de 30 paneles de Office 365. Estos informes proporcionan información completa que cubre áreas como informes, auditoría, análisis, estadísticas de uso, seguridad y cumplimiento.
Además, AdminDroid ofrece una herramienta gratuita de informes de Azure AD que incluye más de 120 informes y paneles que cubren varias categorías. Estos informes vienen con funciones como exportación, envío de informes por correo electrónico y programación.
Descargue la herramienta de administración AdminDroid Microsoft 365 ahora y experimente el poder de una administración simplificada.
Espero que este blog le ayude a gestionar usuarios inactivos de forma eficiente. Si tiene alguna consulta, puede comunicarse con nosotros a través de la sección de comentarios.



