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

11

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

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

Isso seria muito útil para eu verificar minha migração e verificar se todos os aliases foram movidos corretamente.

    
por tacos_tacos_tacos 03.02.2012 / 16:42

5 respostas

15

Get-Recipient -Identity [email protected]

Isso retornará o objeto do destinatário para quem tiver o endereço de e-mail fornecido (incluindo aliases). Como os e-mails são garantidos como únicos, isso nunca deve retornar mais de um registro (acredito).

Get-Recipient -ANR user

Você pode usar -ANR para pesquisar usando a Resolução de nomes ambíguos (para que você possa digitar seu primeiro, último nome de usuário etc.), mas enquanto ANR corresponder ao endereço de e-mail principal de um usuário, ele não corresponderá a outros aliases SMTP. O ANR pode retornar várias correspondências (portanto, certifique-se de que seu código cuida desse caso).

Get-Mailbox não é suficiente para confirmar que um endereço de e-mail é 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.

    
por 30.03.2012 / 00:04
3

Isso deve funcionar:

get-mailbox -an [email protected] 
    
por 03.02.2012 / 16:53
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 retornado por qualquer um deles, isso não necessariamente me diria que conta o estava usando, mas, então, eu poderia focar em qual dos três retornou um registro para mergulhar mais fundo. Se nada for retornado, então não está sendo usado.

    
por 28.01.2016 / 18:47
0

Get-Recipient deve fazer o truque

    
por 03.02.2012 / 18:41
-2

O seguinte funcionou para mim, mesmo com aliases:

get-recipient -filter {emailaddresses -like "*[email protected]*"}

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

    
por 18.08.2016 / 17:57