Office 365 – How to find all your active/external users?

Today I wanted to have a look if I could find all my external users in Office 365. And I’m especially interested in the active users.

First I had to connect to the Microsoft Online Service



Then I’m collecting all users

$users = Get-MsolUser


foreach ($user in $users){
Write-Host $user.UserPrincipalName $user.UserType

Ok, So No I’m getting either Guest or Member.


The Guests are all my external users.

The complete script:


$users = Get-MsolUser

foreach ($user in $users){
if ($user.UserType -eq “Guest”)
Write-Host $user.UserPrincipalName


Ok now the second part. How do I find my active users.


The closest I can get is: $user.LastPasswordChangeTimestamp

Ok, so now I know when someone’s password was last changed.

Now you just need to make sure that I force users to change their passwords on a regular basis. So that when their passwords haven’t changed the above will roughly give me the active users.

One thought on “Office 365 – How to find all your active/external users?

  1. commented on May 26, 2016 by Christopher Bird

    Will have to give this one a go.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: