The following script allows you to access user profile properties for Sharepoint Online users.
Under PersonalSpace you can find either a link or an empty field. It will let you know if the user has the personal site.
Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Context.Credentials = $Creds
#Identify users in the Site Collection
$Users = $Context.Web.SiteUsers
$Context.Load($Users)
$Context.ExecuteQuery()
#Create People Manager object to retrieve profile data
$PeopleManager = New-Object Microsoft.SharePoint.Client.UserProfiles.PeopleManager($Context)
Foreach ($User in $Users)
{
$UserProfile = $PeopleManager.GetPropertiesFor($User.LoginName)
$Context.Load($UserProfile)
$Context.ExecuteQuery()
If ($UserProfile.Email -ne $null)
{
Write-Host "User:" $User.LoginName -ForegroundColor Green
$UserProfile.UserProfileProperties
Write-Host ""
}
}
EDIT
Actually there is another way, much simpler, that doesn't involve scripting and still shows you which users have personal site.
Connect via SharePoint Management Shell and write in the console:
Get-SPOUser -Site https://domain-my.sharepoint.com
You will get a list of list of users (+some extras) who created their personal site.