Diese Frage hat mich zum Hype gebracht, also habe ich es recherchiert. so +1
Einige Lösungen, die ich von oben gefunden habe, sind die besten, um die schlechtesten zu sein.
Leider ist es Zeit für mich zu schlafen, also wenn Sie keine konkrete Antwort finden, werde ich sie morgen testen, wenn ich Zeit zwischen der Arbeit bekomme und wenn ich etwas finde, werde ich es aktualisieren, Kumpel.
Ich hatte ein ähnliches Problem und wollte die Microsoft GPO-Bibliothek (Microsoft.GroupPolicy.Management) nicht herunterladen und installieren. Ich wollte alles mit System.DirectoryServices machen. Es hat ein wenig gegraben, aber es kann getan werden.
Rufen Sie Ihren Container zuerst mit DirectorySearcher ab. Sie müssen bereits einen Verzeichniseintrag geöffnet haben, um an den Sucher zu gelangen. Der gewünschte Filter ist:
%Vor%und die Eigenschaft, an der Sie interessiert sind, heißt "gPlink". Erstellen Sie also ein Array mit dieser Eigenschaft:
%Vor%Nun rufen Sie die Ergebnisse ab und ziehen Sie den gPlink heraus, falls verfügbar.
%Vor%Wenn gpLink null ist, ist dem Container (OU) kein Gruppenrichtlinienobjekt zugeordnet. Andernfalls enthält gpLink eine Zeichenfolge wie diese:
%Vor%Im obigen Text sehen Sie ein CN für das Gruppenrichtlinienobjekt. Alles, was wir jetzt tun müssen, ist das GPO von der DC abzurufen.
Dafür verwenden wir einen Filter, der folgendermaßen aussieht:
%Vor%Sie möchten ein Eigenschaften-Array erstellen, das Folgendes enthält:
%Vor%Verwenden Sie jetzt DirectorySearcher, um das Gruppenrichtlinienobjekt abzurufen. Sie erhalten in den Ergebnissen einen DirectoryEntry zurück, der alle oben genannten Felder in der Properties-Auflistung enthält. Einige sind COM-Objekte, daher müssen Sie diese entsprechend behandeln.
AKTUALISIERT: Arbeitskopie. Sie können jetzt c # verwenden, um ein bestimmtes Gruppenrichtlinienobjekt zu lesen und zu analysieren, ohne Powershell verwenden oder etwas auf die Festplatte schreiben zu müssen.
%Vor%Dies verwendet die Gruppenrichtlinien-Verwaltungskonsole (Group Policy Management Console, GPMC): Ссылка
Microsoft.GroupPolicy-Namespace Ссылка
Tags und Links c# active-directory c#-4.0 gpo