에 distinguishedName 속성에서 봐, 첫 번째 단락 문자 쉼표 전에 아무것도 버린다. 그것은 부모 개체의 고유 이름입니다 (도중에 OU가 아닐 수도 있습니다. 컨테이너 또는 다른 유형의 개체 일 수 있습니다)
자식 distinguishedName에서 부모 distinguishedName을 가져 오는 함수는 다음과 같습니다. 이스케이프 된 쉼표를 포함하는 distinguishedName 값을 처리합니다. 공개 문자열 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;
}