Fürs Archiv hier eine Funktion welche überprüft, ob ein User Mitglied in einer bestimmten lokalen Benutzergruppe ist:
//Überprüfen ein User Mitglied in einer bestimmten lokalen Gruppe ist
private bool IsUserInGroup(String group)
{
DirectoryEntry localMachine = null;
String entryString = "WinNT://" + Environment.MachineName + ",computer";
localMachine = new DirectoryEntry(entryString);
String userName = HttpContext.Current.User.Identity.Name.ToString();
userName = userName.Substring(userName.IndexOf('\\', 0), userName.Length - userName.IndexOf('\\', 0)).Replace("\\", "");
if (localMachine != null)
{
try
{
DirectoryEntry groupEntry = localMachine.Children.Find(group, "group");
object groupMembers = groupEntry.Invoke("members", null);
foreach (object groupMember in (IEnumerable)groupMembers)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
if (member.Name.Equals(userName))
return true;
}
}
catch (Exception)
{
//
}
}
}