Exchange PowerShell Do While not working as expected

This is a small part of a larger script

I am searching for an existing SMTP address and if it is found, then adding a "incremented" number as a prefix to the address and searching again.  When I find an address that doesn't exist I wish to use this "New" address further in the script.  

Here is the code I am having issues with:

# This portion of the Script starts with a 'valid' Mail Contact Alias  
$MailContactAlias = "JohnDoe@Contoso.com"
$NewMailContactSmtpAddress = (Get-MailContact $MailContactAlias).ExternalEmailAddress.SmtpAddress
$Val = 0
Do
{
    $Val++
    $Prefix = ($Val -as [string])
    $NewMailContactSmtpAddress = $Prefix + $MailContactAlias
    $MailContactAddress = Get-Recipient $NewMailContactSmtpAddress -ErrorAction SilentlyContinue
    # Pause inserted for testing
    Pause
    if ($MailContactAddress -eq $Null)
        {
        $MailContact = "NotFound"
        }
    else
        {
        $MailContact = "Exist"
        }
}
While ($MailContact -eq "NotFound")

Even thought the variable $MailContact has a value of "NotFound" the Do ... While will not 'exit'.  

I am still relatively new to scripting so all information is greatly appreciated.
winsystemsAsked:
Who is Participating?
 
Adam BrownSr Solutions ArchitectCommented:
Two things...you'll want to define $mailcontact before the loop. You are also telling your script to loop as long as $mailcontact equals "NotFound", so unless you made a typo on this:

Even thought the variable $MailContact has a value of "NotFound" the Do ... While will not 'exit'.

It's running the way you coded it. If that's what you want, you'll need to put a ! in front of ($MailContact -eq "NotFound") to make it a NOT action. I can't remember if that also has to be in parentesis. I think it does, so like this:

While (!($MailContact -eq "NotFound"))

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.