Export to GitHub

php-ews - issue #2

Changes for Exchange 2010


Posted on Apr 23, 2010 by Happy Bear

I have Exchange 2010 and I was wondering how would I use Exchange Impersonation with this.

Specifically I can get the following things to work: 1. User X can get his calendar information. 2. Service Account 'S' (with Impersonation privileges) can get his calendar information.

But, how to use Service Account 'S' credentials to authenticate in order to get calendar information for user X?

Thanks, Sachin

Comment #1

Posted on Apr 23, 2010 by Quick Kangaroo

This library was developer for Exchange 2007 and I'm not sure what it may be lacking as far as support for Exchange 2010. However, I will look into this and see if there is anything I can do to help you out.

Comment #2

Posted on Jun 6, 2010 by Happy Ox

sachinsshukla, did you manage to achieve ExchangeImpersonation

Comment #3

Posted on Oct 26, 2010 by Happy Bear

Yes, I got it working with both Exchange 2010 and Exchange 2007. It requires different set of commands to be executed in the Exchange command/power shell for 2010 vs 2007.

Comment #4

Posted on Nov 3, 2010 by Happy Ox

are you able to provide more information about how where you inserted the ExchangeImpersonation class in your code, i have ExchangeImpersonation, however i'm unsure of how or where to put this in the php code

Comment #5

Posted on Nov 8, 2010 by Happy Bear

Hi, I dont use the format/classes from this project, so not sure how helpful this is going to be. However, I do the following:

I have a simple class:

class ExchangeNTLMSoapClient extends NTLMSoapClient { public $user; public $password;

public function Initialize()
{
    $this->user = $GLOBALS['PrivilegedUserID'];
    $this->password = $GLOBALS['ClearPassword'];
}

}

which I initialize with the privileged user's user ID and password set in the Exchange server.

$headerbody = array ('ConnectingSID' => array('PrincipalName' => $EmailAddress)); $header = new SOAPHeader($ns, 'ExchangeImpersonation', $headerbody); $client->__setSoapHeaders($header);

where $EmailAddress is the EmailAddress of the user whose calendar information is required and $ns = "http://schemas.microsoft.com/exchange/services/2006/types";

I invoke the FindItem and GetItem request calls using the $client I created above.

Comment #6

Posted on Feb 14, 2012 by Quick Kangaroo

This issue has been moved to GitHub https://github.com/jamesiarmes/php-ews/issues/1

Status: MovedToGitHub

Labels:
Type-Support Priority-Medium