:나는 다음과 같은 코드를 사용하여 도메인 서버에 새 AD 사용자를 만드는 오전
이DirectoryEntry newUser = directoryEntry.Children.Add("CN=" + model.Account.FullName, "user");
if (model.Account.SamAccountName != null) newUser.Properties["sAMAccountName"].Value = model.Account.SamAccountName;
newUser.CommitChanges();
setUserPassword("CN=" + model.Account.FullName + "," + model.Account.Path, model.Account.Password);
newUser.RefreshCache();
if (model.Account.FirstName != null) newUser.Properties["givenName"].Add(model.Account.FirstName);
if (model.Account.LastName != null) newUser.Properties["sn"].Add(model.Account.LastName);
if (model.Account.MiddleName != null) newUser.Properties["initials"].Add(model.Account.MiddleName);
if (model.Account.UPNLogon != null && model.Account.DomainName != null) newUser.Properties["userPrincipalName"].Add(model.Account.UPNLogon + "@" + model.Account.DomainName);
if (model.Organization.DisplayName != null) newUser.Properties["displayName"].Add(model.Organization.DisplayName);
if (model.Organization.Email != null) newUser.Properties["mail"].Add(model.Organization.Email);
newUser.Properties["LockOutTime"].Value = 0; //unlock account
newUser.Properties["userAccountControl"].Value = 0x200; // enable account
newUser.CommitChanges();
string homeMDB = profile.Exchange13_Profile.ExchangeDB;
IMailboxStore mailbox;
try
{
IMailboxStore mailbox = (IMailboxStore)NewUser;
mailbox.CreateMailbox(sHomeMDB);
NewUser.CommitChanges();
}
catch (InvalidCastException e)
{
MessageBox.Show(e.Message.ToString());
}
위의 코드가 성공적으로 새 사용자를 생성하고 그것을 AD 서버에서 가능하게합니다. 그러나 IMailboxStore
네임 스페이스에 cdoexm.dll
이 필요하므로 Exchange 사서함을 만들거나 사용할 수 없습니다. 나는 도메인 컨트롤러, 메일 박스 서버 및 클라이언트 액세스 서버에 있지만 정맥에 cdoexm.dll
을 찾으려고했습니다.
이 작업을 수행하는 또 다른 방법은 Powershell cmdlet을 사용하는 것입니다.하지만 그렇게하고 싶지는 않습니다.
이제 정확하게 명시 내 질문 :
- 어떻게 COM
cdoexm.dll
을 추가? 또는 IMailBoxStore
을 다른 방법으로 사용할 수 있습니까? 또는- AD 사용자의 사서함 및 PowerShell 이외의 Lync 계정을 사용할 수있는 방법이 있습니까?
CDOEXM이 이제 Exchange 2010에서 구식이 아니므로 처음 두 질문이 해결되었습니다.
CDOEXM에 대한 정보를 제공해 주셔서 감사합니다. PowerShell 스크립트가 속임수를 쓰지 만 다른 것이 있으면 내게 알려주지 만 –