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.
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.
Will have to give this one a go.