Active Directory Wyświetla wszystkie właściwości w tabeli

Próbuję uzyskać kwerendę LDAP, aby zebrać wszystkie właściwości dotyczące naszych użytkowników bez określania właściwości przed ręką, chciałbym wyświetlić to w tabeli, tak aby użyć poniższego kodu. Działa to, jeśli odkomentuję search.PropertiesToLoad.Add ("cn"); i wyświetli wszystkie inne właściwości, które dodaję w ten sam sposób, ale nie, gdy wykonam pełne wyszukiwanie wszystkich właściwości.

DirectoryEntry myLdapConnection = createDirectoryEntry();
DirectorySearcher search = new DirectorySearcher(myLdapConnection);

search.CacheResults = true;
//search.PropertiesToLoad.Add("cn");

SearchResultCollection allResults = search.FindAll();
DataTable resultsTable = new DataTable("Results");

//add columns for each property in results
foreach (string colName in allResults.PropertiesLoaded)
    resultsTable.Columns.Add(colName, colName.GetType());

//loop to add records to DataTable
foreach (SearchResult result in allResults)
{
    int tmp = result.Properties.Count;
    DataRow row = resultsTable.NewRow();
    foreach (string columnName in search.PropertiesToLoad)
    {
        if (columnName.Equals("lastlogon"))
        {
            if (result.Properties.Contains(columnName))
                row[columnName] = ConvertDate(result.Properties[columnName].ToString());
            else
                row[columnName] = "";
        }
        else
        {
            if (result.Properties.Contains(columnName))
                row[columnName] = result.Properties[columnName][0].ToString();
            else
                row[columnName] = "";
        }
    }
    resultsTable.Rows.Add(row);
}

gridResults.DataSource = resultsTable;

Problem wydaje się być

foreach (string colName in allResults.PropertiesLoaded)
    resultsTable.Columns.Add(colName, colName.GetType());

Spodziewałem się, że zapętli wszystkie właściwości, gdy nie określono właściwości Properties, ale nie jest to sposób na osiągnięcie tego, co chcę.

Wiem, że do tej pory potrzebuję kilku prób i innych bitów w kodzie.

questionAnswers(3)

yourAnswerToTheQuestion