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 不返回任何数据。