Я пытаюсь создать электронную почту Outlook в PowerShell, и везде я нашел один и тот же код:
$ol = New-Object -comObject Outlook.Application
$mail = $ol.CreateItem(0)
$mail.Subject = "<Subject>"
$mail.Body = "<Body>"
, а затем либо
$inspector = $mail.GetInspector
$inspector.Display()
, либо
$mail.Display()
, чтобы показать электронную почту.
Однако, в самой первой строке я получаю эту ошибку:
New-Object : Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Я пробовал без -comObject
и получаю другую ошибку:
New-Object : Cannot find type [Outlook.Application]: verify that the assembly containing this type is loaded.
Я пытался загрузить сборку с помощью
[Reflection.Assembly]::LoadWithPartialname("Microsoft.Office.Interop.Outlook") | out-null
, но все равно получаю те же сообщения об ошибках при выполнении предыдущих команд.
Если это имеет значение, мы используем Office 365, но у меня установлена локальная копия Office. Есть ли другой тип объекта, который мне нужно использовать с Office 365?
Кроме того, похоже, что он пытается связаться с сервером для создания объекта. Есть ли способ заставить меня сделать это локально?