#Remote PowerShell session to Exchange Online function EXO { Import-PSSession (New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential (Get-Credential) -Authentication Basic -AllowRedirection) } #Check if Remote PowerShell session to Exchange Online exists function EXOSessionExists { if (!(Get-PSSession | Where { $_.ConfigurationName -eq "Microsoft.Exchange" -and $_.computername -like "outlook.office365.com" })) {EXO} } #Get all email addresses of specified Exchange recipients Function Get-EmailAddresses { param ( [Parameter(Position=0, Mandatory=$TRUE, ValueFromPipeline=$TRUE) ] [array] $Recipients) EXOSessionExists foreach ($recipient in $Recipients) { $objRecipient=Get-Recipient $recipient write-host "`nRecipient:" $objRecipient.DisplayName "`nType:" $objRecipient.RecipientTypeDetails "`nPrimary address:" $objRecipient.primarysmtpaddress "`nEmail addresses:";$objRecipient.emailaddresses} } #Find recipient with specified email address Function Find-EmailAddress { param ( [Parameter(Position=0, Mandatory=$TRUE, ValueFromPipeline=$TRUE) ] [array] $EmailAddresses) EXOSessionExists foreach ($emailaddress in $EmailAddresses) { write-host "`nFinding: $emailaddress `n" $objRecipient = get-recipient | where {$_.emailaddresses -match "$emailaddress"} write-host "Recipient:" $objRecipient.DisplayName;write-host "Email addresses:";write-host "Type:" $objRecipient.RecipientTypeDetails;$objRecipient.emailaddresses } }