Я создал небольшой класс сущностей:
public class OrganizationalUnit
{
public string Name { get; set; }
public string ParentUO { get; set; }
public string Path { get; set; }
}
Вот как я создаю объекты этого типа:
/// <summary>
/// Provides an object that allows you to get organizational units within an
/// active directory domain.
/// </summary>
/// <param name="connectionString">The LDAP connection string to a domain.
/// For example LDAP://DC=YourCompany,DC=com</param>
public ActiveDirectoryOrganizationalUnitRepository(string connectionString, string username, string password)
{
organizationalUnits = new List<OrganizationalUnit>();
if (DomainExists(connectionString))
{
var baseDirectory = new DirectoryEntry(connectionString);
baseDirectory.Username = username;
baseDirectory.Password = password;
DirectorySearcher searcher = new DirectorySearcher();
searcher.SearchRoot = baseDirectory;
searcher.Filter = "(objectCategory=organizationalUnit)";
searcher.SearchScope = SearchScope.Subtree;
var ouResults = searcher.FindAll();
foreach (SearchResult ou in ouResults)
{
organizationalUnits.Add(new OrganizationalUnit() {
Path = ou.Path,
Name = ou.Properties["name"][0].ToString(),
ParentUO = ou.Properties["parent"][0].ToString()}
);
}
}
}
Мне нужна помощь в заполнении свойства ParentOU.Я получаю индекс вне диапазона исключений при попытке получить его:
ParentUO = ou.Properties["parent"][0].ToString();
Так что это означает, что нет свойства с именем 'parent'.
Есть предложения?Я также хотел бы найти список существующих свойств, но я еще не нашел один в Интернете.