私は Active Directory に初めてアクセスし、System.DirectoryServices.AccountManagement
名前空間を使用するように勧められましたが、特定のイニシャルを持つユーザーを検索する方法がわかりません。
助けはありますか?
私は Active Directory に初めてアクセスし、System.DirectoryServices.AccountManagement
名前空間を使用するように勧められましたが、特定のイニシャルを持つユーザーを検索する方法がわかりません。
助けはありますか?
必要に応じて独自の属性を使用した を使用した完全なサンプルを次に示しPrincipalSearcher
ます (コードはそのままです)。
/* Looking for users
*/
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, "WM2008R2ENT:389", "dc=dom,dc=fr", "jpb", "root.123");
/* Create a user principal to look for
*/
slxUser aSlxUser = new slxUser(domainContext);
aSlxUser.streetAddress = "The Adress"
/* FindAll
*/
PrincipalSearchResult<Principal> results = new PrincipalSearcher(aSlxUser).FindAll();
Console.WriteLine(results.Count());
slxUser のこの定義では:
[DirectoryObjectClass("user")]
[DirectoryRdnPrefix("CN")]
class slxUser : UserPrincipal
{
public slxUser(PrincipalContext context)
: base(context) { }
public slxUser(PrincipalContext context, string samAccountName, string password, bool enabled ) : base(context, samAccountName, password, enabled)
{
}
[DirectoryProperty("streetAddress")]
public string streetAddress
{
get
{
object[] result = this.ExtensionGet("streetAddress");
if (result != null)
{
return (string)result[0];
}
else
{
return null;
}
}
set { this.ExtensionSet("streetAddress", value); }
}
}