List Recipients w/o Exchange Unified Messaging Address

This topic contains 6 replies, has 2 voices, and was last updated by Profile photo of Brian Brian 2 years, 4 months ago.

  • Author
    Posts
  • #17485
    Profile photo of Brian
    Brian
    Participant

    Hello all,

    I am trying to get a list of recipients that do not have an Exchange Unified Messaging (EUM) address listed in their account. I have figured out how to pull a query to list only the EUM address for a particular user (*Thnx to Carl Gray @ oxfordsbsguy.com).

    Get-Recipient -Identity JohnnyBravo | select name,recipienttypedetails -ExpandProperty emailaddresses | select Name,EUMaddress

    How do I work this backwards though so that I can query all recipients and identify those that do not have an EUMaddress listed? I tried the following, but I believe this just filters out the EUM address information, rather than listing the accounts without an EUM address.

    Get-Recipient -resultsize 400 | select name,recipienttypedetails -ExpandProperty emailaddresses | where {$_.EUMaddress -eq $null} | select name,prefix

    Thank you in advance.

    Regards,
    Brian

  • #17489
    Profile photo of Don Jones
    Don Jones
    Keymaster

    So, your mistake is that you've used Select-Object twice.

    In the first Select-Object, you didn't include EUMAddress. Therefore, Where-Object will not have an EMUAddress to work with. Ergo, the Where-Object condition will always evaluate to True, outputting everything that was input to it.

    In other words, your pipeline has four stages, separated by pipe characters. At the end of stage 2, you've removed EMUAddress, so stage 3 doesn't have it to work with. You need to correct that.

  • #17620
    Profile photo of Brian
    Brian
    Participant

    Hello sir,

    Thank you for your response, I see what you mean.

    If I drop the last select (stage 4), then I am able to get information, but not accurate information.

    Get-Recipient -resultsize unlimited | select name,recipienttypedetails -ExpandProperty emailaddresses | where {$_.EumAddress -eq $null} will return something like the following for every user (see Line_1_results.txt).

    Nothing about an EUM entry, but if I run the following for this particular user Get-Recipient JohnnyBravo | select name,recipienttypedetails -ExpandProperty emailaddresses I receive the above information, along with the following (see Line_2_results.txt). The Line 2 results shows that there are indeed EUM address entries for the account.

    I am still trying to identify accounts that do not have an EUM address entry, but this has proven to be beyond my current skill set. If you have any additional advice, it would be greatly appreciated.

    Regards,
    Brian

  • #17623
    Profile photo of Don Jones
    Don Jones
    Keymaster

    Look at your Select statement. It doesn't include EUMAddress, therefore that information isn't available to the Where statement, and it isn't in the output. After Select runs, you can only work with the data output by that Select. Try including that property in the select.

  • #17625
    Profile photo of Brian
    Brian
    Participant

    I believe the property EumAddress is included once i identify the -ExpandedProperty EmailAddresses. If I run the line without the -ExpandedProperty and included EumAddress, nothing is returned. However, if I add the EumAddress to the select, then I receive the following error.

    Select-Object : Property cannot be processed because property "eumaddress" already exists.
    At line:1 char:38
    + Get-Recipient -resultsize 40 | select <<<< name,recipienttypedetails,eumaddress -ExpandProperty emailaddresses | where {$_.eumaddress -eq $null} I am thinking that I need to filter or search on a 'child-property' of the -ExpandedProperty EmailAddresses property. If that is in fact the case, then I do not know how to do that. Regards, Brian

  • #17626
    Profile photo of Don Jones
    Don Jones
    Keymaster

    Ah. I gotcha – I'm not a big Exchange person, so I didn't realize that. So you're not actually needing to check the contents of the property so much as check to see if it exists.

    So looking at your Listing 2 above, could you use a list where PrefixString -ne "EUM" as a criteria?

  • #17644
    Profile photo of Brian
    Brian
    Participant

    Hello Don,

    No worries at all. I appreciate the assistance.

    I had tried this previously after your advice to remove the second Select-Object condition, and it returns all other child properties of the -ExpandedProperty. It doesn't tell me the accounts that don't have an EUM entry in their list of emailaddresses.

    Here is the query that I ran: Get-Recipient -ResultSize unlimited | select -ExpandProperty emailaddresses | where {$_.prefixstring -ne "EUM"}

    Regards,
    Brian

You must be logged in to reply to this topic.