Я использую запланированную задачу и командлет New-MailboxExportRequest для экспорта почтовых ящиков моей организации в архивные файлы .PST каждую ночь в течение некоторого времени. К сожалению, ExportRequests не удаляются после завершения операции архивирования, и когда Exchange решает, что он получил достаточно запросов, он прекращает обработку моих резервных копий.
Следующие действия хорошо подходят для очистки запросов при запуске в командной консоли Exchange:
Get-MailboxExportRequest -Status Completed | Удалить-MailboxExportRequest
ОДНАКО мне не удалось правильно запустить этот командлет в качестве запланированной задачи.
Я использую следующий синтаксис:
C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -command ". 'C: \ Program Files \ Microsoft \ Exchange Server \ V14 \ bin \ RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest "
Когда я вручную выполняю задачу, она зависает с надписью «Задача выполняется. (0x41301) ', пока я не закончу задачу. Обратите внимание, что я использую учетную запись с надлежащим уровнем разрешений, UAC отключен, а для задачи включен параметр «Запускать с наивысшими привилегиями». Поэтому я склонен полагать, что проблема в моем синтаксисе.
Любая помощь ОЧЕНЬ ценится.
РЕДАКТИРОВАТЬ:
Нашел свое решение через несвязанный вопрос о сценариях; командлет запрашивает подтверждение при нормальном использовании. Поэтому я изменил свой сценарий на следующее:
C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -command ". 'C: \ Program Files \ Microsoft \ Exchange Server \ V14 \ bin \ RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest -Confirm: $ false "
Моя запланированная задача выполняется так, как задумано, и делает то, для чего она предназначена. Спасибо за место.