Einleitung
In diesem Artikel geht es darum, mit einem C# Programm eine ActiveDirectory - Gruppen abfrage zu realisieren.Ich möchte herausfinden, ob dem User eine bestimmte Gruppe zugewiesen ist, um danach je nach Ergebniss eine andere Aktion ausführen zu können.
Vorwissen
Wenn ein User im ActiveDirectory einer Gruppe zugewiesen wird, kann man sich diese zum Beispiel in der Computerverwaltung ansehen. Unter User und Gruppen wird diese Gruppe dann eingetragen. In dieser Anleitung machen wir einen Loop über alle vorhandenen Gruppen und warten, bis die gesuchte Gruppe kommt.Funktion zum Auslesen der AD Gruppe
public Boolean getGroupState ()
{
Boolean groupState = false;
foreach (System.Security.Principal.IdentityReference group in System.Security.Principal.WindowsIdentity.GetCurrent().Groups)
{
if ((group.Translate(typeof(System.Security.Principal.NTAccount))).ToString() == "Domäne\\AD-Group")
{
groupState = true;
break;
}
else
{
groupState = false;
}
return groupState;
}
Der Variable groupState wird mitgegeben, ob die gesuchte Gruppe vorhanden ist. Mit der foreach Schlaufe wird das ganze Gruppenverzeichnis nach dem mitgegebenen Namen durchsucht. Sobald der Name gefunden wurde, wird die Schleife abgebrochen und der Wert von groupState auf true gesetzt.
{
Boolean groupState = false;
foreach (System.Security.Principal.IdentityReference group in System.Security.Principal.WindowsIdentity.GetCurrent().Groups)
{
if ((group.Translate(typeof(System.Security.Principal.NTAccount))).ToString() == "Domäne\\AD-Group")
{
groupState = true;
break;
}
else
{
groupState = false;
}
return groupState;
}
Keine Kommentare:
Kommentar veröffentlichen