次のコードを使用すると、指定されたユーザーが指定されたグループに存在するかどうかを簡単に確認できます。
public static bool IsInGroup(string user, string group)
{
using (var identity = new WindowsIdentity(user))
{
var principal = new WindowsPrincipal(identity);
return principal.IsInRole(group);
}
}
ただし、次のような文字列のリストがある場合:-
User1
User2
User3
Group1
Group2
Group3
この文字列のリストをループして、各エントリがADグループであるかどうかを確認する方法はありますか?
たとえば、User3は実際にはグループ名ですが、リストを見ると、通常のADユーザーであることがわかります。
名前を解析して、ADドメインにグループとして存在するかどうかを確認する方法はありますか?
基本的に、名前とグループのリストを調べて、特定のユーザー名(たとえば、「Bob」)がリストに含まれているかどうか、またはこのリストのグループの1つに存在しているかどうかを確認したいので、エントリが上記のリストにあるのはADグループです。上記と同様の関数を実行して、ユーザーがグループ内に存在するかどうかを確認します。