Посмотрите на свойство difishedName и откажитесь от всего, что находится перед первой разделительной запятой. Это будет отличимое имя родительского объекта (кстати, это может быть не подразделение, это может быть контейнер или объект другого типа)
Вот функция для получения родительского отличительного имени от дочернего отличаемого имени. Он обрабатывает значения Отличимые имена, которые содержат экранированные запятые.
публичная строка GetParent (строка sDistinguishedName)
{
int iPos = sDistinguishedName.IndexOf (',');
if (iPos > 0)
{
while (iPos > -1)
{
//go back from iPos to find all slashes.
int iFound = 0;
for (int iSearch = iPos - 1; iPos >= 0 && sDistinguishedName[iSearch] == '\\'; iSearch--)
{
iFound++;
}
if (iFound % 2 == 0)
{
return sDistinguishedName.Substring(iPos + 1, sDistinguishedName.Length - iPos - 1);
}
else
{
iPos = sDistinguishedName.IndexOf(',', iPos + 1);
}
}
}
return sDistinguishedName;
}