Você tem duas maneiras de resolver seu dilema, um dos quais você pode não saber que existe. Quanto à sua pergunta, o loop não está quebrando porque $false
é um booleano. Booleanos são um tipo de dados específico no Powershell. O que você deseja comparar é $null
, pois a variável $userExists
é nula, a menos que o cmdlet retorne um objeto de usuário.
A opção que eu recomendo que você use é que você especifique o Controlador de domínio para o cmdlet exchange (provavelmente Enable-Mailbox
) com o parâmetro -DomainController
.
Você pode obter o que um controlador de domínio está comunicando com um sistema usando o seguinte código:
$DC = (Get-ADDomainController).HostName