exchange - unread mail count
1 TopicException calling "Bind" with "2" argument(s):
I want to run a PowerShell Script that can read the number of unread mail in an Exchange Server. Has installed Microsoft Exchange Web Service V2.2 https://gallery.technet.microsoft.com/office/Get-unread-email-count-c815d66e My script looks like this: [void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') $AccountWithImpersonationRights = [Microsoft.VisualBasic.Interaction]::InputBox("Account With Impersonation Rights:") $MailboxToImpersonate = [Microsoft.VisualBasic.Interaction]::InputBox("Account that you want to check:") $dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" Import-Module $dllpath $ExchangeVersion = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2013 $service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService($ExchangeVersion) $psCred = Get-Credential $creds = New-Object System.Net.NetworkCredential($psCred.UserName.ToString(),$psCred.GetNetworkCredential().password.ToString()) $service.Credentials = $creds $service.AutodiscoverUrl($AccountWithImpersonationRights ,{$true}) Write-Host 'Using ' $AccountWithImpersonationRights ' to Impersonate ' $MailboxToImpersonate $service.ImpersonatedUserId = New-Object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$MailboxToImpersonate ); $InboxFolder= new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$ImpersonatedMailboxName) $Inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,$InboxFolder) Write-Host 'Total Item count for Inbox:' $Inbox.TotalCount Write-Host 'Total Items Unread:' $Inbox.UnreadCount It gives me the following error: Exception calling "Bind" with "2" argument(s): "The account does not have permission to impersonate the requested user." PS C:\WINDOWS\system32> C:\Users\MyName\Desktop\UnreadEmailCoint.ps1 cmdlet Get-Credential at command pipeline position 1 Supply values for the following parameters: Using MyName@bielefeldt.eu to Impersonate MyName@bielefeldt.eu Exception calling "Bind" with "2" argument(s): "The account does not have permission to impersonate the requested user." At C:\Users\MyName\Desktop\UnreadEmailCoint.ps1:16 char:1 + $Inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service, ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ServiceResponseException Total Item count for Inbox: Total Items Unread: PS C:\WINDOWS\system32> What kind of permissions do I need to get ahead ?6.9KViews0likes1Comment