Gruppenrichtlinieneinstellungen mit C # lesen

9

Wie gehe ich vor, um über verfügbare und / oder festgelegte Einstellungen in einem bestimmten Gruppenrichtlinienobjekt (mit Name oder GUID) in einer AD-Domäne zu iterieren? Ohne den Export in XML / HTML mit Powershell, etc.

Ich verwende C # (.NET 4.0).

    
Nasir 15.03.2011, 23:35
quelle

4 Antworten

7

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.

    
Reza M. 16.03.2011, 04:04
quelle
2

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.

    
ChopperCharles 15.04.2015 14:47
quelle
0

Hier ist ein besseres und vollständigeres Beispiel als oben.

%Vor%     
chdev77 11.10.2016 19:19
quelle
0

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 Ссылка

    
Brandon Helms 03.05.2016 23:09
quelle

Tags und Links