Как предотвратить всплывающее окно безопасности Outlook на Win Terminal Server 2019 при отправке почты через COM? - PullRequest
0 голосов
/ 09 октября 2019

Когда мы пытаемся создать / открыть новую почту в Outlook из нашего приложения C # / VB.Net WinForm через COM на WINDOWS TERMINAL SERVER , мы получаем всплывающее окно безопасности Outlook со словами " Программапытается получить доступ к ... "

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

Я настроил объект групповой политики в домене для доверия библиотекам, которые взаимодействуют с outlook через COM:

Конфигурация пользователя \ Административные шаблоны \ Microsoft Outlook 2016 \ Безопасность \ Параметры формы безопасности \ Программная безопасность \ Надежные надстройки

Там я добавил хеши для каждой библиотеки DLL, созданной в соответствии с описанием в документе «Обзор групповой политики» (ссылка внизу этого сайта) (см. раздел «Управление доверенными надстройками для Outlook 2007» в этом текстовом документе)

Я также установил AdminSecurityMode= 3 в реестре, поэтому Outlook Express Security использует GPO для проверки безопасности.

В сеансе сервера терминалов я успешно проверил, что групповые политики загружены / применены (с помощью инструмента cmd "rsop.msc") и запись в реестре есть.

Тем не менее диалоговое окно безопасности Outlook по-прежнему всплывает для пользователей службы терминалов.

У нас есть WinServer 2019 и Outlook 2019.

1 Ответ

0 голосов
/ 09 октября 2019

Я бы рекомендовал подавлять такие предупреждения безопасности программно или просто избегать их, используя низкоуровневый API, который их не вызывает:

  1. Использование сторонних компонентов для подавленияПредупреждения безопасности Outlook. См. Security Manager для Microsoft Outlook для получения дополнительной информации.

  2. Используйте низкоуровневый API вместо OOM - расширенный MAPI, который не вызывает такие запросы безопасности. Или любые другие сторонние оболочки вокруг этого API, например, Redemption.

  3. Разработка надстройки COM, которая имеет доступ к доверенному объекту Application.

  4. Использование объектов групповой политики для настройки компьютеров. Чтобы решить эту проблему, попробуйте настроить соответствующие записи реестра:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook\Security

(12 для Outlook 2007. Измените его на 14 для Outlook 2010, 15для Outlook 2013, 16 для Outlook 2016.)

Для каждого пользователя создайте здесь DWORD со значением «2» и именами следующим образом:

PromptSimpleMAPISend
PromptSimpleMAPINameResolve
PromptSimpleMAPIOpenMessage
...