如何使用日志记录在 Office 365 提供专用的邮箱审核调查丢失或意外地更新邮箱项目

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2792663
症状
在 Microsoft Office 365 提供专用邮箱中丢失了项目或邮箱中的项意外地更新。
原因
此问题发生的原因可能移动或删除意外地或不正确的项。
解决方案
若要解决此问题,使用 Windows PowerShell运行 MailboxAuditLogSearcher脚本和自定义搜索。您可以使用此脚本来调查都由非所有者和管理员执行的操作。此脚本将导出简化、 以逗号分隔值 (.csv) 文件来帮助您解决所丢失或意外地更新的项目有关的报表中的内容。

重要:建议使用由 微软在线服务 有助于在某些调查提供的脚本的客户。Microsoft Online Services 脚本是一般,并且他们预期可在所有的客户环境中。如果错误发生时执行的脚本的脚本的内容应为例来创建针对特定的客户环境自定义的脚本。Microsoft Online Services 为方便起见提供了对 O365-D/ITAR 客户不担保明示或暗示保证的情况下的脚本。

步骤 1: 运行脚本

若要运行运行 MailboxAuditLogSearcher脚本请执行以下步骤:
  1. 启动记事本并再从"详细信息"部分中将代码复制到记事本文件。
  2. 文件菜单上,单击另存为
  3. 保存类型框中,单击所有文件
  4. 文件名框中键入 运行 MailboxAuditLogSearcher.ps1然后单击保存
  5. 开始 Windows PowerShell 并连接到 Windows 远程 PowerShell。
  6. 找到您在其中保存脚本的目录并运行该脚本。

    备注:
    • 如果您运行不带参数的脚本会提示以下默认参数:
      • 邮箱
      • 开始日期
      • 结束日期
    • 若要搜索当天从项将添加到提示窗口中的结束日期值的一天。如果当前日期是 2012 年 3 月 14 日以及想要在搜索中包括当前日期的输入等 2012 年 4/15 作为结束日期。

步骤 2: 自定义邮箱审核日志搜索

邮箱的审核日志记录

邮箱的审核日志记录允许用户获取非所有者和管理员执行的操作有关的信息。邮箱的审核日志记录可供审核报告的邮箱的自助服务组的成员只能通过使用 Windows 远程 PowerShell。

注意:默认情况下只有非所有者邮箱审核已启用日志记录所有者邮箱审核和日志记录已禁用。如果必须执行所有者邮箱审核日志来调查具体问题可以被暂时启用过程在两周时间。

若要搜索邮箱审核日志条目根据您的具体情况使用下列方法之一:
  • 同步搜索单个邮箱。若要这样做运行 Windows 的远程 PowerShell 以下 cmdlet:
    Search-MailboxAuditLog
    有关搜索 MailboxAuditLog 命令 转至下面的 Microsoft TechNet 网站:
  • 异步搜索一个或多个邮箱。若要这样做运行 Windows 的远程 PowerShell 以下 cmdlet:
    New-MailboxAuditLogSearch
    有关新建 MailboxAuditLogSearch 命令 转至下面的 Microsoft TechNet 网站:
有关默认邮箱审核日志条目转到下面的 Microsoft TechNet 网站的"邮箱审核日志条目"部分:

自定义搜索

在 Office 365 提供专用和 ITAR 邮箱审核日志条目会在邮箱中保留 90 天。提示您指示的开始日期和结束日期进行搜索。多个可选参数可用于自定义搜索。有关这些参数的说明请参阅"更多信息"部分。

如果脚本运行之后找到的项、 您会收到类似以下的消息:

运行该脚本后结果的屏幕快照

此示例消息指示搜索过程发现了 11 项。默认情况下的FolderBind条目筛和保持以下的操作类型:
  • 复制
  • 创建
  • HardDelete
  • MessageBind
  • 移动
  • MoveToDeletedItems
  • 代理发送
  • SendOnBehalf
  • SoftDelete
  • 更新
注意:FolderBind操作指示由非所有者访问邮箱的时间。这是最常见的操作。您不需要在调查中被更新或删除某项时查看FolderBind操作。

查看输出的.csv 文件。导出是最有用的列和其中某些列合并以使输出更易于查看。有关导出的列的详细信息请参阅"更多信息"一节。
更多信息

运行 MailboxAuditLogSearcher 脚本

若要在"解决方案"一节中的过程的步骤 1 中请运行 MailboxAuditLogSearcher 脚本将文件写入一个文本文件复制下面的代码。

param ([PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)] [string]$Mailbox, [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)] [string]$StartDate, [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)] [string]$EndDate, [PARAMETER(Mandatory=$FALSE,ValueFromPipeline=$FALSE)] [string]$Subject, [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)] [switch]$IncludeFolderBind, [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)] [switch]$ReturnObject) BEGIN { [string[]]$LogParameters = @("Operation", "LogonUserDisplayName", "LastAccessed", "DestFolderPathName", "FolderPathName", "ClientInfoString", "ClientIPAddress", "ClientMachineName", "ClientProcessName", "ClientVersion", "LogonType", "MailboxResolvedOwnerName", "OperationResult") } END { if ($ReturnObject) {return $SearchResults} elseif ($SearchResults.count -gt 0) { $Date = get-date -Format yyMMdd_HHmmss $OutFileName = "AuditLogResults$Date.csv" write-host write-host -fore green "Posting results to file: $OutfileName" $SearchResults | export-csv $OutFileName -notypeinformation -encoding UTF8 } } PROCESS { write-host -fore green "Searching Mailbox Audit Logs..." $SearchResults = @(search-mailboxAuditLog $Mailbox -StartDate $StartDate -EndDate $EndDate -LogonTypes Owner, Admin, Delegate -ShowDetails -resultsize 50000) write-host -fore green "$($SearchREsults.Count) Total entries Found" if (-not $IncludeFolderBind) { write-host -fore green "Removing FolderBind operations." $SearchResults = @($SearchResults | ? {$_.Operation -notlike "FolderBind"}) write-host -fore green "Filtered to $($SearchREsults.Count) Entries" } $SearchResults = @($SearchResults | select ($LogParameters + @{Name='Subject';e={if (($_.SourceItems.Count -eq 0) -or ($_.SourceItems.Count -eq $null)){$_.ItemSubject} else {($_.SourceItems[0].SourceItemSubject).TrimStart(" ")}}}, @{Name='CrossMailboxOp';e={if (@("SendAs","Create","Update") -contains $_.Operation) {"N/A"} else {$_.CrossMailboxOperation}}})) $LogParameters = @("Subject") + $LogParameters + @("CrossMailboxOp") If ($Subject -ne "" -and $Subject -ne $null) { write-host -fore green "Searching for Subject: $Subject" $SearchResults = @($SearchResults | ? {$_.Subject -match $Subject -or $_.Subject -eq $Subject}) write-host -fore green "Filtered to $($SearchREsults.Count) Entries" } $SearchResults = @($SearchResults | select $LogParameters) }

可选的脚本参数

下面的列表描述了生成不同的结果与运行 MailboxAuditLogSearcher脚本一起使用时的可选参数:
  • IncludeFolderBind:您在使用此开关时的 FolderBind 操作未从输出筛选。您可以使用 FolderBind 信息调查邮箱访问权限问题。

    以下 命令 的搜索如"邮箱测试用户 1" 和包括所有操作:

    /.Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "< Test User 1 >" -StartDate "< 09/10/12 >" -EndDate "< 09/27/12 >"
  • 主题:您在使用此开关时您可以对该项执行的操作将搜索范围限制为指定项目的主题。

    如以下 命令 筛选出所有输出具有主题设为"好消息"的项目除外:

    /.Run-MailboxAuditLogSearcher.ps1 -Subject "< Good News >" -Mailbox "< test1@contoso.com >" -StartDate "< 09/10/12 >" -EndDate "< 09/27/12 >"
  • ReturnObject:您在使用此开关时结果将显示在屏幕上但它不导出为.csv 文件。

    如以下 命令 都在屏幕上显示输出:

    /.Run-MailboxAuditLogSearcher.ps1 -ReturnObject -Mailbox "< Test User 1 >" -StartDate "< 09/10/12 >" -EndDate "< 09/27/12 >"

导出的.csv 文件中的列

导出的.csv 文件最有用的列。其中某些列被合并以使输出更易于查看。下表列出了要导出的列。
说明
主题 项目的主题
操作在项执行的操作
LogonUserDisplayName显示用户的登录名称
LastAccessed执行操作的时间
DestFolderPathName移动操作的目标文件夹
FolderPathName文件夹的路径
ClientInfoString有关客户端执行操作的详细信息
ClientIPAddress客户端计算机的 IP 地址
ClientMachineName客户端计算机的名称
ClientProcessName客户端应用程序进程的名称
ClientVersion版本的客户端应用程序
LogonType执行操作的用户的登录类型

注意:登录类型包括以下:
  • 对于非所有者的委托
  • 管理员
  • (默认情况下未记录) 的邮箱所有者
MailboxResolvedOwnerName解析的邮箱用户的名称

注意:已解析的名称是以下面的格式:
Domain\SamAccountName
OperationResult操作的状态

注意:操作结果如下:
  • 失败
  • PartiallySucceeded
  • 成功
CrossMailboxOperation有关记录该操作是否是一种跨邮箱操作 (如复制或移动邮件在邮箱中) 的信息
Exc o365d o365i

警告:本文已自动翻译

属性

文章 ID:2792663 - 上次审阅时间:06/30/2015 04:39:00 - 修订版本: 8.0

  • vkbportal226 kbgraphxlink kbmt KB2792663 KbMtzh
反馈