如何在PowerShell for Outlook中自动接受确认

时间:2013-10-25 13:01:05

标签: powershell outlook

如何在PowerShell for Outlook中自动接受确认 我有来自Outlook的电子邮件导出附件的脚本 - 请参阅下一步 它可以在一台PC上正常工作,但在另一台PC上有问题: Outlook提供消息并希望回答:

              Permit          Denny            Help

如果我手动点击Permit或Denny,它可以正常工作。我想自动化它。 你能给我一些建议如何在PowerShell中做到这一点吗? 我试图将Outlook设置为不发送此消息,但我没有成功。 我的剧本:

    # <-- Script --------->
    # script works with outlook Inbox folder
    # check if email have attachments with ".txt" and save those attachments to $filepath

    # path for exported files - attachments
    $filepath = "d:\Exported_files\" 
    # create object outlook
    $o = New-Object -comobject outlook.application
    $n = $o.GetNamespace("MAPI")
    # $f - folder „dorucena posta“ 6 - Inbox
    $f = $n.GetDefaultFolder(6)   # 6 - Inbox
    # select newest 10 emails, from it olny this one with attachments
    $f.Items| select -last 10| Where {$_.Attachments}| foreach {
    # process only unreaded mail
        if($_.unread -eq $True) {
    # processed mail set as read, not to process this mail again next day
            $_.unread = $False        
            $SenderName = $_.SenderName
    Write-Host "Email from: ", $SenderName

    # process all attachments
            $_.attachments|foreach {
                $a = $_.filename    
                If ($a.Contains(".txt")) {
                Write-Host $SenderName,"    ", $a
    # copy *.txt attachments to folder $filepath
                $_.saveasfile((Join-Path $filepath "$a"))            
                }
            }
        }
    }
    Write-Host "Finish"
    # <------ End Script ---------------------------------->

2 个答案:

答案 0 :(得分:0)

如果在本地系统上找不到最新的Anti-Virus产品,则最新版本的Outlook会显示安全提示。

如果您仅限于PowerShell且无法使用C ++或Delphi来使用扩展MAPI,则Redemption是另一种选择。

答案 1 :(得分:0)

我发现安全提示是在线生成的 “$ SenderName = $ _。SenderName” 真的,我不需要使用SenderName,我删除了这一行。 现在脚本工作正常,没有任何消息。