Vestax 10 Geschrieben 13. Oktober 2011 Melden Teilen Geschrieben 13. Oktober 2011 Hallo, ich habe ein kleines Skript geschrieben, welches eine Textdatei mit den vorhandenen GPO-Namen einlesen soll und dann die GPOs an eine OU zuweisen soll. So ganz klappt das leider noch nicht. Es wird immer nur der letzte GPO Eintrag der Textdatei an die OU verlinkt. Der Code sieht so aus: Const ForReading = 1, ForWrite = 2, ForAppend = 8 ' Oblects And Varibles Dim Act :Set Act = CreateObject("Wscript.Shell") Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject") Dim Wmi :Set Wmi = GetObject("winmgmts:\\.\root\cimv2") Dim i, Obj, strText, Results1,Results2, Ts '-> Check For gpo.txt If Fso.FileExists(Fso.GetParentFolderName(WScript.ScriptFullName) & "\gpo.txt") Then '-> Process The Text File With The Server Information Set Ts = Fso.OpenTextFile("gpo.txt", ForReading) strText = Ts.ReadAll Ts.Close '-> Loop One Process The gpo.txt For Each i In Split(strText, vbCrLf) Set objContainer = GetObject _ ("LDAP://ou=Test,dc=contoso,dc=internal") strGPODisplayName = i strNewGPLink = "[" & GetGPOADsPath & ";" & strGPOLinkOptions & "]" objContainer.Put "gPLink", strExistingGPLink & strNewGPLink objContainer.Put "gPOptions", "0" objContainer.SetInfo Next End If Function GetGPOADsPath Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection objCommand.CommandText = _ "<LDAP://cn=Policies,cn=System,dc=contoso,dc=internal>;;" & _ "distinguishedName,displayName;onelevel" Set objRecordSet = objCommand.Execute Do Until objRecordSet.EOF 'MsgBox strGPODisplayName If objRecordSet.Fields("displayName") = strGPODisplayName Then GetGPOADsPath = "LDAP://" & objRecordSet.Fields("distinguishedName") objConnection.Close Exit Function End If objRecordSet.MoveNext Loop objConnection.Close End Function hat jemand eine Idee? Ich vermute, der Loop funktioniert noch nicht so richtig.. Danke und Gruß! Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 13. Oktober 2011 Melden Teilen Geschrieben 13. Oktober 2011 Moin, warum verbindest du die GPOs nicht über das GPMC-Objektmodell? Das ist besser, als in dem (syntaktisch durch Microsoft sehr vermurkst aufgebauten) Feld rumzumanipulieren. Gruß, Nils Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 23. Oktober 2011 Melden Teilen Geschrieben 23. Oktober 2011 Schau dir den Artikel von Mark an, evtl. hilft er bei der Lösung des Problems: Zeitgesteuertes Aktivieren einer GPO 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.