Я получаю свойство 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()
выдает исключение.
Как мне выбрать символ /, чтобы я мог искать эту группу?