Saltar al contenido
Millaredos

Listar última sesión iniciada Office 365

8 de agosto de 2023

Recientemente en otra mini entrada vimos como listar cuando un usuario cambió la contraseña por última vez. Hoy veremos dos formas de listar cuando iniciaron sesión por última vez en Office 365 u otro servicio de Microsoft 365.

Índice

    Desde el portal de Azure AD

    La primera de las formas, la más sencilla, es desde el navegador y haciendo unos cuantos clics. Lo primero es acceder al portal de Azure. https://portal.azure.com.

    Una vez iniciemos sesión con un usuario administrador, clicaremos en Azure Active Directory, luego en usuarios. Quedando una vista similar a la de la imagen.

    Usuarios

    Lo siguiente es clicar donde dice Administrar vista, y en el desplegable, seleccionar la opción editar columnas.

    editar columnas

    En la nueva pantalla, o bien se agrega una nueva columna o se edita una de ellas y se selecciona la opción de Hora de último inicio de sesión.

    Hora de último inicio de sesión

    Y el resultado es que aparece una columna con la fecha y la hora del último inicio de sesión. Se ve mejor con una imagen.

    Resultado

    Llegados a este punto, podemos pensar que si lo queremos en un fichero, clicamos en descargar y lo tenemos. Nada más lejos de la realidad, esa columna no se descarga. Así que esto está limitado solamente a listado por pantalla.

    ¿Cómo lo consigo en un fichero? Usaremos Powershell. Veamos el siguiente apartado.

    Listado desde Powershell

    Powershell para administradores es una herramienta potente, mucho más versátil que sacar la información por el portal, pero exige más conocimiento. En esta ocasión, se utilizará el módulo de Microsoft Graph.

    Lo primero, si nunca has utilizado este módulo, instalarlo. Se realiza de la siguiente manera. Abrir PowerShell como administrador.

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Install-Module Microsoft.Graph
    Install-Module Microsoft.Graph.Beta

    Incluyo también el Beta, porque en mi caso tuve que instalar ambos para que me funcionase. Podeis probar instalar uno y si no va instalar también el Beta.

    Estas instrucciones de instalación se pueden consultar en la documentación pública de Microsoft. Install the Microsoft Graph PowerShell SDK | Microsoft Learn

    Ahora toca conectar con Graph

    Connect-MgGraph -Scopes Directory.Read.All,AuditLog.Read.All

    Introducimos usuario y contraseña y si es la primera vez, nos solicitará permisos para dejar a graph acceder a nuestro tenant. Si estáis de acuerdo, clicar si.

    Get-MgUser -All -Property 'UserPrincipalName','SignInActivity','Mail','DisplayName' | Select-Object @{N='UserPrincipalName';E={$_.UserPrincipalName}}, @{N='DisplayName';E={$_.DisplayName }}, @{N='LastSignInDate';E={$_.SignInActivity.LastSignInDateTime}} | Export-Csv -Path C:\temp\usernew1.csv -NoTypeInformation -NoClobber

    Con ese comando exportamos un fichero con los nombres de usuario y el último inicio de sesión en Office 365 u otro servicio de Microsoft 365. El fichero se creará en C:\temp\usernew1.csv. Por lo que recordar que debe existir en C una carpeta llamada temp.

    Nota final: El listado por web en un tenant sin licencia premium de Azure AD me da error. En el caso de Powershell no llegué a probarlo sin licencia premium. Por lo que puede ser necesario tenerla, la P1 o P2.

    Configuración