通过powershell查看Outlook中的电子邮件数量

时间:2017-09-03 16:34:13

标签: powershell outlook

$Outlook = New-Object -ComObject Outlook.Application  
$OutlookInbox = $Outlook.session.GetDefaultFolder(6)  
$TotalEmailCount = $OutlookInbox.ShowItemCount

While ($TotalEmailCount -eq 0)  
    {  
            Start-Sleep -s 10  
            Write-Host "Waiting for the email"  
    }  
Write-Host $TotalEmailCount

最初,收件箱文件夹为空。现在我要等到Outlook中收到一封电子邮件,然后打印一些" text"一旦它到来。但是当我尝试运行此代码时,我总是将输出作为" 1"。我正在使用powershell。请帮忙!

1 个答案:

答案 0 :(得分:1)

ShowItemCount是要检查的错误属性。这个returns an enumerator that defines whether outlook shows a count of unread emails on a folder,目前看起来设置为“1”。这是一个设置,而不是电子邮件的数量。

我现在没有任何地方可以测试这个,但这就是我认为你需要的东西:

$Outlook = New-Object -ComObject Outlook.Application  
$OutlookInbox = $Outlook.session.GetDefaultFolder(6)  
$TotalEmailCount = $OutlookInbox.Items.Count

While ($TotalEmailCount -eq 0)  
{  
    Start-Sleep -s 10  
    Write-Host "Waiting for the email"  
    $TotalEmailCount = $OutlookInbox.Items.Count
}  

Write-Host $TotalEmailCount

注意(如上所述)您需要重新检查循环中的项目计数,否则您的脚本将永远运行。