有人知道我可以在ADSI查询中查询返回对象的父OU的哪些属性吗?我知道我可以绑定到AD对象,然后使用object.Parent返回它的父OU,但是如果我在ADSI查询中请求" parent“,它返回的是一个无效查询,我宁愿不绑定,除非绝对必要。
(即"SELECT sAMAccountName, distinguishedName, objectSid, groupType FROM 'LDAP://DC=Contoso,DC=COM' WHERE objectCategory='group'")
发布于 2009-10-08 22:37:51
查看distinguishedName属性,丢弃第一个分隔逗号之前的所有内容。这将是父对象的distinguishedName (顺便说一句,它可能不是OU,它可能是一个容器或其他类型的对象)
下面是一个从子distinguishedName获取父distinguishedName的函数。它处理包含转义逗号的distinguishedName值。公共string GetParent(string 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;
}https://stackoverflow.com/questions/1032875
复制相似问题