Búsqueda de sitios web

Exportar el informe de hora real del último inicio de sesión de los usuarios de Office 365 a CSV


El LastLogonTime recuperado de Get-MailboxStatistics no es exacto, pero la mayoría de los administradores/scripts lo utilizan para identificar buzones de correo inactivos.

Hoy en día, veo que la mayoría de los foros tienen preguntas como "¿Por qué la fecha del último inicio de sesión informada por el cmdlet Get-MailboxStatistics no es correcta?", "Las preguntas de algunos usuarios El buzón de correo tiene fecha/hora del último inicio de sesión muy reciente, aunque la cuenta haya sido bloqueada/deshabilitada hace unos meses”.

Para resolver este problema, hemos escrito un script de PowerShell para obtener la hora real del último inicio de sesión de los usuarios (según la hora de la última actividad del usuario). En este script, hemos utilizado LastUserActionTime del buzón en lugar de LastLogonTIme para identificar la última actividad del usuario. Antes de pasar al script, echemos un vistazo a por qué no deberíamos confiar en el atributo LastLogonTime.

¿Por qué es una mala práctica obtener el último momento de inicio de sesión del usuario de Office 365 mediante Get-MailboxStatistics?

Get-MailboxStatistics El cmdlet de PowerShell es muy popular para obtener la hora del último inicio de sesión de los usuarios de Office 365. Actualmente, muchos scripts de PowerShell exportan LastLogonTime inexactos mediante el cmdlet Get-MailboxStatistics . A continuación se indican algunos aspectos clave que debes tener en cuenta al utilizar LastLogonTime

  • La hora del último inicio de sesión del buzón no es precisa porque LastLogonTime que se recupera de Get-MailboxStatistics no refleja solo la hora del último inicio de sesión del usuario, sino también cuándo El proceso accede al buzón.
  • El Asistente para buzones de correo de Microsoft Exchange realiza el procesamiento en segundo plano de los buzones en las bases de datos de buzones del servidor. Sigue procesando buzones incluso si sus propietarios los ignoran. Por lo tanto, la última hora de inicio de sesión suele significar la última vez que un asistente accedió al buzón.

La mayoría de las personas no se dan cuenta de que LastLogonTime proporciona datos inexactos para identificar la inactividad del buzón.

La solución para obtener la hora del último inicio de sesión

Como LastLogonTime también da la última vez que un asistente del buzón accedió al buzón, deberíamos buscar algún otro atributo que muestre la última vez que fue "real". El usuario accedió al buzón.

Finalmente, el cambio que muchos estaban esperando.

Es LastUserActionTime. Sí, obtener la última actividad del usuario del buzón de correo de Office 365 mediante LastUserActionTime es la mejor solución.

Aún así, ¿no tienes claridad? Consulte la publicación de blog dedicada a Por qué la hora del último inicio de sesión de los usuarios de Office 365 informada por Get-MailboxStatistics es inexacta.

Nota: Si no desea restringir la última actividad dentro de Exchange, puede utilizar el cmdlet Get-MgUser para recuperar detalles de usuarios inactivos de Microsoft 365.

Exportar el informe de la hora real del último inicio de sesión de los usuarios de Office 365 (última hora de actividad) mediante PowerShell

Si busca en línea cómo obtener la última hora de inicio de sesión de los usuarios de Office 365, obtendrá una gran cantidad de resultados, lo cual es inexacto y engañoso. Arreglar su script es lo mejor, pero si no es programador o no está familiarizado con PowerShell, puede resultarle un poco difícil obtener la hora real del último inicio de sesión de los usuarios. Aquí es donde entramos nosotros. Hemos escrito un script de PowerShell para exportar el informe de la última hora de actividad de los usuarios de Office 365 (última hora real de inicio de sesión).

Guiones destacados:

  • Informa el tiempo de actividad del usuario en función del tiempo de la última acción del usuario(LastUserActionTime).
  • Exporta el resultado a un archivo CSV .
  • El resultado se puede filtrar según los días inactivos.
  • Puedes filtrar el resultado según elusuario/tipo de buzón.
  • El resultado se puede filtrar para enumerarlos buzones de correo que nunca han iniciado sesiónpor sí solos.
  • Puede filtrar el resultado según el usuario con licencia.
  • Muestra el resultado con los roles administrativos del usuarioen Office 365.
  • La columna de licencias asignadas le mostrará elnombre fácil de usarcomo "Office 365 Enterprise E3" en lugar de "ENTERPRISEPACK".
  • El script se puede ejecutar con unacuenta habilitada para MFA.
  • El script es compatible con el programador. es decir, las credenciales se pueden pasar como parámetro en lugar de guardarlas dentro del script.

Descargar script: UserLastActivityTimeReport

Resultado de muestra:

Los requisitos previos y los pasos de ejecución del script están disponibles en nuestro blog anterior. Por favor consulte el blog.

El informe exportado será similar a la siguiente captura de pantalla.

Desbloquee todo el potencial de este script

Este script tiene muchos parámetros integrados para filtrar/personalizar el informe según sus requisitos. A continuación, enumeramos algunos de los casos de uso principales.

Exportar buzones inactivos de Office 365 según los días inactivos:

Para obtener los buzones de correo inactivos, puede utilizar-InactiveDaysparam que devolverá los buzones de correo que estén inactivos durante una cantidad determinada de días. También exporta los buzones de correo inactivos a un archivo CSV.

./UserLastActivityTimeReport.ps1 -InactiveDays 50

Con este parámetro, puede obtener una lista de buzones de correo que están inactivos durante más de "N" días.

Exportar hora de la última actividad del buzón de correo del usuario de Office 365 a CSV:

A menudo se encuentra en la situación de obtener el último informe de tiempo de inicio de sesión solo para los buzones de correo de los usuarios y eliminar otros tipos como buzones compartidos, buzones de sala, etc. En ese caso, puede usar -UserMailboxOnly< i>param, que devuelve solo los buzones de correo de los usuarios en el resultado.

./UserLastActivityTimeReport.ps1 -UserMailboxOnly

Exportar usuarios de Office 365 que nunca han iniciado sesión a CSV:

Ejecute el script con-ReturnNeverLoggedInMBOnlyparámetro para obtener solo los buzones de correo en los que nunca se ha iniciado sesión. Con este informe, puede identificar buzones de correo inactivos/no utilizados y proceder a la conciliación de licencias. ¡Por lo tanto terminarás guardando más licencias!

./UserLastActivityTimeReport.ps1 -ReturnNeverLoggedInMBOnly

Exportar usuarios con licencia inactivos a CSV:

Para obtener una lista de usuarios con licencia inactivos, puede utilizar el parámetro -LicensedUsersOnly. Con este informe, puede recuperar las licencias de usuarios inactivos.

./UserLastActivityTimeReport.ps1 -LicensedUsersOnly

Exportar la hora del último inicio de sesión para obtener una lista de usuarios:

Puede usar el parámetro -MBNamesFile para obtener la última actividad de un buzón de la lista de entrada llamada "MBIdentity.txt" y exportar la última actividad a CSV.

Para obtener la última actividad real del buzón del usuario, pase un archivo de entrada con un nombre/alias/nombre distinguido/DN canónico/dirección de correo electrónico/UPN/nombre de cuenta Sam o GUID de los buzones.

./UserLastActivityTimeReport.ps1 -MBNamesFile C:/MBIdentity.txt

El MBNamesFile debe seguir el siguiente formato: Identidad del buzón separada por una nueva línea sin encabezado.

Exportar buzones de correo de Office 365 a CSV

Puede exportar el buzón de Office 365 con atributos como licencia asignada, funciones de administrador, hora del último inicio de sesión, etc. Para exportar el informe del buzón de Office 365, ejecute el script sin ningún parámetro. Esto exportará todos los buzones de correo en su inquilino de Office 365.

./UserLastActivityTimeReport.ps1

Exporte buzones de correo inactivos de Office 365 con un tiempo fácil de usar

Si desea ver el tiempo de la última acción de los usuarios con un tiempo amigable como hace 2 minutos, hace 3 horas, hace 3 días, puede usar< span style="color: #808080;"> -FriendlyTime param. Si usa este parámetro, instalará el módulo PowerShell Humanizer si el módulo aún no está instalado.

./UserLastActivityTimeReport.ps1 -FriendlyTime

Obtenga un informe más granular

Puedes usar varios filtros juntos para obtener un informe más detallado del último inicio de sesión. Por ejemplo, puede generar una lista de usuarios con licencia que están inactivos durante más de 90 días.

./UserLastActivityTimeReport.ps1 -LicensedUserOnly -InactiveDays 90

Ejecutar el “Informe sobre la hora real del último inicio de sesión de los usuarios de Office 365” con MFA

Para ejecutar el script con una cuenta habilitada para MFA,

./UserLastActivityTimeReport.ps1

Para saber más sobre cómo conectar Exchange Online PowerShell con MFA, consulte nuestro blog:Conectar Exchange Online PowerShell con MFA.

Para ejecutar el script con una cuenta que no sea MFA (se le solicitará una vez que ingrese la credencial. Usando esa credencial, el script creará una sesión de AzureAD y EXO PowerShell), ejecute el script con el parámetro de cambio -NoMFA.

./UserLastActivityTimeReport.ps1 -NoMFA

Programar el script de PowerShell “hora real del último inicio de sesión de los usuarios de Office 365”

Puede programar este script en el programador de tareas mencionando explícitamente la credencial.

<Script Location>\./UserLastActivityTimeReport.ps1 -UserName <UserName> -Password <Password> -NoMFA

Para saber más sobre la programación de secuencias de comandos de PowerShell, consulte nuestro blog: Programar secuencias de comandos de PowerShell mediante el Programador de tareas.

Nota:

LastUserActionTime no muestra datos actualizados. Habrá algún retraso como uno o dos días. Puede consultar LastUserActionUpdateTime que indica cuándo se actualizó LastUserActionTime .

Obtenga un informe más detallado sobre la fecha de la última actividad de los usuarios:

Si desea conocer los usuarios inactivos según su,

  • última hora de inicio de sesión
  • hora de la última actividad
  • último correo leído
  • último correo enviado
  • fecha del último correo recibido
  • Usuarios inactivos de Exchange
  • Usuarios inactivos de Teams según la fecha de la última actividad del equipo
  • Usuarios inactivos de SharePoint según la actividad de SharePoint
  • Usuarios inactivos de OneDrive
  • Usuarios inactivos de Skype
  • Usuarios inactivos de Yammer

Le sugiero que pruebe la herramienta de auditoría e informes AdminDroid Microsoft 365.

Además, AdminDroid proporciona más de 1500 informes prediseñados y 20 paneles de control inteligentes y visualmente atractivos para conocer su entorno de Office 365 de un vistazo. Esta herramienta proporciona informes sobre informes, auditorías, análisis, estadísticas de uso, seguridad y cumplimiento de Office 365, etc.

Además, AdminDroid proporciona más de 100 informes y varios paneles de control completamente gratis. Incluye informes sobre usuarios, licencias, grupos, miembros de grupos, dispositivos, actividades de inicio de sesión, cambios de contraseña, cambios de licencia y más. La edición gratuita no tiene restricciones en las funcionalidades de informes, como personalización, programación y exportación. Para sus necesidades de auditoría e informes de Azure AD, puede descargar la herramienta gratuita de informes de Office 365 de AdminDroid y ver cómo funciona para usted.

El seguimiento de los usuarios inactivos definitivamente le ayudaría a realizar una mejor gestión. Si tiene alguna consulta, comuníquese con nosotros a través de la sección de comentarios.

Artículos relacionados