This arctical will be published in English also - http://www.cnblogs.com/LarryAtCNBlog/p/4062593.html
环境Exchange 2010 SP2 + Outlook 2010
加delegate其实并不是一条命令的事,因为在server上用命令行操作和outlook本地操作完全不一样,outlook会自动做其它很多事情,如下图是outlook中默认会勾上的几个功能。
1. Calendar的editor权限
2. Tasks的editor权限
3. Delegate receives copies of meeting-related messages sent to me 会打上勾
这其实在outlook2003中就是如此,但这导致了一个问题,在exchange 2010中,虽然提供了一个Set-Mailbox -GrantSendOnBehalfTo来加delegate,但这仅仅是加一个delegate,完全没有默认设置上图中的各种选项,因此就要通过其它一些命令来做。
1. Calendar和Tasks都可以用Add-MailboxFolderPermission来添加权限。
2. 问题在于"Delegate receives copies of meeting-related messages sent to me",这个功能是很多Assistant都要的,但是唯独它没有一个cmdlet能直接做到修改。
于是,下面就是怎么利用EWS(Exchange web service)来做一个完整的delegate,其实outlook也是通过它做的。
第一步,下载EWS API - http://www.microsoft.com/en-us/download/details.aspx?id=35371
安不安装都无所谓,我们只需要用到里面的Microsoft.Exchange.WebServices.dll,用7z其实可以解压出来跳过安装。
然后打开powershell,由于用的是Webservice,这个powershell在哪运行就无所谓了。
用import-module引导该dll,它的类才可以被我们使用,当然如果喜欢高大上的代码,也可以用[Reflection.Assembly]::LoadFile()方法。