Назад | Перейти на главную страницу

Exchange 2010 Powershell фильтрует домен SMTP

Как мне отфильтровать только SMTP-адрес? Я хочу сообщить только о пользователях с доменным именем @mydomain.com. Все другие доменные имена будут исключены. Я пытаюсь запустить отчет, который исключил бы определенные адреса SIP / SMTP, не относящиеся к домену пользователя.

$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
    }
  }

Из вашего вопроса я понял, что вы хотите перечислить все почтовые ящики, у которых SMTP-адрес заканчивается на @ mydomain.com? Как отчет со всеми существующими адресами электронной почты @ mydomain.com?

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

Источник : http://www.energizedtech.com/2010/01/powershell-exchange-2007-list.html

надеюсь, это поможет

Я не совсем уверен, где в приведенном выше сценарии вы разместите это, но вы можете использовать [string].EndsWith оператор. Например:

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

покажет вам каждый элемент в текущем каталоге, который заканчивается буквой f. Таким образом, вы можете настроить это на:

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

после того, как вы сделаете свое Get- запрос

? сокращение для Where-Object (стандартный объект фильтрации для конвейера PS).