private void buttonQueryAll_Click(object sender, EventArgs e) { try { richTextBoxMessage.Clear(); ActiveDirectoryHelper adHelper = new ActiveDirectoryHelper(textBoxPath.Text, textBoxAccount.Text, textBoxPassword.Text); SearchResultCollection results = adHelper.SearchAll(); if (results == null) { richTextBoxMessage.AppendText("No data."); return; } foreach (SearchResult result in results) { ResultPropertyCollection rpc = result.Properties; List <string> nameList = new List <string>(rpc.PropertyNames.Count); foreach (string name in rpc.PropertyNames) { nameList.Add(name); } nameList = nameList.Distinct().OrderBy(x => x).ToList(); foreach (string name in nameList) { ResultPropertyValueCollection rpvc = rpc[name]; int valueCount = rpvc.Count; foreach (object value in rpvc) { if (value == null) { continue; } string valueString = DirectoryUtility.ExtractAttributValue(name, value); richTextBoxMessage.AppendText(string.Format("{0}={1}\n", name, valueString)); } } richTextBoxMessage.AppendText("\n----------------------------------------------------------\n\n"); richTextBoxMessage.ScrollToCaret(); } richTextBoxMessage.AppendText($"Count: {results.Count}"); } catch (Exception ex) { richTextBoxMessage.AppendText(ex.ToString()); } finally { richTextBoxMessage.ScrollToCaret(); } }