Microsoft Online UserCheck Tool: Getting a Cloud User Data Snapshot

About a year and a half ago I published a script on the TechNet script gallery which uses the Microsoft Online PowerShell cmdlets to present information about the user and the online tenant. The script is MSOLTenantDetails.ps1 and was primarily intended for Microsoft Cloud global administrators to get a solid idea about the configuration of their tenant regarding domain verification, single sign on status and things like that.

My support team supports the Identity aspect of the Microsoft cloud services and as such we tend to see the trending needs for data and tools before other folks do. Over the past year and a half it’s become pretty obvious that folks who are using our online services need better tools they can use to get an immediate and comprehensive understanding of the status of the users in their online environment.

For example, which users are licensed for Yammer? Which are not?

Which are synchronized via FIM or DirSync, and when did they last sync?

….and many other questions.

To give Microsoft support folks that better understanding I created a Support Diagnostic package named “Microsoft Online UserCheck”. More information on that tool is in the Knowledge Base here. This tool is currently only available to Microsoft Customer Service and Support folks though it is in process to be accessible to anyone with a Windows Live account from the Microsoft Self Help diagnostic site

To use the tool just log onto the site and search for “UserCheck”.  The tool provides an easy to use interface to collect vital information about the users in a tenant which otherwise requires PowerShell expertise to glean. It also offers a graphical user interface in which you can choose to get cloud information about a single user or you can point the tool at a text file containing the user principal names (UPNs) of many users.

The first choice, for single user or multiple user checking, is shown below:


Immediately after selecting single or multiple users the tool will prompt you for the Microsoft Online tenant admin credentials. This needs to be a Global Admin user member and that credential cannot be Multi Factor Authentication (MFA) enabled.


Next, the tool will check to see if the Microsoft Online PowerShell module is installed or not. If it is the tool will continue, however if it is not then the tool will install it (and then remove it once the diagnostic has completed under the assumption you didn’t want it installed or you would have already).

In the Single User selection dialogue just type in the user principal name your interested in getting info on. In the Multiple User selection type the file path to an “answer” file which contains a space separated list of user principal names or click to open a file selection dialogue and you can navigate to the file. The list can be any file type as long as it contains the text.

image image

While checking multiple users an estimate of the amount of time remaining, and a countdown of users, is updated so you can have a good idea of how long a large batch will take. The tool has been tested with 25,000+ users in one concurrent batch and had no problems. The tool takes approximately 2 seconds per user to query for information. Of course, this is dependent on network configuration as well as the responsiveness of the Microsoft Online cloud connection.


Additional items about the UserCheck tool:

  • The tool should be ran elevated.
  • Will install MSOnline PowerShell if needed and remove when finished.
  • Single user results will be in a TXT file. Multiple users will be in a CSV file.
  • The file name will be named after the tenant domain name (the initial or MOERA one).

The real value in running this tool is doing so against multiple users and then opening the CSV results file in Excel. image

Why is that such a good thing? Well, in Excel if you filter the top row you have a selectable and query able set of data.


So I can choose to show only the users who are Licensed by pulling down the isLicensed column and deselecting “False” and clicking OK:


The same selection, tuning and searching can be done for any combination of fields which are collected about the user….and everything about the user is collected.  When trying to get an answer about your online user’s as they are right now-a snapshot- this tool is your one stop shopping.

In true “Ginsu-knife” fashion though that is not all you get!

I have published to the TechNet Script Gallery the PowerShell code which gives most of the same functionality. You can run it as a standalone script or alter the code in it for whatever needs you have. You can download that script from this link.

Please reply to the blog or post in the Microsoft TechNet script gallery comments section if you have questions or concerns about these tools. I hope this helps folks save time and effort in getting their job done. Happy Holidays early!