добавление почтового контакта в AD - PullRequest
2 голосов
/ 22 декабря 2009

Я ищу немного подсказок о том, как создавать почтовые контакты в AD. Это продолжение вопроса SO Q # 1861336 .

Что я пытаюсь сделать, это добавить нагрузку контактных объектов в подразделение в Active Directory. Я использовал примеры на CodeProject , однако они показывают только, как создать нового пользователя и т. Д.

Как мне создать контакт с помощью c #? Это похоже на создание нового пользователя, но с другими атрибутами типа LDAP?

Затем я планирую запустить сценарий PowerShell для командлета enable-mailcontact, чтобы Exchange 2010 мог видеть контакт в глобальном списке адресов.

Как видно из моих вопросов, я обычно не имею дело с c # или Active Directory, поэтому любая помощь / указатели были бы действительно полезны, прежде чем я начну играть с этим заряженным оружием.

Спасибо

Грант

1 Ответ

4 голосов
/ 27 мая 2010

похоже на создание пользователя

только мы "контакт" вместо "пользователь" в качестве объекта

вот грязный код (не проверено)

public string CreateContact(string ldapPath, string userName, 
    string userEmail)
{
    try
    {
        string oGUID = string.Empty;
        string connectionPrefix = "LDAP://" + ldapPath;
        DirectoryEntry dirEntry = new DirectoryEntry(connectionPrefix);
        DirectoryEntry newUser = dirEntry.Children.Add
            ("CN=" + userName, "contact");
        newUser.Properties["DisplayName"].Value = userName;

        //important attributs are
        newUser.Properties["targetAddress"].Value = "SMTP:" + userEmail;
        newUser.Properties["mailNickname"].Value = userName;

        // I'm still trying to figureout what shoud I use here!
        newUser.Properties["showInAddressBook"].Value = ???;

        newUser.CommitChanges();
        oGUID = newUser.Guid.ToString();
        dirEntry.Close();
        newUser.Close();
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //DoSomethingwith --> E.Message.ToString();

    }
    return oGUID;
}

надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...