Powershell 2 e Exchange: Encontre objetos conflitantes

5

Eu sou novo no powershell e no Exchange, então vá com calma se isso sair confuso.

Eu preciso gerar uma lista de todos os endereços de e-mail possíveis em nosso ambiente (dezenas de milhares) que causará o erro no código a seguir devido a um objeto que já existe com esse endereço de e-mail como uma de suas principais propriedades:

New-MailContact -Name $email                                  '
                -ExternalEmailAddress $email                  > $null

Eu tentei iterar todas as entradas retornadas do get-mailcontact, armazenando todos os endereços de email da coleção 'EmailAddresses', mas agora acredito que também preciso extrair todos os endereços de email possíveis dos objetos User. Cheguei ao ponto em que estou pensando que há uma maneira mais fácil, possivelmente única, de fazer isso.

Qual é a maneira mais fácil no PS 2 para conseguir isso? Existe uma maneira de garantir que, se um endereço de e-mail estiver na lista, o New-MailContact falhará com um erro duplicado e se o endereço de e-mail NÃO estiver na lista, garantimos que o New-MailContact não produzirá um erro devido a duplicatas. (Pode produzir outros erros, mas não porque um objeto já esteja associado a esse endereço.)

Obrigado!

    
por Larold 23.09.2011 / 02:38

1 resposta

1

Eu acredito que você poderia simplesmente pegar todos os objetos fora do seu Active Directory que tem uma coleção ProxyAddresses não vazia e, em seguida, filtrar os endereços SMTP (excluindo SIP e X400) -

Get-ADObject -Properties ProxyAddresses -Filter 'ProxyAddresses -gt 0' | select ProxyAddresses | %{$_.ProxyAddresses} | where{$_.ToUpper().StartsWith('SMTP:')}
    
por 28.09.2011 / 22:32