0
我有一个C#(Visual Studio 2010)应用程序来管理Microsoft Active Directory中的对象。如果我想创建一个邮箱用户启用我在这一点上得到一个InvalidCastException:当在活动目录中创建启用邮箱的用户时发生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服务器上开发。这就是为什么我安装了Exchange管理工具。但不幸的是,这个错误仍然存在
任何人都可以帮到我吗?
在此先感谢。
您的代码调用'(IMailboxStore)NewUser'而不是'(IMailboxStore)NewUser.NativeObject' – 2012-03-24 17:05:33
感谢您的回复。我也试过你的版本,但我得到了同样的错误。 – Martin 2012-03-25 07:17:04
你是如何得到你的互动的?您是否在运行代码的机器上安装了“Exchange Management 组件”? – 2012-03-25 16:05:02