ユーザーAがグループBの一部であるかどうかをテストするADクエリを見つけようとしています。
ユーザーAは、グループBのメンバーであるグループAのメンバーです。したがって、ユーザーAは実際にはグループBのメンバーです。
http://msdn.microsoft.com/en-us/library/aa746475%28VS.85%29.aspxの情報を確認してみましたが、ユーザーから検索を開始して下がっているようです。グループから開始して子オブジェクトをクロールできる必要があります。
ユーザーAがグループBの一部であるかどうかをテストするADクエリを見つけようとしています。
ユーザーAは、グループBのメンバーであるグループAのメンバーです。したがって、ユーザーAは実際にはグループBのメンバーです。
http://msdn.microsoft.com/en-us/library/aa746475%28VS.85%29.aspxの情報を確認してみましたが、ユーザーから検索を開始して下がっているようです。グループから開始して子オブジェクトをクロールできる必要があります。
.NET 3.5以降を使用していて、プログラミング言語としてVB.NETまたはC#を使用している場合は、System.DirectoryServices.AccountManagement
(S.DS.AM)名前空間を確認する必要があります。ここでそれについてすべて読んでください:
基本的に、ドメインコンテキストを定義して、AD内のユーザーやグループを簡単に見つけることができます。
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");
if(user != null)
{
// find the group in question
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere");
if(group != null)
{
bool isUserMemberOfThatGroup = user.IsMemberOf(group);
}
}
新しいS.DS.AMを使用すると、ADのユーザーやグループを簡単に操作できます。