Я хочу, чтобы все пользователи с сервера Exchange через EWS. Я понял, что это возможно сделать с запросом FindPeople SOAP, как описано в ответе hereДобавить контакты в GlobalAddressList Exchange
Как сказано в ответе, для этого требуется AddressListId. Таким образом, мне пришлось создать GlobalAddressList на Exchange с помощью PowerShell.
Я создал GlobalAddressList следуя этим instructions
Я не знаю, как добавить пользователей в GlobalAddressList?
Событие, что нет пользователей в списке Я должен быть в состоянии получить пустой список? Поэтому я попробовал.
Вот это просьба:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<RequestServerVersion Version="Exchange2013_SP1" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<FindPeople xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<IndexedPageItemView MaxEntriesReturned="100" Offset="0" BasePoint="Beginning" />
<ParentFolderId>
<AddressListId Id="someId" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</ParentFolderId>
</FindPeople>
</soap:Body>
</soap:Envelope>
"someId" значение выше GUID из GlobalAddressList, что я создал.
Вот ответ с ошибкой, которую я получаю.
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope
xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Header>
<Action s:mustUnderstand=\"1\"
xmlns=\"http://schemas.microsoft.com/ws/2005/05/addressing/none\">*
</Action>
</s:Header>
<s:Body>
<s:Fault>
<faultcode
xmlns:a=\"http://schemas.microsoft.com/exchange/services/2006/types\">a:ErrorInternalServerError
</faultcode>
<faultstring xml:lang=\"en-US\">An internal server error occurred. The operation failed.</faultstring>
<detail>
<e:ResponseCode
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">ErrorInternalServerError
</e:ResponseCode>
<e:Message
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">An internal server error occurred. The operation failed.
</e:Message>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Я не уверен, в чем проблема, или я на правильном пути.
Я был бы признателен за любое предложение о том, как получить пользователей с EWS. В порядке, также решения, которые предполагают модификацию на панели Office365 или в доступе PowerShell к Exchange.
Просьба сообщить об этом.
Что является конечной целью здесь? Есть ли необходимость в получении пользователей через EWS/SOAP? Если вы хотите управлять пользователями на Exchange с помощью PowerShell, есть намного более простые способы сделать это с помощью командлетов EMS (gettable по import-pssession и вашего обменного концентратора fqdn) –
@ChrisKuperstein Цель состоит в том, чтобы получить всех пользователей от Exchange с EWS. Если мне не нужна PowerShell еще лучше. Спасибо. – eomeroff
Почему вы создали новый глобальный список адресов? вы не должны делать это нормально. Если вы входите в Outlook или OWA, какие GAL вы видите? Список адресов, который вы видите в OWA или Outlook, - это единственные списки адресов, которые вы сможете получить в EWS. –