更新时间:2023-08-29 15:06:58
我已经尝试了以下代码并且对我来说效果很好..
I have tried the following code and is working fine for me..
public bool IsUserMemberOfGroup(string userName, string groupName)
{
bool ret = false;
try
{
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry userGroup = localMachine.Children.Find(groupName, "group");
object members = userGroup.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
if (member.Name.Equals(userName, StringComparison.CurrentCultureIgnoreCase))
{
ret = true;
break;
}
}
}
catch (Exception ex)
{
ret = false;
}
return ret;
}