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

我从你的问题中了解到,你想列出所有的邮箱地址都以@ mydomain.com结尾的smtp地址? 就像一个报告,所有现有的@ 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 (PSpipe道的标准过滤对象)的缩写。