Как мне отфильтровать только 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).