サンプルコードは次のとおりです。
var ctx = new PrincipalContext(ContextType.Domain);
var up1 = AuthenticablePrincipal.FindByIdentity(ctx, IdentityType.Sid, "S-1-5-21-.......");
var up2 = AuthenticablePrincipal.FindByIdentity(ctx, IdentityType.UserPrincipalName, "login@contoso.com");
このコードが実行されているのと同じドメインにユーザーがいる場合、どちらの場合でもユーザーが検索されます。ユーザーが別の双方向の信頼されたフォレストにいる場合、両方とも null を返します。
現在のドメインにドメイン ローカル グループを作成し、他のフォレストのユーザーをそこに配置し、グループのメンバーを で一覧表示するとGroupPrincipal.GetMembers
、外部オブジェクトも検出され、解決されます。したがって、このタスクは確かに可能であり、インフラストラクチャも正常に機能しています。
で別のフォレストからユーザーを見つける方法はUserPrincipal.FindByIdentity
? または、を使用する他の方法でPrincipalContext
?