none
Событие, генерируемое при завершении экспорта почтового ящика RRS feed

  • Общие обсуждения

  • Коллеги, приветствую.

    Скриптом выгружаю почтовые ящики в pst-файлы. Иногда полученные файлы необходимо передать куда-либо. ДЛя этого приходится сидеть и периодически выполнять команду get-mailboxexportrequest (или get-mailboxexportrequeststatistic), что бы максимально оперативно начать копирование pst-файла.

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

    Есть варианты?

    12 января 2017 г. 7:22

Все ответы

  • $Data = New-MailboxImportRequest -Mailbox "Test" -Archive -FilePath "\\test\test\test.pst"
    Set-Notification -NotificationEmail @('Test@Contoso.com') -Identity $Data.RequestGuid.ToString()

    https://social.technet.microsoft.com/Forums/office/en-US/419c7245-3f8a-42f2-b54d-271c0fdd2efb/pst-import-via-shell?forum=exchangesvrclients

    scientia potentia est
    My blog

    12 января 2017 г. 9:43
  • $Data = New-MailboxImportRequest -Mailbox "Test" -Archive -FilePath "\\test\test\test.pst"
    Set-Notification -NotificationEmail @('Test@Contoso.com') -Identity $Data.RequestGuid.ToString()

    https://social.technet.microsoft.com/Forums/office/en-US/419c7245-3f8a-42f2-b54d-271c0fdd2efb/pst-import-via-shell?forum=exchangesvrclients

    scientia potentia est
    My blog


    Спасибо за ответ, но я забыл указать, что в моем случае речь идет о exchange 2010. А в нем нет командлета set-notification. Может у кого-нибудь будут иные идеи? Может быть все такие попробовать эвент соответствующий найти в журналах. А уже по этому эвенту запускать задачу в планировщике. Тут проблема, что не могу я найти нужный эвент(если он вообще есть)
    13 января 2017 г. 11:50
  • В эвентлог вроде не пишется, можно попробовать скрипт небольшой на PS (нет 2010 под рукой, проверял на 2013, но по идее должно работать):

    $BatchName = "ImportToPst"
    New-MailboxExportRequest -BatchName $BatchName -Mailbox mailbox_name –FilePath \\server\pst\mailbox_name.pst
    while ((Get-MailboxExportRequest -BatchName $BatchName | Where {$_.Status -eq “Queued” -or $_.Status -eq “InProgress”}))
    {
       sleep 30 # запрос на выполнение в секундах, настраиваем под себя
    }
    Write-Output “Import Complete”

    Write-Output поменять на отправку письма на ящик, скажем через Send-MailMessage

    Using Send Mail Feature in Exchange Server 2010

    Допилить под себя.

    13 января 2017 г. 16:01
  • В эвентлог вроде не пишется, можно попробовать скрипт небольшой на PS (нет 2010 под рукой, проверял на 2013, но по идее должно работать):

    $BatchName = "ImportToPst"
    New-MailboxExportRequest -BatchName $BatchName -Mailbox mailbox_name –FilePath \\server\pst\mailbox_name.pst
    while ((Get-MailboxExportRequest -BatchName $BatchName | Where {$_.Status -eq “Queued” -or $_.Status -eq “InProgress”}))
    {
       sleep 30 # запрос на выполнение в секундах, настраиваем под себя
    }
    Write-Output “Import Complete”

    Write-Output поменять на отправку письма на ящик, скажем через Send-MailMessage

    Using Send Mail Feature in Exchange Server 2010

    Допилить под себя.


    Про такой вариант уже думал, но мне кажется, это "костыль", потому как скрипт должен все время "крутиться". Закрыли скрипт - и все, ничего мы не узнаем в автоматическом режиме. Надумал я еще один вариант, но это уже перебор:) при создании запроса на экспорт, в планировщике создается задача, которая с какой-то периодичностью проверяет состояние экспорта. Как только экспорт завершился, эта задача шлет письмо и после этого сама себя удаляет.
    15 января 2017 г. 14:10
  • Это не костыль, а скрипт, и свою задачу он выполняет. Ваш вариант можно с таким же успехом костылём назвать :)
    16 января 2017 г. 9:24
  • Это не костыль, а скрипт, и свою задачу он выполняет. Ваш вариант можно с таким же успехом костылём назвать :)

    Да я не спорю:) оба варианта достаточно кривые, со своими минусами
    16 января 2017 г. 12:26