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

Connect-MSolService

 

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.

guests

The Guests are all my external users.

The complete script:

Connect-MSolService

$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.

Advertisements