[Powershell script Graph Api] Fetch sign-in logs of legacy applications which are using basic authentication to connect to Exchange online in office 365.

Microsoft has announced that next year they are going to disable basic authentication in office 365 for exchange online for the IMAP/POP/EAS and Exchange online PowerShell.

Now after this announcement organizations have responsibilities that they need to find the accounts which are using the basic authentication in office 365, to find that Microsoft exchange team has also shared the blog post on how to fetch these logs, but as you know that the post uses the azure portal which has download limit of 250000 logs only. so if you are a big organization and need to fetch logs over this limit you need to use the graph API to download these logs.

In this post, I am sharing the PowerShell script which is simple to use once setup. below are some of the screenshot of the script. I have listed most of all the legacy authentication clients.

Before you can run this script you would require to meet the certain requirements which are as follows:

  1. AzureAD PowerShell module must be installed.
  2. Admin account must have 'Report Reader' role assigned
  3. Register an app in Azure and update the App ID in the script. For more details on this step check my below-mentioned blogs.
Download Script from my Github Library version 2.  (few more attribute added to the report)

sample report.