Нужна помощь в работе с comaddins.connect - PullRequest
0 голосов
/ 11 мая 2018

Я создал скрипт, который будет активировать надстройку Outlook, если она не активна в данный момент на ленте. Это делается путем изменения логического параметра comaddin.connect с false на true. Скрипт работает только при определенных условиях.

В принципе, проблема, с которой я столкнулся, заключается в том, что при запуске new-object -comobject Outlook.Application оно будет работать только в том случае, если оболочка открыта в том же режиме, что и Outlook (если Outlook в настоящее время открыт, то это должно быть). Поскольку надстройка была установлена ​​для всех пользователей, булеву настройку, которую мне нужно изменить, используется HKLM, которая требует запуска окна powershell в режиме администратора. Поэтому я не могу работать с комобъектом Outlook, если оболочка находится в режиме администратора, но я не могу изменить нужный параметр, если оболочка не находится в режиме администратора.

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

Я надеюсь, что у кого-то есть творческий подход к этому! :)

$objoutlook = New-Object -ComObject outlook.application
$objoutlook.application.COMAddIns | where {$_.description -eq "Addin Name Here"} | %{$_.connect=$true}

1 Ответ

0 голосов
/ 11 мая 2018

С этим ничего не поделаешь, это ловушка-22.реальным решением было бы, чтобы само надстройка COM соответствующим образом скрывала или показывала свой пользовательский интерфейс, оставаясь при этом активной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...