使用Active Directory是在C#有點不好受,確保3.5增加了一些新的課程,以幫助,但對於純粹的生產力,我喜歡使用PowerShell和Quest的免費PowerShell Commands for Active Directory 在這種情況下,代碼看起來像
get-qaduser userid | select PhoneNumber,DisplayName
,如果你需要這個作爲你的C#程序的一部分運行,你可以做到這一點
public static IEnumerable<PSObject> Invoke(string script, params object[] input)
{
IList errors = null;
using (var run = new RunspaceInvoke())
{
var psResults = run.Invoke(script, input, out errors);
if (errors != null && errors.Count > 0)
Debug.WriteLine(errors.Count);
foreach (PSObject res in psResults)
yield return res;
}
}
PSObject psUser = POSHelp.Invoke(
@"add-pssnapin Quest.ActiveRoles.ADManagement
($userid) = $input | % { $_ }
get-qaduser $userid", "auserid").Single();
Debug.WriteLine(psUser.Properties["DisplayName"].Value);
添加裁判Program Files文件\參考大會\微軟\ WindowsPowerShell \ V1.0 \ System.Management。 Automatio n.dll
...並在SamAccountName上進行篩選(但只通過使用用戶名,在「domain \」部分之後)... – 2009-02-05 21:31:33