Microsoft Active Directoryのオブジェクトを管理するC#(Visual Studio 2010)アプリケーションがあります。私は、メールボックスが有効なユーザーを作成したい場合は、私はこの時点でInvalidCastExceptionが取得:Active Directoryにメールボックスが有効なユーザーを作成するときにInvalidCastExceptionが発生する
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());
}
}
私は交換サーバではないクライアント上で開発しています:
IMailboxStore mailbox = (IMailboxStore)NewUser.NativeObject;
ここに私の完全なコードです。そのため、Exchange管理ツールをインストールしました。しかし、残念ながらこのエラーはまだ発生します。
誰でも手伝ってもらえますか?
ありがとうございます。
あなたのコードは、 '(IMailboxStore)NewUser.NativeObject'の代わりに'(IMailboxStore)NewUser'を呼び出していました。 –
あなたの返事をありがとう。あなたのバージョンも試しましたが、同じエラーが発生します。 – Martin
あなたはどのようにあなたの相互運用を得ましたか?コードを実行しているマシンに「Exchange Management Components」をインストールしましたか? –