Powershell поиск писем в outlook

Обновлено: 04.07.2024

This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.

Use the Search-Mailbox cmdlet to search a mailbox and copy the results to a specified target mailbox, delete messages from the source mailbox, or both.

Note: In cloud-based environments, the Search-Mailbox cmdlet is being deprecated in favor of New-ComplianceSearch and related eDiscovery cmdlets.

By default, Search-Mailbox is available only in the Mailbox Search or Mailbox Import Export roles, and these roles aren't assigned to any role groups. To use this cmdlet, you need to add one or both of the roles to a role group (for example, the Organization Management role group). Only the Mailbox Import Export role gives you access to the DeleteContent parameter. For more information about adding roles to role groups, see Add a role to a role group.

For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

Syntax

Description

You can use the Search-Mailbox cmdlet to search messages in a specified mailbox and perform any of the following tasks:

  • Copy messages to a specified target mailbox.
  • Delete messages from the source mailbox. You have to be assigned the Mailbox Import Export management role to delete messages.
  • Perform single item recovery to recover items from a user's Recoverable Items folder.
  • Clean up the Recoverable Items folder for a mailbox when it has reached the Recoverable Items hard quota.

Examples

Example 1

This example searches the mailbox of Joe Healy and copies the search results to the DiscoveryMailbox in the folder JoeHealy-ProjectHamilton.

Example 2

This example searches April Stewart's mailbox for messages that contain the phrase "Your bank statement" in the subject and logs the result in the SearchAndDeleteLog folder in the administrator's mailbox. Messages aren't copied to the target mailbox.

Example 3

This example searches April Stewart's mailbox for messages that contain the phrase "Your bank statement" in the subject and deletes the messages from the source mailbox. You have to be assigned the Mailbox Import Export management role to use the DeleteContent switch.

Example 4

This example searches all mailboxes in your organization for messages that contain the words "election", "candidate", or "vote". The search results are copied to the Discovery Search Mailbox in the folder AllMailboxes-Election.

Parameters

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

  • Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false .
  • Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.

Note: You need to be assigned the Mailbox Import Export management role to use this switch. By default, this role isn't assigned to any role group (including Organization Management). Typically, you assign a role to a built-in or custom role group.

The DeleteContent switch specifies that the messages returned by the search be permanently deleted from the source mailbox. You don't need to specify a value with this switch.

When you use this switch with the TargetMailbox parameter, messages are copied to the target mailbox and removed from the source mailbox. If you set the logging level for the search to Basic or Full, you must specify a target mailbox and a target folder to place the log in. To delete messages from the source mailbox without copying them to the target mailbox, don't specify the TargetMailbox, TargetFolder, and LogLevel parameters.

Before you use the DeleteContent switch to delete content, we recommend that you test search parameters by using the LogOnly parameter, as shown in Example 2.

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

This parameter is available only in on-premises Exchange.

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

The DoNotIncludeArchive switch specifies that the user's archive mailbox shouldn't be included in the search. You don't need to specify a value for this switch. By default, the archive mailbox is always searched.

If auto-expanding archiving is enabled for an Exchange Online mailbox, only the user's primary archive mailbox is searched. Auxiliary archive mailboxes aren't included in the search.

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

The EstimateResultOnly switch specifies that only an estimate of the total number and size of messages returned by the search be provided. Messages aren't copied to the target mailbox. You can't use this switch with the TargetMailbox parameter.

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

The Force switch overrides the confirmation prompt displayed when your use the DeleteContent switch to permanently delete messages.

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

The Identity parameter specifies the identity of the mailbox to search. You can use any value that uniquely identifies the mailbox. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Domain\Username
  • Email address
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • User ID or user principal name (UPN)

The IncludeUnsearchableItems switch specifies whether to include items that couldn't be indexed by Exchange Search. When set to $true, the IncludeUnsearchableItems switch specifies that items that couldn't be indexed by Exchange Search should be included in the search results.

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

The LogLevel parameter specifies the logging level for the search. It can have one of the following values:

  • Suppress: No logs are kept.
  • Basic: Basic information about the query and who ran it is kept.
  • Full: In addition to the information kept by the Basic log level, the Full log level adds a complete list of search results.

The default log level is Basic.

When you included this parameter, an email message is created and sent to the mailbox specified by the TargetMailbox parameter. The log file (which is a CSV-formatted file named Search Results.csv) is attached to this email message, and will be located in the folder specified by the TargetFolder parameter. The log file contains a row for each message that's included in the search results when you run the Search-Mailbox cmdlet.

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

The LogOnly switch specifies that a search be performed and only a log be generated. Messages returned by the search aren't copied to the target mailbox. The logging level is specified by using the LogLevel parameter.

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

The SearchDumpster parameter specifies whether to search the Recoverable Items folder, which is the storage location in which items deleted from the Deleted Items folder or hard-deleted items are stored until they're purged from the mailbox database. By default, the Recoverable Items folder is always searched. To exclude the folder from the search, set the SearchDumpster switch to $false, for example,-SearchDumpster:$false

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

The SearchDumpsterOnly switch specifies that only the Recoverable Items folder of the specified mailbox be searched. You can also use this switch with the DeleteContent switch to delete messages from the Recoverable Items folder and reduce the size of the folder.

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

The SearchQuery parameter specifies a search string or a query formatted using Keyword Query Language (KQL). For more information about KQL in Exchange, see Message properties and search operators for In-Place eDiscovery.

If this parameter is empty, all messages are returned.

Note: The Search-Mailbox cmdlet returns up to 10000 results per mailbox if a search query is specified.

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

The TargetFolder parameter specifies a folder name in which search results are saved in the target mailbox. The folder is created in the target mailbox upon execution.

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

The TargetMailbox parameter specifies the destination mailbox where search results are copied. You can use any value that uniquely identifies the mailbox. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Domain\Username
  • Email address
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • User ID or user principal name (UPN)

You must use this parameter with the TargetFolder parameter. You can't use this parameter with the EstimateResultOnly switch.

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

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

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

Inputs

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn't accept input data.

Outputs

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn't return data.

date

06.09.2021

directory

Exchange, Microsoft 365, Office 365, PowerShell

comments

комментария 2

С помощью механизма аудита on-prem Exchange Server и облачном Exchange Online (Microsoft 365) вы можете отслеживать все действия пользователей с любыми элементами в почтовом ящике. Аудит действий пользователей в ящике поможет администратору Exchange ответить на популярный вопрос – “как найти пользователя, который удалил письмо в общем почтовом ящике”?

В этой статье мы покажем, как настроить аудит действий в ящиках Exchange Server и Microsoft 365, и выполнять поиск по событиям аудита.

Настройка аудита в ящиках Office 365 (Microsoft 365)

Сначала рассмотрим, особенности аудита в ящиках облачного тенанта Microsoft 365. Этот функционал доступен только для подписок уровня E3 и E5.

Откройте консоль PowerShell и подключитесь к своему Exchange Online с помощью модуля EXOv2:

В Exchange Online (Office 365) аудит событий по-умолчанию включен для всех тенантов с конца 2018.

Get-OrganizationConfig | Format-List AuditDisabled

Аудит можно включить/отключить в настройках каждого ящика. Выведем текущие настройки для всех ящиков:

Get-Mailbox -ResultSize Unlimited -Filter | Select UserPrincipalName,AuditEnabled

включить аудит событий действий пользователей в ящике exchange

Как вы видите, аудит включен. Можно отключить аудит для определенного ящика:

Set-Mailbox kbuldogov -AuditEnabled $false

В Exchange есть несколько уровней аудита в ящике:

В журнал аудита можно записывать следующие события:

  • Copy
  • Create
  • FolderBind
  • HardDelete
  • MailboxLogin
  • MessageBind
  • Move
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Update
  • UpdateCalendarDelegation
  • UpdateFolderPermissions

Для каждого уровня аудита вы можете настроит те события, которые должны сохранятся в журнал. Текущие настройки аудита можно получить так:

Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditOwner
Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditDelegate
Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditAdmin

powershell настроить события аудита, которые нужно фиксировать в лог

Вы можете настроить, что в журнал аудита сохранялись только определенные действия, например удаление:

Set-Mailbox kbuldogov -AuditOwner HardDelete,SoftDelete

Если нужно только добавить некоторые события аудита к текущим:

Set-Mailbox kbuldogov -AuditOwner @

Журналы аудита хранятся непосредственно в ящике в папке Audits. Эта папка недоступна из почтового клиента Outlook или OWA.

Текущий размер журнала аудита в ящике можно получить с помощью команды:

папка Audits в ящике Exchange

Аудит в почтовых ящиках Exchange Server

В on-prem Exchange Server аудит почтовых ящиков доступен с версии 2010 SP1. По умолчанию аудит ящиков отключен.

Подключитесь к своему on-prem серверу Exchange с помощью PowerShell:

Вы можете включить аудит для одного почтового ящика:

Set-Mailbox kbuldogov -AuditEnabled $true

Или для всех почтовых ящиков в организации:

Get-Mailbox -ResultSize Unlimited -Filter | Set-Mailbox -AuditEnabled $true

В ящике Exchange Server включен аудит доступа администраторов и делегатов (здесь настройки по-умолчанию другие, чем в Exchange Online). Аудит действий владельца отключен. Включение аудита всех событий для владельца ящика может сильно увеличить размер журнала. Лучше всего включить выборочный аудит некоторых действий (например, удаления, перемещения):

Set-Mailbox kbuldogov -AuditOwner SoftDelete,HardDelete,MoveToDeletedItems,Move

События аудита хранятся 90 дней, после чего они удаляются. Вы можете управлять глубиной журнала аудита (и его размером). Например, уменьшите срок хранения событий для ящика с 90 до 30 дней:

Get-Mailbox kbuldogov |select AuditLogAgeLimit
Set-Mailbox kbuldogov -AuditLogAgeLimit 30 -Force

глубина аудита в Exchange Online

Кто удалил письмо из общего ящика Exchange?

Допустим в вашей организации/тенанте Exchange, есть некий общий или персональный почтовый ящик, к которому дан доступ другим пользователям. Кто-то из пользователей удалил важное письмо из ящика и вам нужно найти кто это сделал.

Для поиска в логах аудита почтового ящика используется командлет Search-MailboxAuditLog . Командлет доступен как в наземном Exchange Server, так и в облачном Exchange Online (некоторые параметры и опции могут отличаться).

Следующая команда выведет все операции аудита, которые выполнялись с элементами в указанном общем ящике с 5 сентября:

powershell командлет Search-MailboxAuditLog

Поиск может выполниться довольно долго в зависимости от количества событий аудита. В этом примере видно, кто удалил письмо с указанной темой.

Для поиска писем по всем ящикам Exchange используется командлет Search-Mailbox.

Вы можете более тонко отфильтровать журналы аудита. Например, мы хотим выбрать только события удаления (HardDelete, SoftDelete, MoveToDeletedItems), которые выполнялись не-владельцем ящика:

кто удалил письмо в общем ящике Exchange

Для асинхронного поиска по событиям аудита используется командлет New-MailboxAuditLogSearch . Он вызывает меньшую нагрузку на почтовый сервер, выполняется в фоне, позволяет более эффективно искать среди тысяч событий и отправляет результаты на указанный почтовый ящик.

Вы также можете выполнять поиск по логам аудита через Exchange Admin Center в разделе Compliance Management -> Auditing. Можно использовать отчет Run a non-owner mailbox access report или Export mailbox audit logs.

поиск по журналам аудита в Exchange Admin Center

Microsoft 365 Complicate Center поиск по событиям аудита

Вы можете выполнять поиск логов через Compliance Center с помощью командлета Search-UnifiedAuditLog .

Вы можете использовать события аудита чтобы проверить, что письмо прочитано.

date

27.10.2021

directory

Exchange

comments

комментариев 48

Назначаем разрешения для поиска по ящикам Exchange

Учетной записи администратора, который выполняет поиск и удаление элементов нужно назначить следующие роли:

  • Mailbox Import Export
  • Mailbox Search

Вы можете назначить роли через EAC или с помощью следующих команд PowerShell:

New-ManagementRoleAssignment -User itpro -Role "Mailbox Import Export"
New-ManagementRoleAssignment -User itpro -Role "Mailbox Search”

Роли Exchange для поиска Search-Mailbox

После назначения ролей нужно перезапустить консоль Exchange Management Shell.

Используем командлет Search-Mailbox для поиска и удаления писем в ящиках Exchange

Поиск писем в ящиках пользователей можно выполнить и через Exchange Control Panel / Exchange Admin Center, однако этот способ поиска довольно медленный и не позволяет удалять письма. Гораздо проще выполнить поиск с помощью PowerShell.

Сначала разберемся, как выполнять поиск с помощью Search-Mailbox.
Для поиска в определенном ящике писем с определенной темой выполните команду:
Search-Mailbox -Identity vasia -SearchQuery 'Subject:"Годовой отчет"'
Для поиска по всем ящикам в организации, воспользуйтесь командой:
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"Годовой отчет"'

Чтобы скопировать результаты поиска в определенный ящик и папку, используйте параметры TargetMailbox и TargetFolder. Таким образом после окончания поиска вы сможете с помощью Outlook или OWA вручную просмотреть найденные письма. Допустим, нам нужно выполнить поиск писем по списку пользователей (содержится в текстовом файле users.txt) и скопировать найденные письма в папку определённого ящика, выполните:

get-content users.txt | Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"Годовой отчет"' -TargetMailbox sec_mbx -TargetFolder "ExSearchFolder”

Параметр –LogOnly означает, что нужно выполнить только оценку результатов поиска, не копируя результаты поиска в целевой ящик и не удаляя элементы. При использовании этого аргумента на указанный целевой ящик будет отправлен отчет с результатами поиска. Отчет представляет собой заархивированный csv-файл, в котором перечислен список ящиков, соответствующих критериям поиска.

Вы можете оценить результаты поиска с помощью параметра –EstimateResultOnly, обратите внимание, что при использовании данного аргумента не нужно указывать целевой ящик и папку

Чтобы удалить найденные письма нужно использовать параметр –DeleteContent, чтобы убрать запросы на подтверждение удаления информации, добавьте параметр –Force.

Удалим все письма от пользователя vasia во всех ящиках на определенном сервере Exchange:

Get-Mailbox –Server msk-mdb1 –ResultSize unlimited | Search-Mailbox -SearchQuery 'from:"vasia@winitpro.ru"' –DeleteContent –Force

Перед удалением писем из ящиков с помощью ключа -DeleteContent настоятельно рекомендуем ознакомиться с найденными по указанным критериям поиск письмам с помощью аргументов -EstimateResultOnly или –LogOnly.

Чтобы выполнить поиск только по удаленным элементам, добавьте параметр –SearchDumpsterOnly (чтобы исключить поиск по удаленным элементам, добавьте параметр -SearchDumpster:$false) . Если нужно исключить архив ящика, используйте параметр –DoNotIncludeArchive.

Примеры запросов SearchQuery на поиск писем в ящиках Exchange

Удалим все письма с ключевым слово «Секрет» в теме от всех пользователей не из вашего домена:

Найти и удалить все письма с вложениями размером более 20Мб:

Search-Mailbox -Identity vasia -SearchQuery 'hasattachment:true AND Size >20971520' –DeleteContent

Совет. Размер писем указывается в байтах, причем учитывается размер всего письма, а не только вложения. Можно указывать размер в мегабайтах, в этом случае используется такой синтаксис: -SearchQuery .

Можно одновременно искать по тексту в заголовке и в теме письма, например, найдем и удалим все письма, у которых в теме письма содержится фраза «Новый Год» или в тексте письма есть фраза «покупка коньяка».

Можно искать в ящиках определенные элементы, с помощью аргумента Kind, например,:

Собрания: -SearchQuery "Kind:meetings"
Контакты: -SearchQuery "Kind:contacts"

Или другие элементы:

Поиск писем по определенному отправителю и получателю

-SearchQuery 'from:"admin@winitpro.ru" AND to:"support@winitpro.ru"'

Можно искать письма с определенным файлом во вложении:

Или по типу файла:

-SearchQuery 'attachment -like:"*.docx"'

Возможен поиск по дате отправки / получения писем, но тут есть несколько нюансов. При использовании дат в качестве критерия поиска нужно учитывать региональные настройки сервера Exchange. Например, дата 20 июля 2018 года может быть указана:

  • 20/07/2018
  • 07/20/2018
  • 20-Jul-2018
  • 20/July/2018

И если вы при выполнении команды Search-Mailbox вы получите ошибку “The KQL parser threw an exception…”, значит вы используете неверный формат времени.

Для поиска писем, отправленных в конкретный день, используйте запрос:

Если нужно указать диапазон дат (поиск писем, полученных в указанный промежуток времени):

Еще один пример. Ищем письма, полученных до 7 июля:

Совет. В локализованной (русской) версии Exchange нужно использовать русские ключи в аргументах KQL. Например, для ищем письма, полученные и отправленные в указанный период:

Соответственно, нужно использовать такие конструкции в SearchQuery:

ЗЫ. Именно за это я не люблю использовать русские версии продуктов!

Ограничения Search-Mailbox

У команды Search-Mailbox есть существенное ограничение она может вернут только 10000 элементов, после чего она вернет ошибку

Sending data to a remote command failed with the following error message: The total data received from the remote client exceeded allowed maximum. Allowed maximum is 524288000.

Search-Mailbox The total data received from the remote client exceeded allowed maximum

Поэтому, чтобы удалить большее количество элементов нужно запустить командлет Search-Mailbox несколько раз, либо разбивать ящик на группы по почтовым базам или серверам.

Другая проблема Search-Mailbox – низкая производительность. Поиск по большой организации может выполняться несколько суток.

Быстрый поиск и удаление писем в Exchange 2016 с помощью New-ComplianceSearch

В Exchange 2016 появился новый механизм для быстрого поиска и удаления писем в ящиках пользователей.

С помощью следующих команд можно существенно сузить область поиска:

New-ComplianceSearch -Name FastSearch1 -ExchangeLocation all -ContentMatchQuery 'from:"spammer@gmail.com"'
Start-ComplianceSearch -Identity FastSearch1

Данные команды отрабатывают на нескольких тысяч ящиков за несколько минут.

Получаем список ящиков, которые попадают под критерии поиска:

$search = Get-ComplianceSearch –Identity FastSearch1
$results = $search.SuccessResults
$mbxs = @()
$lines = $results -split '[\r\n]+'
foreach ($line in $lines)
if ($line -match 'Location: (\S+),.+Item count: (\d+)' -and $matches[2] -gt 0)
$mbxs += $matches[1]
>
>

Теперь можно запустить удалением писем с помощью Search-Mailbox только в найденных ящиках:

$mbxs | Get-Mailbox| Search-Mailbox -SearchQuery 'from:"spammer@gmail.com"' -DeleteContent –Force

Суммарное время поиска и удаления писем уменьшается в несколько раз, особенно в больших оргаизациях.

Этот командлет доступен в локальной среде Exchange и в облачной службе. Некоторые параметры и настройки могут отличаться в зависимости от среды.

Примечание. В облачных средах Search-Mailbox в пользу новых и связанных с ними кодлетов eDiscovery обесценяется.

По умолчанию Search-Mailbox доступны только в роли экспорта импорта почтовых ящиков или почтовых ящиков, и эти роли не назначены группам ролей. Чтобы использовать этот комлет, необходимо добавить одну или обе роли в группу ролей (например, группу ролей управления организацией). Только роль импорта почтовых ящиков предоставляет доступ к параметру DeleteContent. Дополнительные сведения о добавлении ролей в группы ролей см. в добавлении роли в группу ролей.

Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.

Синтаксис

Описание

Примеры

В этом примере производится поиск по почтовому ящику Joe Healy и копируются результаты поиска в почтовый ящик DiscoveryMailbox в папку JoeHealy-ProjectHamilton.

Пример 2

Пример 3

Пример 4

Параметры

Переключатель подтверждения указывает, показывать или скрывать запрос подтверждения. Влияние этого параметра на командлет зависит от того, требуется ли командлету подтверждение перед выполнением.

  • Деструктивные командлеты (например, Remove-* командлеты) имеют встроенную паузу, которая заставляет вас подтвердить команду перед продолжением. Можно пропускать запросы на подтверждение этих командлетов, используя следующий синтаксис: -Confirm:$false .
  • Большинство других командлетов (например, New-* и Set-*командлеты) не имеют встроенной паузы. Для этих командлетов указание переключателя Confirm без значения вводит паузу, которая заставляет вас подтвердить команду перед продолжением.

Примечание. Для использования этого коммутатора необходимо на должность управления экспортом импорта почтовых ящиков. По умолчанию эта роль не назначена какой-либо группе ролей (включая управление организацией). Как правило, роль назначается предопределенной или пользовательской группе ролей.

Перед использованием параметра DeleteContent для удаления содержимого рекомендуется проверить параметры подключения с помощью параметра LogOnly, как показано в примере 2.

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

Этот параметр доступен только в локальной среде Exchange.

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

Параметр DoNotIncludeArchive указывает, что архивный почтовый ящик пользователя не должен включаться в поиск. С этим параметром не нужно указывать значение. По умолчанию архивный почтовый ящик всегда включается в поиск.

Если автоматическое расширение архива включено для Exchange Online почтового ящика, поиск ведется только в основном архивном почтовом ящике пользователя. Дополнительные архивные почтовые ящики не включаются в поиск.

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

Type: SwitchParameter
Position:Named
Default value:None
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 указывает идентификатор почтового ящика для поиска. Вы можете использовать любое значение, которое однозначно определяет почтовый ящик. Пример.

  • Имя
  • Псевдоним
  • различающееся имя (DN);
  • различающееся имя (DN);
  • Имя \ пользователя домена
  • Адрес электронной почты
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • Идентификатор пользователя или имя участника-пользователя

Переключатель IncludeUnsearchableItems указывает, следует ли включать элементы, которые не могут индексироваться Exchange Search. Если установлено $true, переключатель IncludeUnsearchableItems указывает, что элементы, которые не могут быть индексироваться Exchange Search, должны быть включены в результаты поиска.

Type: SwitchParameter
Position:Named
Default value:None
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 указывает уровень ведения журнала для поиска. Он может иметь одно из следующих значений:

  • Подавлять. Журналы не хранятся.
  • Основной. Основные сведения о запросе и о том, кто его запустил, хранятся.
  • Полный. В дополнение к сведениям, хранимым на уровне журнала Basic, полный уровень журнала добавляет полный список результатов поиска.

Уровень журнала по умолчанию равен Basic.

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

Type: SwitchParameter
Position:Named
Default value:None
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 значение $false (например, -SearchDumpster:$false).

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

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

Примечание. Search-Mailbox возвращает до 10000 результатов на почтовый ящик, если задан запрос поиска.

Type: String
Position:Named
Default value:None
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 задает имя папка, в которой в целевом почтовом ящике сохраняются результаты поиска. Папка создается в целевом почтовом ящике после выполнения.

Type: String
Position:Named
Default value:None
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 указывает почтовый ящик назначения, в котором копируется результат поиска. Вы можете использовать любое значение, которое однозначно определяет почтовый ящик. Пример.

  • Имя
  • Псевдоним
  • различающееся имя (DN);
  • различающееся имя (DN);
  • Имя \ пользователя домена
  • Адрес электронной почты
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • Идентификатор пользователя или имя участника-пользователя

Этот параметр необходимо использовать с параметром TargetFolder. Данный параметр невозможно использовать совместно с параметром EstimateResultOnly.

Type: MailboxIdParameter
Position:Named
Default value:None
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 имитирует действия команды. Вы можете использовать его для просмотра результатов изменений без фактического внесения этих изменений. Указывать значение для этого параметра не обязательно.

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

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

Типы входных данных, поддерживаемые этим командлетом, см. в статье Типы входных и выходных данных для командлетов. Если поле "Типы входных данных" для командлета пустое, этот командлет не поддерживает ввода данных.

Выходные данные

Типы возвращаемых данных, или типы выходных данных, которые поддерживаются этим командлетом, см. в статье Типы входных и выходных данных для командлетов. Если поле "Типы выходных данных" пустое, командлет не возвращает данные.

Читайте также: