Использование PowerShell для сохранения вложений Outlook - PullRequest
0 голосов
/ 25 января 2019

Я изо всех сил пытаюсь найти решение, поэтому надеюсь, что кто-то столкнулся с этим.У меня есть сценарий PowerShell для сохранения любых вложений Outlook для автоматизации ежедневной проверки.Это работает нормально, запуская его вручную, однако он запускается на рабочем столе в одночасье, поэтому происходит сбой из-за блокировки устройства.

Я знаю, что Excel работает, установив для видимости значение false, но не могу найти аналогичный параметр дляперспективы.Любая помощь будет оценена!

$outlook = New-Object -comobject outlook.application
$inbox = $outlook.GetNamespace("MAPI")
$find = $inbox.GetDefaultFolder(6)

$filepath = "$InputDir"
$find.Items| foreach {
 $SendName = $_.SenderName
   $_.attachments|foreach {
    Write-Host $_.filename
    $name = $_.filename
    If( -Not (Test-Path -Path "$InputDir\$name")) {
    If ($name.Contains("txt")) {
    $_.saveasfile((Join-Path $filepath "$name"))
       }
    }
  }
 }

1 Ответ

0 голосов
/ 25 января 2019

Вы должны использовать EWS (веб-службы Exchange).

Это хороший пример того, как запросить Exchange напрямую (без Outlook) для получения элементов. Это немного сложнее, хотя и того стоит, так как его можно запускать как запланированное задание на компьютере, который даже не вошел в систему:

https://gsexdev.blogspot.com/2010/01/writing-simple-scripted-process-to.html

...