【发布时间】:2018-06-01 18:04:16
【问题描述】:
我创建了一个小型实体类:
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();
所以这意味着,没有名为“父”的属性。
有什么建议吗?我还想查找现有属性的列表,但我还没有在网上找到。
【问题讨论】:
标签: c# active-directory directoryservices