sg08234 10 Geschrieben 22. August 2016 Melden Teilen Geschrieben 22. August 2016 Ich möchte gerne im SOM-Tree die Verknüpfungsreihenfolge meiner GPOs (Server 2008) dokumentieren und habe das Skript ListSOMPolicyTree.wsf aus den GPMC Sample Scripts wie folgt (fett) erweitert: Dim GPOLink Dim LinkSOM Dim strGPOName Dim strGPOOrder Dim iLinkOrder : iLinkOrder = 0 For Each GPOLink in GPOLinks iLinkOrder = iLinkOrder + 1 On Error Resume Next Set GPO = GPMDomain.GetGPO(GPOLink.GPOID) strGPOOrder = GPOLink.Order strGPOName = GPO.DisplayName If Err.Number <> 0 Then ' See if it failed because it's from a different domain If LCase(GPOLink.GPODomain) <> LCase(GPMDomain.Domain) Then strGPOName = "[Link to GPO in external domain]" Else ' Could not find the GPO - might be an orphaned link or ' we might not have read access strGPOName = "[inaccessible]" End If End If ' See if this is an inherited link Set LinkSOM = GPOLink.SOM WScript.Echo strTab & "GPO=" & strGPOName & " - Verknuepfungsreihenfolge=" & strGPOOrder Leider bleibt die Variable strGPOOrder leer: Was ist falsch?Vielen Dank! Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 22. August 2016 Melden Teilen Geschrieben 22. August 2016 (bearbeitet) Moin, das lässt sich schlecht nachvollziehen, weil den Codeschnippsel unvollständig ist. Kannst du den bitte im Zusammenhang posten? Ansonsten habe ich gerade mal nachgesehen. Das AD-Feld gpLink ist ja leider ziemlich ungünstig implementiert: Es enthält mehrere Werte in einer eigenen Notation. Alle GPO-Links sind in ein einziges Feld gequetscht und mit eckigen Klammern voneinander getrennt. Innerhalb der einzelnen Einträge gibt es zwei Textinformationen: Den GUID des GPO und ein Bit, das über "enforced" oder "disabled" Auskunft gibt. Darüber hinaus ist aber auch die Reihenfolge der Einträge von Relevanz: Sie gibt die Verarbeitungsreihenfolge an. Dabei steht das Objekt mit der höchsten Priorität am Ende der Liste. Die Prio-Reihenfolge, die die GPMC darstellt, erhält man also, wenn man die Reihenfolge der Einträge in dem Feld umkehrt. Mein AD-Doku-Tool José stellt die Reihenfolge/Priorität der Links korrekt dar, allerdings genau andersrum als die GPMC (José stellt die Reihenfolge der Verarbeitung dar, die GPMC stellt die höchste Prio an den Anfang der Liste). Ich habe für die nächste Version mal notiert, die Ausgabe der Links umzudrehen, damit sie der GPMC entspricht. http://www.faq-o-matic.net/jose/ Gruß, Nils bearbeitet 22. August 2016 von NilsK Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 22. August 2016 Melden Teilen Geschrieben 22. August 2016 Vermutung: Du versuchst ein Array in eine einfache skalare Variable zu speichern. Das ist selbst noc h mit Powershell fehleranfällig. Zitieren Link zu diesem Kommentar
sg08234 10 Geschrieben 22. August 2016 Autor Melden Teilen Geschrieben 22. August 2016 Nils: In der Anlage findest Du das komplette Skript (Original und von mir (ohne Erfolg) erweiterte Version). Wo finde ich die Doku zum AD-Feld gpLink? Hab leider in der Glaskugel nichts Zielführendes gefunden Wenn das zu kompliziert wird, werde ich mich mal in http://www.faq-o-matic.net/jose/ einlesen. Vielen Dank! Michael ListSOMPolicyTree.zip Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 22. August 2016 Melden Teilen Geschrieben 22. August 2016 (bearbeitet) Moin, das Skript enthält im Original doch schon eine Variable für die Reihenfolge: iLinkOrder. Warum nimmst du die nicht? Ansonsten müsste man jetzt die Javascript-Bibliothek durcharbeiten, um herauszufinden, was denn diese "Order"-Eigenschaft überhaupt enthält. Das ist mir jetzt zu mühselig. Das Problem ist, wie du schon richtig erkannt hast, dass die Informationen im Detail leider nicht besonders gut dokumentiert sind. Meine Kenntnisse darüber stammen aus meiner eigenen Analyse. Mit José baust du dir mit wenigen Mausklicks einen Report, der sogar noch mehr Informationen enthält. Es gibt sogar schon eine fertige Definitionsdatei dafür: !Gruppenrichtlinien.txt EDIT: Gut, okay, ich habe doch noch mal nachgesehen. Die Lösung ist einfach: Die Property "Order", die dein Skript anzusprechen versucht, gibt es gar nicht. Wie bist du denn auf die Idee gekommen?! Die richtige Eigenschaft lautet "SOMLinkOrder". Aber: Wie ich schon vermutete, ist deren Wert immer identisch zu dem Wert von iLinkOrder, den man viel einfacher erhält (nämlich durch Mitzählen) und der im Skript bereits enthalten ist. Und: Noch dazu muss man die Reihenfolge auch gar nicht benennen, denn sie entspricht der Reihenfolge der ausgegebenen Werte. Nimm José ... die Reihenfolge ist dort auch dieselbe. Gruß, Nils bearbeitet 22. August 2016 von NilsK Zitieren Link zu diesem Kommentar
sg08234 10 Geschrieben 23. August 2016 Autor Melden Teilen Geschrieben 23. August 2016 Da habe ich falsch geschaut: Die GPos werden in der richtigen Reihenfolge angelistet. Property "Order": Habe ich aus https://msdn.microsoft.com/en-us/library/microsoft.grouppolicy.gpolink_properties(v=vs.85).aspx assoziiert. Ich werde mich trotzdem (zusätzlich, weil die GPMC-Skripte bieten Backup und Restore von GPOs) in http://www.faq-o-mat...tic.net/jose/ einlesen (Dokumentation des gesamten ADs). Vielen Dank für die Hilfe! Zitieren Link zu diesem Kommentar
Beste Lösung NilsK 2.940 Geschrieben 23. August 2016 Beste Lösung Melden Teilen Geschrieben 23. August 2016 Moin, hm, da scheint es, als würde Microsoft an verschiedenen Stellen mit unterschiedlichen Bezeichungen arbeiten. Dein Link bezieht sich, wenn ich das richtig deute, auf einen anderen Namespace innerhalb des GPMC-Objektmodells. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.