Изменение "msExchHideFromAddressLists" атрибута Active Directory с использованием JNDI - PullRequest
0 голосов
/ 29 июня 2011

Я создал клиент Active Directory с помощью JNDI, который имеет возможность запрашивать атрибуты, а также изменять существующие.У меня есть необходимость изменить msExchHideFromAddressLists, чтобы установить его равным false, но я получаю исключение нулевого указателя при попытке запросить его.Любое понимание?Спасибо

String filter = "(&(objectCategory=user) (sAMAccountName=" + sAMAccountName + "))";
results = ctx.search(ou, filter, controls);

while(results.hasMore()) {
    SearchResult searchResult = (SearchResult) results.next();
    Attributes attributes = searchResult.getAttributes();

    Attribute attr = attributes.get("msExchHideFromAddressLists");
    String output = (String) attr.get();
}

1 Ответ

1 голос
/ 30 июня 2011

Я выяснил, в чем проблема. По-видимому, атрибут «msExchHideFromAddressLists» не оценивается по умолчанию, поэтому запрос по нему возвращал исключение nullPointerException. Чтобы изменить этот атрибут, просто установите значение «ИСТИНА» или «ЛОЖЬ».

ModificationItem[] mods = new ModificationItem[1];
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("msExchHideFromAddressLists", "TRUE"));
...