The Magician

Проблема с календарями и EventID 1309

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

У тех пользователей, для которых доступ прекратил работать, можно было наблюдать следующую ошибку при попытке отправить кому-либо приглашение к общему доступу календаря:

Ошибка при подготовке к отправке сообщения о совместном доступе

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

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

Get-MailboxFolderPermission "owner@domain.ru:\Календарь"

В определенный момент диагностики я обнаружил, что ящики пользователи, у которых календари работают и пользователи, у которых они не работают - расположены В РАЗНЫХ базах Exchange, которые в свою очередь расположены на РАЗНЫХ серверах группы высокой доступности DAG.

На следующем этапе самый очевидный шаг - почитать журналы событий на проблемном сервере и сравнить их с работающим.

Подозрительное событие обнаружилось довольно быстро:

Беглый осмотр конфигурации IIS и пулов ничего не показал

Import-Module WebAdministration

Get-Website | Select-Object Name,State,Bindings,ApplicationPool

Get-WebApplication -Site "Exchange Back End" |  Select-Object Path,ApplicationPool

Get-ChildItem IIS:\AppPools | Where-Object Name -match 'EWS|Exchange' | Select-Object Name,State

В логах фигурирует интересная деталь: PID проблемного процесса. Узнаем какому пулу он принадлежит:

& "$env:windir\System32\inetsrv\appcmd.exe" list wp

А также посмотрим - что у него с потреблением памяти:

Get-Process w3wp | 
    Sort-Object HandleCount -Descending |
    Select-Object Id,ProcessName,HandleCount,
        @{N='PrivateMemory_GB';E={[math]::Round($_.PrivateMemorySize64/1GB,2)}}

Последний код позволил обнаружить кое-что интересное, а именно дату запуска процесса, с которой на момент диагностики прошло уже около 6 месяцев.

Id               : 493308
ProcessName      : w3wp
StartTime        : 18.05.2026 20:46:20
Handles          : 9391
PrivateMemory_GB : 3,72
WorkingSet_GB    : 3,28

Ранее мы узнали, что процесс принадлежит пулу MSExchangeServicesAppPool.

Разумным решением представляется подобрать удобное время и попробовать перезапустить пул.

Import-Module WebAdministration

Restart-WebAppPool -Name "MSExchangeServicesAppPool"

Мне повезло: сразу после рестарта ошибка 1309 пропала из лога, а механизм общего доступа к календарям заработал!

проблема_с_календарями_и_eventid_1309.txt · Last modified: by jp