Domínio SMTP do filtro Powershell do Exchange 2010

2

Como faço para filtrar apenas o endereço SMTP? Quero denunciar apenas usuários com nome de domínio @mydomain.com . Todos os outros nomes de domínio seriam excluídos. Estou tentando executar um relatório que excluiria determinados endereços SIP / SMTP com base no domínio do usuário.

$CheckUser = Get-CsUser -Filter {SipAddress -eq $SIP}
  $s = 0
  While ($CheckUser -eq $null) {
    $CheckUser = Get-CsUser -Filter {SipAddress -eq $SIP}
    $s++
    If ($s -eq 2000) {
      $Date = Get-Date –f "MM/dd/yyyy HH:mm:ss"
      "[$Date] User $EUID did not complete OCS configuration"
      $ProcessedDateandTime = Get-Date
      $ProcessedDate = $ProcessedDateandTime.ToShortDateString()
      $ProcessedTime = $ProcessedDateandTime.ToShortTimeString()
      $ErrorCode = "12"
      Add-Content $ProcessedFileName "$ProcessedDate,$ProcessedTime,$EUID,Mailbox Created but OCS Timed Out.,$ErrorCode"
      Add-Content $ErrorLog "$ProcessedDate,$ProcessedTime,$EUID,Mailbox Created but OCS Timed Out."
      $FailureCount++
      Break
    }
  }
    
por Aaron Harris 16.02.2012 / 21:12

2 respostas

2

O que eu entendi da sua pergunta é que você deseja listar todas as caixas de correio que têm um endereço SMTP que termina em @ meudominio.com? Como um relatório, com todos os endereços de e-mail existentes @ meudominio.com?

GET-MAILBOX * | where { $_.PrimarySMTPAddress.Domain -eq 'mydomain.com' }

Fonte: link

Espero que ajude

    
por 06.03.2012 / 02:27
0

Não sei ao certo onde no script acima você postaria isso, mas você pode usar o operador [string].EndsWith . Por exemplo:

dir|?{$_.name.EndsWith("f")}

mostrará todos os itens no diretório atual que terminem na letra f . Então você pode ajustar isso para:

|?{$_.emailaddress.EndsWith("example.org")}

depois de fazer sua Get- query

? é a abreviação de Where-Object (o objeto de filtragem padrão para um pipeline PS).

    
por 06.03.2012 / 02:20