Comando do Exchange 2010 Powershell para verificar se existe um endereço de email no sistema


12

Estou procurando um comando do Exchange 2010 que faça o seguinte:

  1. Dado um endereço de email (totalmente qualificado com domínio e tudo), verifique se o endereço de email está associado a alguma caixa de correio ou grupo no sistema;
  2. (Idealmente) mostre qual entidade possui esse endereço de e-mail

Seria muito útil verificar minha migração e verificar se todos os nossos aliases foram movidos corretamente.

Respostas:


15

Get-Recipient -Identity user@domain.com

Isso retornará o objeto de destinatário para quem tiver o endereço de email fornecido (incluindo aliases). Como é garantido que os e-mails sejam únicos, isso nunca deve retornar mais de um registro (acredito).

Get-Recipient -ANR user

Você pode usar -ANRa pesquisa usando a Resolução de nomes ambíguos (para digitar o primeiro, o sobrenome, o nome de usuário etc.), mas enquanto o ANR corresponder ao endereço de email principal de um usuário, ele não corresponderá aos outros aliases SMTP. O ANR pode retornar várias correspondências (para garantir que seu código lide com esse caso).

Get-Mailboxnão é suficiente para confirmar que um endereço de email é exclusivo, pois não retornará necessariamente contatos ou registros de sistemas externos ou herdados. Ele retorna caixas de correio ... e, embora todas as caixas de correio tenham um endereço de email, nem todos os endereços de email são uma caixa de correio.


Isto não trazer de volta as alcunhas de uma caixa de correio
Brian Mitchell

1
Esta é a resposta que funcionou para mim. Ele retornou corretamente os destinatários correspondentes ao pesquisar por endereços de email SMTP principais e também ao pesquisar com endereços de email SMTP secundários.
RSW

2
@BrianMitchell, pode totalmente, se canalizado, para visualizar os atributos desejados. Get-Recipient user@domain.com | Select Name,EmailAddresses. Por padrão, ele apenas mostrará Namee RecipientType.
blaughw

3

Isso deve fazer o truque:

get-mailbox -an user@domain.com 

5
Isso não funcionará para contas com vários aliases SMTP; somente o endereço de email principal retornará um registro. Os aliases não retornarão nada (indicando falsamente que a conta está disponível).
Myrddin Emrys

3
Não funciona para endereços secundários em uma caixa de correio.

2

Sei que isso é um pouco antigo, mas resolvi o problema executando o seguinte:

Get-Mailbox | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}
Get-DistributionGroup | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}
Get-MailPublicFolder | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}

Se algo fosse devolvido por qualquer um deles, isso não necessariamente me diria qual conta estava sendo usada, mas, então, eu poderia me concentrar em qual dos três retornou um registro para mergulhar mais fundo. Se nada for retornado, ele não está sendo usado.



-2

O seguinte funcionou para mim, mesmo com aliases:

get-recipient -filter {emailaddresses -like "*user@domain.com*"}

Também retorna o nome do destinatário e o tipo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.