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.
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.
Lo siguiente es clicar donde dice Administrar vista, y en el desplegable, seleccionar la opción 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.
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.
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.