【问题标题】:Who last modified a mailbox Exchange 2010 (PowerShell)谁最后修改了邮箱 Exchange 2010 (PowerShell)
【发布时间】:2016-07-09 23:56:20
【问题描述】:

我希望检索所有用户邮箱的列表,并显示谁最后修改了相关邮箱 - 目前我的基本组件采用以下形式:

$mailbox | % {Search-AdminAuditLog | Where-Object {ObjectModified -eq $_.identity} | Select-Object -First 1 -Property CmdLetName,Caller,RunDate | Out-file "C:\tmp\$_.mailbox"}

其中 $mailbox 包含我要处理的邮箱列表:

$mailbox = GET-MAILBOXSERVER | Get-Mailbox -ResultSize Unlimited

如果我(单独)运行:

$mailbox  | select Identity

我得到了预期的身份,例如

testdomain.local/Users/Administrator

采用我希望能够传递给我的搜索的格式:

Search-AdminAuditLog | Where-Object {$_.ObjectModified -eq "testdomain.local/Users/Administrator"} | Select-Object -First 1 -Property CmdLetName,Caller,RunDate

(单独运行,运行良好)。所以我不清楚为什么,当我从 $mailbox 管道输入时,我根本没有得到任何结果?

【问题讨论】:

    标签: powershell exchange-server


    【解决方案1】:

    运行你的代码对我有用

    Search-AdminAuditLog | Where-Object {$_.ObjectModified -eq "My object path"} | Select-Object -First 1 -Property CmdLetName,Caller,RunDate
    

    你写的第一行包含:

    {$_.ObjectModified -eq $_.identity}
    

    我认为这行不通,因为您试图从 2 个不同的管道对象中引用属性。我很确定 $_ 代表最后一个管道字符左侧的 cmdlet 的输出。除非您正在搜索已修改自己的用户。

    在这里运行一些测试我注意到我的审计日志中缺少一些数据。似乎只回去一周左右。

    进一步阅读表明,仅调用 Search-AdminAuditLog 将返回最后 1000 个日志条目。你可能需要增加这个Search-AdminAuditLog -ResultSize 9000

    此外,您使用的代码正在搜索已修改管理员帐户邮箱的用户。您确定您没有尝试搜索管理员已修改的电子邮件帐户吗?因为那将是:

    Search-AdminAuditLog -ResultSize 9000 | Where-Object {$_.Caller -eq "testdomain.local/Users/Administrator"} | Select-Object -Property CmdLetName,ObjectModified,RunDate
    

    将搜索参数添加到Search-AdminAuditLog 将提高性能,例如,如果您正在寻找特定的操作:

    Search-AdminAuditLog -Cmdlets Add-MailboxPermission
    

    或开始和结束日期

    Search-AdminAuditLog -StartDate "4/6/2015 12:00:00 AM" -EndDate 4/6/2015 11:20:00 AM"
    

    编辑 您可以尝试不通过管道运行它吗?

    $Adminlog = Search-AdminAuditLog
    Foreach ($Mailbox in $Mailboxes)
    { $Adminlog | Where-Object {$_.ObjectModified -eq $Mailbox.Identity}}
    

    我认为这可能是您尝试比较 2 个列表的管道的限制

    【讨论】:

    • 感谢您的回复-抱歉,我最初的问题措辞有点不清楚-最后一行确实对我有用,我面临的挑战是当我将任何参数传递到“我的对象路径”时部分。我将更新问题以进一步澄清!再次感谢
    • 检查我的编辑,我认为使用管道比较 2 个列表对象可能要求很多。
    • 谢谢 - 你说得对 - 管道太多(这会教我尝试将它保持在一行!) - 我已经重组并将每个元素存储在变量中并连续处理而不是试图通过管道进入另一个管道。再次感谢您的帮助尼克!
    猜你喜欢
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多