这行出错: service.ImpersonatedUserId ....
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); service.Credentials = new WebCredentials("administrator", "asdf-123", "ex.asdf.cn"); service.Url = new Uri("https://asdf-exchange.ex.asdf.cn/ews/exchange.asmx"); service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]"); findResults = service.FindItems(WellKnownFolderName.Contacts, new ItemView(int.MaxValue));
解决方法:
在PowerShell中执行以下命令:
Get-ExchangeServer | where {$_.IsClientAccessServer -eq $TRUE} | ForEach-Object {Add-ADPermission -Identity $_.distinguishedname -User (Get-User -Identity administrator | select-object).identity -extendedRight ms-Exch-EPI-Impersonation}