Office 365 – Exchange : obtenir le « Last Logon Time » des utilisateurs

I. Présentation

Obtenir la date de dernière connexion de vos utilisateurs sur leur boite e-mail Office 365 est un excellent moyen de voir l'activité de vos utilisateurs sur Exchange Online. C'est aussi un bon moyen d'identifier des utilisateurs inactifs, qui seront peut être à supprimer de votre tenant. L'occasion également de récupérer quelques licences et donc de faire quelques économies... Bien sûr, l'objectif n'est pas de tracker les utilisateurs non plus... Restons correct.

Pour obtenir cette information, on utilisera le cmdlet Get-MailboxStatistics car il contient la propriété "LastLogonTime".

II. Obtenir la dernière connexion d'un utilisateur unique

Pour savoir à quand remonte la dernière connexion d'un utilisateur spécifique, on utilisera la commande suivante :

Get-MailboxStatistics -Identity <UPN-de-l-utilisateur> | Select-Object DisplayName,LastLogonTime

Ce qui nous donnera une information précise :

Maintenant, voyons comment faire un export complet pour tous les utilisateurs.

III. Obtenir la date de dernière connexion de tous les utilisateurs

On va utiliser le cmdlet "Get-Mailbox" afin de récupérer la liste de toutes les boites aux lettres. On va ensuite piper cette commande avec "Get-MailboxStatistics" pour obtenir les infos de dernière connexion sur chaque boite aux lettres.

Ce qui nous donne :

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName,LastLogonTime

En fonction de la quantité de compte sur votre tenant, le résultat peut prendre un certain temps avant de s'afficher.

Note : Il est à noter que le cmdlet Get-MailboxStatistics peut aussi être utilisé pour connaître le nombre d'e-mails contenu dans chaque mailbox de votre tenant.

IV. Exporter la liste des utilisateurs qui ne se sont jamais connectés

Maintenant, si l'on veut mettre tout cela en forme, on peut rédiger un petit script sympathique qui va nous retourner la liste des utilisateurs qui ne se sont pas encore connecté à Office 365. Il est à noter que la première étape consiste à récupérer la liste de toutes les mailbox du tenant, en fonction du nombre de comptes l'exécution de cette commande peut être longue.

On va créer un tableau d'objets nommé "$UsersNeverLogon" et qui pourra contenir différentes propriétés. Dans cet exemple, je stocke seulement une donnée : le nom d'affichage du compte (DisplayName).

La propriété "LastLogonTime" indique à quand remonte la dernière connexion d'un utilisateur, donc si cette valeur est vide c'est que l'utilisateur ne s'est pas encore connecté.

Au total, cela nous donne le code suivant :

$UsersNeverLogon = @()

$MailboxLastLogonTime = Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName,LastLogonTime

Foreach($Mailbox in $MailboxLastLogonTime){

    if($Mailbox.LastLogonTime -eq $null){

       Write-Output "$($Mailbox.DisplayName) ne s'est jamais connecté !"

       $UsersNeverLogon += New-Object PSObject -property @{ 

         Name = $Mailbox.DisplayName
       }
    }
}

$UsersNeverLogon | Export-Csv -Path "C:\Exports\O365_UsersNeverLogon.csv" -Delimiter ";" -NoTypeInformation

La dernière ligne de ce bout de code exporter le contenu de notre tableau dans un fichier CSV nommé "0365_UsersNeverLogon.csv".

Maintenant libre à vous d'utiliser ce code tel qu'il est présenté ici ou de l'améliorer ! 🙂

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian B.

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian has 2069 posts and counting.See all posts by florian

Une pensée sur “Office 365 – Exchange : obtenir le « Last Logon Time » des utilisateurs

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.