У меня есть приложение C # (Visual Studio 2010) для управления объектами в Microsoft Active Directory. Если я хочу создать пользователя с включенным почтовым ящиком, я получаю InvalidCastException в этот момент:
IMailboxStore mailbox = (IMailboxStore)NewUser.NativeObject;
Вот мой полный код:
public void CreateUser(string Path,
string sAdminUserName,
string sAdminUserPassword,
string LastName,
string FirstName,
string sUserName,
string sUserPassword,
string sHomeMDB)
{
DirectoryEntry dirEntry = new DirectoryEntry(Path, sAdminUserName, sAdminUserPassword);
DirectoryEntry NewUser = dirEntry.Children.Add("CN=" + LastName + "." + FirstName, "user");
NewUser.Properties["samAccountName"].Value = sUserName;
NewUser.CommitChanges();
NewUser.Invoke("SetPassword", new object[] { sUserPassword});
NewUser.Properties["userAccountControl"].Value = 0x200;
NewUser.CommitChanges();
try
{
IMailboxStore mailbox = (IMailboxStore)NewUser;
mailbox.CreateMailbox(sHomeMDB);
NewUser.CommitChanges();
}
catch (InvalidCastException e)
{
MessageBox.Show(e.Message.ToString());
}
}
Я работаю на клиенте, который не является сервером обмена. Вот почему я установил Инструменты управления Exchange. Но, к сожалению, эта ошибка все еще происходит.
Кто-нибудь может мне помочь?
Заранее спасибо.