0
我是C#的新手,並且希望使用C#從Active Directory中獲取數據並將其輸出到Excel文件中。我看了幾個教程,並且對如何做到這一點感到困惑。我正在尋找獲得用戶ID,部門和名稱。我如何使用.FindAll()功能來做到這一點?使用C#將AD信息拉入Excel中#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace ADquery
{
class UserLookUp
{
static void Main(string[] args)
{
Console.WriteLine(retrieveUsers());
Console.ReadLine();
}
public static string retrieveUsers()
{
string path = ("LDAP://OU=IS,OU=People,DC=Corporate,DC=Amfam,DC=com");
//Init instance of DirectoryEntry
DirectoryEntry dEntry = new DirectoryEntry(path);
DirectorySearcher dSearcher = new DirectorySearcher(dEntry);
//Establish filter (all users)?
dSearcher.Filter = "(&(objectCategory=person)(objectClass=user)(cn=*))";
foreach (SearchResult searchResults in dSearcher.FindAll())
{
if (searchResults.Properties["CN"][0].ToString() != null)
{
//pull info desired
ResultPropertyValueCollection valueCollection =
searchResults.Properties["manager"];
foreach (Object propertyValue in valueCollection)
{
Console.WriteLine("Property Value: " + (string)propertyValue.ToString());
}
Console.WriteLine(" ");
catch (InvalidOperationException iOe)
{
dSearcher.Dispose();
}
catch (NotSupportedException nSe)
{
}
finally
{
if(sResults != null)
sResults.Dispose();
}
/*
// Create new Excel file.
var excelFile = new ExcelFile();
// Foreach DataTable, add new worksheet and insert data from DataTable into it.
foreach (DataTable dataTable in dataSet.Tables)
excelFile.Worksheets.Add(dataTable.TableName).InsertDataTable(dataTable, 0, 0, true);
// Save Excel file to XLS format.
excelFile.SaveXls(dataSet.DataSetName + ".xls"); *
*/
}
}
}
}
}
你對上面的代碼有什麼問題?什麼不工作,確切地說? –