Создать профиль MAPI для учетной записи службы - PullRequest
2 голосов
/ 11 августа 2010

В прошлом я использовал profman2 для создания профилей MAPI для серверов, которым требуется доступ к почтовым ящикам Exchange, когда я не хочу устанавливать Outlook на сервере. Это работает нормально, когда я могу войти в систему как пользователь, которому нужен доступ к профилям. Это не работает, когда приложение запускается учетной записью службы, которая не имеет прав входа в систему. Как программно создать профиль для другого пользователя или во время выполнения с помощью учетной записи службы?

В качестве отступления я использую Погашение для доступа к Exchange, для которого уже требуется профиль MAPI. Погашение, кажется, позволяет создавать профили MAPI, но я не могу заставить эту работу в C #. Любая помощь приветствуется.

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

Почему бы не позволить Redemption создать профиль для вас?

RDOSession.Logon действительно требует существующего профиля, но RDOSession.LogonExchangeMailbox нет - он создаст (и удалит) временный профиль.

Если вам нужен доступ к почтовым ящикам, принадлежащим пользователю, отличному от текущего (родительский процесс), практическим правилом является запуск вашего кода в качестве пользователя домена, у которого есть доступ к рассматриваемым почтовым ящикам, для вызова текущего пользователя, затем откройте другие почтовые ящики, используя RDOSession.Stores.GetSharedMailbox.

0 голосов
/ 11 августа 2010

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

Инструкции по установке службы для запуска от имени другого пользователя можно найти здесь: http://www.codeproject.com/KB/cs/DynWinServiceInstallUtil.aspx

...