Search-Mailbox

此 cmdlet 可在本地 Exchange 和基于云的服务中使用。 一些参数和设置可能只适用于某个特定的环境。

使用 Search-Mailbox cmdlet 可以搜索邮箱并将结果复制到指定的目标邮箱,从源邮箱删除邮件,或同时从目标邮箱和源邮箱中删除邮件。

注意:在基于云的环境中,将弃用 Search-Mailbox cmdlet,转而使用 New-ComplianceSearch 和相关电子数据展示 cmdlet。

默认情况下,Search-Mailbox仅在邮箱搜索或邮箱导入导出角色中可用,并且这些角色不会分配给 任何 角色组。 若要使用此 cmdlet,需要将一个或两个角色添加到角色组 (例如组织管理角色组) 。 只有邮箱导入导出角色才允许你访问 DeleteContent 参数。 有关向角色组添加角色的详细信息,请参阅 向角色组添加角色

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Search-Mailbox
      [-Identity] <MailboxOrMailUserIdParameter>
      [-Confirm]
      [-DeleteContent]
      [-DomainController <Fqdn>]
      [-DoNotIncludeArchive]
      [-Force]
      [-IncludeUnsearchableItems]
      [-SearchDumpster]
      [-SearchDumpsterOnly]
      [-SearchQuery <String>]
      [-WhatIf]
      [<CommonParameters>]
Search-Mailbox
      [-Identity] <MailboxOrMailUserIdParameter>
      [-EstimateResultOnly]
      [-Confirm]
      [-DomainController <Fqdn>]
      [-DoNotIncludeArchive]
      [-Force]
      [-IncludeUnsearchableItems]
      [-SearchDumpster]
      [-SearchDumpsterOnly]
      [-SearchQuery <String>]
      [-WhatIf]
      [<CommonParameters>]
Search-Mailbox
      [-Identity] <MailboxOrMailUserIdParameter>
      -TargetFolder <String>
      -TargetMailbox <MailboxIdParameter>
      [-Confirm]
      [-DeleteContent]
      [-DomainController <Fqdn>]
      [-DoNotIncludeArchive]
      [-Force]
      [-IncludeUnsearchableItems]
      [-LogLevel <LoggingLevel>]
      [-LogOnly]
      [-SearchDumpster]
      [-SearchDumpsterOnly]
      [-SearchQuery <String>]
      [-WhatIf]
      [<CommonParameters>]

说明

您可以使用 Search-Mailbox cmdlet 搜索指定的邮箱中的邮件并执行下列任一任务:

  • 将邮件复制到指定的目标邮箱。
  • 从源邮箱中删除邮件。 您必须分配有“邮箱导入导出”管理角色才能删除邮件。
  • 执行单个项目恢复以恢复用户的“可恢复项目”文件夹中的项目。
  • 在邮箱的“可恢复项目”文件夹达到“可恢复项目”硬配额时进行清理。

示例

示例 1

Search-Mailbox -Identity "Joe Healy" -SearchQuery "Subject:Project Hamilton" -TargetMailbox "DiscoveryMailbox" -TargetFolder "JoeHealy-ProjectHamilton" -LogLevel Full

本示例搜索 Joe Healy 的邮箱,并将搜索结果复制到 JoeHealy-ProjectHamilton 文件夹中的 DiscoveryMailbox 中。

示例 2

Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -TargetMailbox "administrator" -TargetFolder "SearchAndDeleteLog" -LogOnly -LogLevel Full

本示例搜索 April Stewart 的邮箱中主题包含“Your bank statement”短语的邮件,并将结果记录在管理员邮箱的 SearchAndDeleteLog 文件夹中。 邮件将不复制到目标邮箱。

示例 3

Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -DeleteContent

本示例搜索 April Stewart 的邮箱中主题包含“Your bank statement”短语的邮件,然后从源邮箱中删除这些邮件。 您必须分配有“邮箱导入导出”管理角色才能使用 DeleteContent 开关。

示例 4

Get-Mailbox | Search-Mailbox -SearchQuery 'election OR candidate OR vote' -TargetMailbox "Discovery Search Mailbox" -TargetFolder "AllMailboxes-Election" -LogLevel Full

此示例将在组织的所有邮箱中搜索包含单词“election”、“candidate”或“vote”的邮件。 搜索结果会复制到文件夹 AllMailboxes-Election 下的 Discovery Search Mailbox 中。

参数

-Confirm

Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 造成的影响取决于在你继续操作之前 cmdlet 是否需要确认。

  • 破坏性 cmdlet (例如,Remove-* cmdlet) 具有内置的暂停,该暂停会强制你在继续操作之前确认命令。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false
  • 大多数其他 cmdlet (例如,New-* 和 Set-* cmdlet) 没有内置暂停。 对于这些 cmdlet,指定不含值的 Confirm 开关会引入暂停,从而强制要求你先确认命令,然后再继续操作。
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-DeleteContent

注意:需要分配邮箱导入导出管理角色才能使用此开关。 默认情况下,此角色不会分配给任何角色组 (包括组织管理) 。 通常,您可以将角色分配给内置或自定义角色组。

DeleteContent 开关指定从源邮箱中永久删除由搜索返回的邮件。 不必为此开关指定值。

将此开关与 TargetMailbox 参数一起使用时,邮件将复制到目标邮箱并从源邮箱中删除。 如果将搜索的日志记录级别设置为 Basic 或 Full,则必须指定用来放置日志的目标邮箱和目标文件夹。 若要从源邮箱中删除邮件,而不将其复制到目标邮箱中,请不要指定 TargetMailbox、TargetFolder 和 LogLevel 参数。

使用 DeleteContent 开关删除内容之前,建议您使用 LogOnly 参数测试搜索参数,如示例 2 中所示。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-DomainController

此参数只在本地 Exchange 中可用。

DomainController 参数指定此 cmdlet 从 Active Directory 读取数据或向其写入数据时使用的域控制器。 可以使用完全限定的域名 (FQDN) 来标识域控制器。 例如,dc01.contoso.com。

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DoNotIncludeArchive

DoNotIncludeArchive 开关指定不得搜索用户的存档邮箱。 无需指定此开关的值。

默认情况下,始终都会搜索存档邮箱。

如果为Exchange Online邮箱启用了自动扩展存档,则仅搜索用户的主存档邮箱。 不会搜索辅助存档邮箱。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-EstimateResultOnly

EstimateResultOnly 开关仅返回消息总数和大小的估计值。 邮件将不复制到目标邮箱。 不必为此开关指定值。

此开关不能与 TargetMailbox 参数一起使用。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-Force

强制开关隐藏警告或确认消息。 不必为此开关指定值。

使用 DeleteContent 开关永久删除邮件时,使用此开关可隐藏确认提示。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-Identity

Identity 参数指定要搜索的邮箱的标识。 可以使用能够唯一标识邮箱的任意值。 例如:

  • 名称
  • 别名
  • 可分辨名称 (DN)
  • 可分辨名称 (DN)
  • 域\用户名
  • 电子邮件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 用户 ID 或用户主体名称 (UPN)
Type:MailboxOrMailUserIdParameter
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-IncludeUnsearchableItems

IncludeUnsearchableItems 开关包括 Exchange 搜索无法在搜索结果中编制索引的项目。 不必为此开关指定值。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-LogLevel

LogLevel 参数指定搜索的日志记录级别。 它可以具有下列值之一:

  • 禁止显示:不保留任何日志。
  • 基本信息:保留有关查询及其运行者的基本信息。
  • 完整:除了基本日志级别保留的信息外,完整日志级别还会添加搜索结果的完整列表。

默认日志级别为 Basic。

包含此参数时,将创建一封电子邮件并将其发送到 TargetMailbox 参数指定的邮箱。 日志文件 (,它是名为“搜索Results.csv) ”的 CSV 格式文件,将附加到此电子邮件,并将位于 TargetFolder 参数指定的文件夹中。 运行 Search-Mailbox cmdlet 时,日志文件包含搜索结果中的每个邮件的行。

Type:LoggingLevel
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-LogOnly

LogOnly 开关执行搜索,但仅生成日志。 搜索返回的邮件将不复制到目标邮箱。 不必为此开关指定值。

通过使用 LogLevel 参数指定日志记录级别。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-SearchDumpster

SearchDumpster 开关指定是否在搜索中包含“可恢复的项目”文件夹。 “可恢复的项目”文件夹存储从“已删除邮件”文件夹中删除的项目或从邮箱数据库清除之前被硬删除的项目。

默认情况下,搜索中始终包含“可恢复的项目”文件夹。 若要从搜索中排除“可恢复的项目”文件夹,请使用以下确切语法: -SearchDumpster:$false

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-SearchDumpsterOnly

SearchDumpsterOnly 开关指定仅搜索指定邮箱的“可恢复邮件”文件夹。 不必为此开关指定值。

“可恢复的项目”文件夹存储从“已删除邮件”文件夹中删除的项目或从邮箱数据库清除之前被硬删除的项目。

您还可以将此开关与 DeleteContent 开关一起使用,以删除“可恢复项目”文件夹中的邮件,从而减小该文件夹的大小。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-SearchQuery

SearchQuery 参数指定使用关键字查询语言 (KQL) 格式的搜索字符串或查询。 有关 Exchange 中的 KQL 的详细信息,请参阅 用于In-Place电子数据展示的消息属性和搜索运算符

如果此参数为空,则返回所有的邮件。

注意:如果指定了搜索查询,Search-Mailbox cmdlet 每个邮箱最多返回 10000 个结果。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-TargetFolder

TargetFolder 参数指定目标邮箱中用来保存搜索结果的文件夹名称。 执行时在目标邮箱中创建该文件夹。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-TargetMailbox

TargetMailbox 参数指定将搜索结果复制到的目标邮箱。 可以使用能够唯一标识邮箱的任意值。 例如:

  • 名称
  • 别名
  • 可分辨名称 (DN)
  • 可分辨名称 (DN)
  • 域\用户名
  • 电子邮件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 用户 ID 或用户主体名称 (UPN)

必须将此参数与 TargetFolder 参数一起使用。 此参数不能与 EstimateResultOnly 开关一起使用。

Type:MailboxIdParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-WhatIf

WhatIf 开关模拟命令操作。 可以使用此开关在不实际应用将会发生的更改的情况下预览这些更改。 不必为此开关指定值。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

输入

Input types

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。