私はユニークな、または別個の部門名をADから取得したいので、そのための正しいクエリは何ですか。私のコードは以下の通りです:Asp .NetのActive Directoryから別の部門名を取得するにはどうすればいいですか?
private static DomainController GetDomainController(string domainpath)
{
var domainContext = new DirectoryContext(DirectoryContextType.Domain, domainpath);
var domain = Domain.GetDomain(domainContext);
var controller = domain.FindDomainController();
return controller;
}
private static MyMethod()
{
var domainController = GetDomainController(ActiveDirectorySettings.DomainPath);
// Lookup the information in AD
var ldapEntry = new DirectoryEntry(string.Format("LDAP://{0}", domainController)) { AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.FastBind };
DirectorySearcher ds;
ds = new DirectorySearcher(ldapEntry)
{
SearchScope = SearchScope.Subtree,
Filter = "(&" + "(objectClass=user)" + "(department=" + departmentname + "*))"
};
ds.PropertiesToLoad.Add("department");
if (ds.FindAll().Count >= 1)
{
//do something....
}
}
ここでは、重複を含むすべての部門名を取得しています。しかし、私が欲しいのは -
3人のユーザーが同じ部門(X)に所属している場合、3回は1回は部門(X)を望みます。
あなたは 'GetDomainController'関数の定義を提供してください。現在、あなたの投稿には欠落しています。 – RBT
'ActiveDirectorySettings.DomainPath'を使用するには、dllまたは名前空間が必要ですか?あなたのコードをコンパイルできません。 – RBT
'(ActiveDirectoryConfiguration)ConfigurationManager.GetSection(" ldapConfiguration ")' –