Я создал скрипт, который будет активировать надстройку 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}