【发布时间】:2015-06-03 05:47:14
【问题描述】:
我正在寻找一种有效的方法来使用 Powershell 检索在给定时间后已更改的所有 Exchange 2013 邮箱。 我想做的是获取所有配置更改的邮箱,阅读所有有趣的细节并定期将它们同步到另一个系统(比如每 5 分钟)。
到目前为止,我发现的工作方式是这样的:
$mbx = Get-Mailbox -Resultsize Unlimited|where-object {$_.whenchanged -gt $lasttime}
但是因为这将使所有邮箱保存它们,然后才循环通过它们来过滤结果,这需要大量资源和大量时间(>10000 个邮箱)。
有没有更好的方法来做到这一点?如果可以使用 LDAP,那就太好了。
谢谢 最好的问候
【问题讨论】:
-
您可以使用
-Filter开关。 -
我之前尝试过使用过滤器开关,例如 get-mailbox -filter {whenchanged -gt $lasttime} 但是由于变量的远程处理问题,这不起作用。现在我开始使用它了: $mbx = get-mailbox -DomainController $dc -filter ([scriptblock]::create("whenchanged -gt '$lastTime'"))
标签: active-directory ldap exchange-server