powershell - Exchange 获取最后一个活动不早于的活动邮箱
问题描述
嗨,我尝试执行一个脚本作为交换(和在线交换)来查找共享邮箱作为主题
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Where {(Get-MailboxStatistics $_.Id
entity).LastLogonTime -gt (Get-Date).AddDays(-60)} | Sort -Property @{e={( Get-MailboxStatistics $_.Identity).LastLogonTime}} -Descending | Select-Object DisplayName,@{n="LastLogonTime";e={(Get-Mailbo
xStatistics $_.Identity).LastLogonTime}}|Where-Object {($_.PrimarySMTPAddress -like "*.uk*")}
我有一个错误
管道未执行,因为管道已在执行。管道不能同时执行。+ CategoryInfo : OperationStopped: (Microsoft.Power...tHelperRunspace:ExecutionCmdletHelperRunspace) [], PSInvalidOperationException + FullyQualifiedErrorId : RemotePipelineExecutionFailed
我无法识别错误...您能帮忙吗?
我使用了以下来源
http://www.thatlazyadmin.com/get-exchange-active-mailboxes/
https://www.codetwo.com/admins-blog/list-of-active-mailboxes-powershell/
解决方案
我已经重新排列了您的查询部分以使其正常工作。
$Output = Foreach ($mailbox in (Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox |
Where-Object {$_.PrimarySMTPAddress -like "*.uk*"})) {
$stats = $null
$stats = Get-MailboxStatistics $mailbox.UserPrincipalName |
Where-Object {$_.LastLogonTime -gt (Get-Date).Adddays(-60)}
$stats | Sort-Object LastLogonTime -Descending |
Select-Object DisplayName,LastLogonTime
}
$Output # Outputs to the console
这应该更快,因为它减少了您运行的次数Get-MailboxStatistics
。$Output
存储最终查询结果,您只需键入变量名即可访问。在处理每个对象时输出(与我们在这里所做的不同)非常缓慢。
推荐阅读
- java - JAVA + SQLite - 使用 strftime() 从每一行获取格式化日期
- python - 三角波的数学方程
- pandas - 拼音命名实体识别
- c# - 使用 Parallel.For 搜索最小值/最大值
- apache-pig - Apache Pig 拉丁语中的月份名称
- reactjs - 我想更改脉轮 ui 按钮的默认样式
- python - Python:如果需要,将浮点格式设置为最小浮点精度
- python - 如何在字符串中找到数字的乘积(python)
- php - 使用字符串调整 Carbon 对象的日期
- javascript - React onSubmit 等待函数内部的异步 IIFE 使用钩子更新状态