Я использую системную службу Windows для создания почтового ящика в Ecxhange 2007 с помощью Powershell. Поскольку он работает как системная служба, я обертываю вызов powershell, используя олицетворение (используя advapi32.dll), чтобы запустить его как пользователь с соответствующими разрешениями на обмен, однако я получаю следующее сообщение об ошибке.
Невозможно загрузить оснастку Windows PowerShell Microsoft.Exchange.Management.PowerShell.Admin из-за следующей ошибки: инициализатор типа для «Microsoft.Exchange.Data.Directory.Globals» вызвал исключение.
Существует статья Microsoft KB ( KB943937 ), описывающая эту проблему, и исправление заключается в установке Exchange SP1 RU1, но в настоящее время я использую SP3 RU1. Я использую параметр -DomainController, как указано в статье базы знаний, но все еще получаю ту же ошибку.
Если я запускаю службу от имени пользователя, то, что я олицетворяю код, работает нормально, поэтому я не думаю, что это проблема с кодом. Я попытался запустить это на Windows XP и Server 2008 с той же проблемой.
Вызов System.Security.Principal.WindowsIdentity.GetCurrent().Name
перед кодом powershell Я вижу, что олицетворение работает правильно.
Кто-нибудь сталкивался с этим раньше?