Users: Where UserPrincipalName Starts With
Retrieving all users where the UserPrincipalName (or UPN) starts with using Microsoft Graph.
PowerShell
Connect-MgGraph -Scopes @('User.Read.All')
$upnPrefixes = @(
'svc',
'service'
)
$filter = ''
for ($i = 0; $i -lt $upnPrefixes.Count; $i++) {
if ($i -eq 0) {
$filter = "startsWith(userPrincipalName,'$($upnPrefixes[$i])')"
}
else {
$filter += " OR startsWith(userPrincipalName,'$($upnPrefixes[$i])')"
}
}
$users = Get-MgUser -All -PageSize 999 -Filter $filter
Dependencies
Microsoft Graph SDK for PowerShell
Install-Module Microsoft.Graph -AllowClobber -Force
Connect-MgGraph
Using the Microsoft Graph Command Line Tools Enterprise Application:
Connect-MgGraph -Scopes @('')
Using an existing Access Token:
Connect-MgGraph -AccessToken (ConvertTo-SecureString 'ey..' -AsPlainText -Force)
Using an Application Registration (Platform: Mobile and desktop applications, redirect http://localhost):
Connect-MgGraph -ClientId 'abc..' -TenantId 'abc..'
Using a ClientId and Secret (Password):
$tenantId = ''
$clientId = ''
$secret = ConvertTo-SecureString '' -AsPlainText -Force
$secretCredential = New-Object System.Management.Automation.PSCredential ($clientId, $secret)
$params = @{
'SecretCredential' = $secretCredential
'TenantId' = $tenantId
}
Connect-MgGraph @params