Не удается найти параметр, соответствующий имени параметра ‘DeleteContent’

Вопрос или проблема

Я пытаюсь выполнить эту команду:

Get-Mailbox | Search-Mailbox -SearchQuery '(Received:01/01/2010..31/12/2013)' -DeleteContent

но я получаю сообщение об ошибке:

Не удается найти параметр, соответствующий имени параметра 'DeleteContent'.

Я искал это сообщение об ошибке в Интернете и посмотрел другие решения, такие как обеспечение наличия у аккаунта Роли импорта и экспорта почтовых ящиков. Я проверил, и эта роль является частью Управления организацией, членом которой является администратор.

Вашему пользователю должны быть назначены роли: Управление обнаружением и Роль импорта и экспорта почтовых ящиков.

https://technet.microsoft.com/en-us/library/dd638205(v=exchg.150).aspx

Ответ или решение

Ошибка "A parameter cannot be found that matches parameter name ‘DeleteContent’" возникает при использовании команды PowerShell, когда параметр, указанный в команде, не существует или не поддерживается в текущем контексте. В вашем случае, вы пытаетесь использовать параметр -DeleteContent в команде Search-Mailbox, но этот параметр отсутствует в версии PowerShell или Exchange, которую вы используете.

Анализ проблемы

  1. Команда и контекст: Ваша команда выглядит следующим образом:

    Get-Mailbox | Search-Mailbox -SearchQuery '(Received:01/01/2010..31/12/2013)' -DeleteContent

    Параметр -DeleteContent соответствует удалению контента из почтового ящика на основе определенного критерия (в данном случае по дате получения). Тем не менее, стоит отметить, что в последних версиях Exchange Online и Exchange Server произошли изменения в доступных параметрах для команды Search-Mailbox.

  2. Версия PowerShell и Exchange: Ошибка может быть связана с различиями в версиях Exchange. Например, начиная с Exchange 2019 и более поздних версий, команда Search-Mailbox может быть заменена на New-ComplianceSearch и New-ComplianceSearchAction, которые позволяют выполнять аналогичные действия, но с обновленной синтаксисом.

  3. Права доступа: Вы упомянули, что ваша учетная запись имеет роль Mailbox Import Export Role, что является необходимым условием для выполнения команд, связанных с удалением содержимого. Однако также необходимо наличие роли Discovery Management, как указывается в документации, и убедиться, что у вас есть все необходимые права для выполнения этой операции.

Решения

  1. Проверка версии Exchange: Убедитесь, что вы работаете с правильной версией Exchange. Если вы используете современный Exchange Online или Exchange Server 2019 и более, параметры могут измениться. В таком случае, рассмотрите возможность использования следующих команд:

    New-ComplianceSearch -Name "SearchMailbox" -ExchangeLocation "AllMailboxes" -ContentMatchQuery '(Received:01/01/2010..31/12/2013)'
    New-ComplianceSearchAction -SearchName "SearchMailbox" -Purge -PurgeType SoftDelete
  2. Перепроверка доступных параметров: Выполните команду Get-Help Search-Mailbox -Full, чтобы просмотреть список доступных параметров и убедиться, что -DeleteContent действительно поддерживается вашей версией.

  3. Применение альтернативных решений: Если команда Search-Mailbox не предоставляет необходимых функций, посмотрите в сторону модуля Compliance Center, который предлагает более современный подход к поиску и обработке данных в Exchange.

Заключение

Ошибка "A parameter cannot be found that matches parameter name ‘DeleteContent’" указывает на потенциальное несовпадение параметров с версией Exchange, с которой вы работаете, или на отсутствие необходимых ролей доступа. Используя предложенные решения и следуя рекомендациям, вы сможете устранить эту ошибку и успешно выполнять операции по удалению содержимого из почтовых ящиков. Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью к специалистам или консультироваться с документацией Microsoft.

Оцените материал
Добавить комментарий

Капча загружается...