Powershell Exchange 2016未读电子邮件

Powershell Exchange 2016未读电子邮件,powershell,exchange-server,exchange-server-2016,Powershell,Exchange Server,Exchange Server 2016,我曾经从下面的Exchange server2010链接中获取多个使用EWSUtil库的用户的未读电子邮件 代码: 但现在我无法使用Exchange server 2016获得未读电子邮件数(在我迁移Exchange之后)。此库不适用于Exchange 2016,编写此库的人员建议了以下解决方案: 使用以下脚本: 还可以获取最新的EWS托管API(从git hub编译) 将dll与脚本放在同一目录中 然后跑 导入模块。\n未读模块2016.ps1 (这将导入模块cmdlet) 和使用 获取未

我曾经从下面的Exchange server2010链接中获取多个使用EWSUtil库的用户的未读电子邮件

代码:


但现在我无法使用Exchange server 2016获得未读电子邮件数(在我迁移Exchange之后)。

此库不适用于Exchange 2016,编写此库的人员建议了以下解决方案:

使用以下脚本:

还可以获取最新的EWS托管API(从git hub编译) 将dll与脚本放在同一目录中

然后跑

导入模块。\n未读模块2016.ps1

(这将导入模块cmdlet)

和使用


获取未读目录信息文件夹-MailboxNameuser@mailbox.com

这里的问题到底是什么?你已经发布了一份声明。你能和我们分享一下你为解决任何问题所做的努力吗?你能举例说明数据吗?您能添加任何您认为有助于识别问题的内容吗?编写此脚本的目的是给出以下结果:用户邮箱+未读邮件数作为输出,它在Exchange server 2010上工作得非常好。但迁移到Exchange 2016后,该脚本只返回邮箱的名称,并为未读电子邮件的数量提供一个空白,运行时不会出现错误。
[void][Reflection.Assembly]::LoadFile("C:\EWSUtil.dll")

$mails=( "user0", "user1", "user2")
ForEach ($mail in $mails)
{
$mbcombCollection = @()

$specificuser = get-mailbox $mail

    $mbcomb = "" | select DisplayName,EmailAddress, Unread
    $mbcomb.DisplayName = $specificuser.DisplayName.ToString()
    $mbcomb.EmailAddress = $specificuser.WindowsEmailAddress.ToString()
    $mbMailboxEmail = $specificuser.WindowsEmailAddress.ToString()

    $ewc = new-object EWSUtil.EWSConnection($mbMailboxEmail,$false, $null,$null,$null,$null)
    $dTypeFld = new-object EWSUtil.EWS.DistinguishedFolderIdType
    $dTypeFld.Id = [EWSUtil.EWS.DistinguishedFolderIdNameType]::inbox

    $mbMailbox = new-object EWSUtil.EWS.EmailAddressType
    $mbMailbox.EmailAddress = $mbMailboxEmail
    $dTypeFld.Mailbox = $mbMailbox

    $fldarry = new-object EWSUtil.EWS.BaseFolderIdType[] 1
    $fldarry[0] = $dTypeFld

    $fldList = $ewc.GetFolder($fldarry)
    [EWSUtil.EWS.FolderType]$pfld = [EWSUtil.EWS.FolderType]$fldList[0];
        $mbcomb.Unread = $pfld.UnreadCount
    $mbcombCollection += $mbcomb
$mbcombCollection
Add-Content C:\UnreadEmailCheck1.txt $mbcombCollection
}