0

我使用以下代码为我的用户获取 memberOf 属性:

DirectorySearcher search = new DirectorySearcher(new DirectoryEntry(connectionString));
search.Filter=string.Format("(&(sAMAccountName={0})(objectClass=user))",userName);
SearchResult result = search.FirndOne();

到现在为止还挺好。但是,我必须为用户所属的每个组获取 cn 值:我在 memberOf 属性的循环中执行此操作。

List<string> groupList = new List<string>();
DirectoryEntry user = result.GetDirectoryEntry();

foreach(string groupPath in user.Properties["memberOf"])
{
    DirectoryEntry groupBinding = new DirectoryEntry("LDAP://"+groupPath);
    DirectorySearcher groupSearch = new DirectorySearcher(groupBinding);
    DirectoryEntry gorupEntry = groupSearch.FindOne().GetDirectoryEntry();
    groupList.Add(groupEntry.Properties["cn"].Value.ToString()));
}

问题是,当 groupPath 包含“/”字符时,groupSearch.FindOne()会引发异常。

如何转义 / 字符以便可以搜索该组?

4

1 回答 1

1

使用反斜杠转义 /

信用:http ://www.rlmueller.net/CharactersEscaped.htm

于 2009-05-22T15:13:15.280 回答