myUserList AppUsers = new myUserList();
using (PrincipalContext pcxt = new PrincipalContext(ContextType.Domain, domainName))
{
UserPrincipal User = new UserPrincipal(pcxt);
User.EmailAddress = emailString;
PrincipalSearcher srch = new PrincipalSearcher(User);
foreach (var principal in srch.FindAll())
{
var p = (UserPrincipal)principal;
myUserRow User = AppUsers.NewUsersRow();
User.FirstName = p.GivenName;
User.LastName = p.Surname;
User.Email = p.EmailAddress;
AppUsers.AddUsersRow(User);
}
}
PrincipalContext クラスを使用して Active Directory でユーザー情報を検索する上記のようなコードがあります。
ご覧のとおり、検索中に domainName を渡します。この平和なコードを変更して、代わりにフォレスト全体 (つまり、グローバル カタログ) を検索し、引き続き PrincipalContext クラスを使用するにはどうすればよいですか?
PrincipalContext クラスを使用してグローバル カタログ検索を実行する実際の例が見つからないようです。
複数のツリーを持つ AD フォレスト内のグローバル カタログでユーザーを検索する方法の投稿を見たことがありますが、ポスターは PrincipalContext クラスを使用するソリューションが見つからなかったことを示唆しているようで、DirectorySearcher に戻す必要がありました。
フォレスト全体 (グローバル カタログ) での検索を示す PrincipalContext クラスのコード サンプルはありますか?