Get-MSIDUnmanagedExternalUsers.ps1
<# .SYNOPSIS Returns a list of all the external users in the tenant that are unmanaged (viral users). .EXAMPLE PS C:\>Get-MSIDUnmanagedExternalUsers Gets a list of all the unmanaged (viral) users in the tenant. #> function Get-MSIDUnmanagedExternalUsers { [CmdletBinding()] param () $uri = "https://login.microsoftonline.com/common/userrealm?user={urlEncodedMail}&api-version=2.1" $users = Get-MgUser -Filter "userType eq 'Guest'" -All foreach ($user in $users){ $encodedMail = [System.Web.HttpUtility]::UrlEncode($user.mail) $userRealmUri = $uri -replace "{urlEncodedMail}", $encodedMail $userRealmResponse = Invoke-WebRequest -Uri $userRealmUri $content = ConvertFrom-Json $userRealmResponse.Content if ($content.IsViral -eq "True"){ $user } } } |