Get-MsftUserIdPs.ps1
<#
.SYNOPSIS Get list of Microsoft IdPs containing account with specific email address. .EXAMPLE Get-MsftUserIdPs user@domain.com .EXAMPLE 'user1@domainA.com','user2@domainA.com','user@domainB.com' | Get-MsftUserIdPs #> function Get-MsftUserIdPs { [CmdletBinding()] [OutputType([PsCustomObject[]])] param ( # [Parameter(Mandatory=$true, ValueFromPipeline=$true, Position=1)] [string[]] $EmailAddresses, # API Version [Parameter(Mandatory=$false)] [string] $ApiVersion = 'v2.1' ) process { foreach ($EmailAddress in $EmailAddresses) { $uriIdP = New-Object System.UriBuilder "https://odc.officeapps.live.com/odc/$ApiVersion/idp" $uriIdP.Query = ConvertTo-QueryString @{ 'hm' = 0 'emailAddress' = $EmailAddress } $Result = Invoke-RestMethod -Method Get -Uri $uriIdP.Uri.AbsoluteUri Write-Output $Result } } } |