ineedhelp 12 Geschrieben 1. August 2016 Melden Teilen Geschrieben 1. August 2016 @All. Leider weiß ich nicht mehr weiter. Ich versuche per VBS ein Password Settings Object anzulegen. Folgender Fehler wird ausgeworfen: 0x80072014 (Der angeforderte Vorgang erfüllt mindestens eine Einschränkung nicht, die für diese Objektklasse Bedingung ist.) Bisher konnte mir das Internet nicht weiterhelfen. Vielleicht habt Ihr ja eine Idee. Sämtliche Skripte in unserer Domäne wurden mit VBS erstellt. Es ist noch nicht vorgesehen, diese nach Powershell zu portieren. Danke im Voraus. OPTION EXPLICIT Dim PSOContainer Dim PSO Set PSOContainer = GetObject ("LDAP://CN=Password Settings Container,CN=System,DC=<Domain Component>,DC=<Domain Component>") ' List all PSO's PSOContainer.Filter = Array("msDS-PasswordSettings") For Each PSO In PSOContainer WScript.Echo "Name " & PSO.Get("name") ' ... Next ' PSO Set PSO = PSOContainer.Create("msDS-PasswordSettings", "cn=<Common Name>") ON ERROR RESUME NEXT CALL PSO.Put("msDS-MaximumPasswordAge", -51840000000000) ' LargeInteger CALL PSO.Put("msDS-MinimumPasswordAge", -1728000000000) ' LargeInteger CALL PSO.Put("msDS-MinimumPasswordLength", 8) ' Integer CALL PSO.Put("msDS-PasswordHistoryLength", 20) ' Integer CALL PSO.Put("msDS-PasswordComplexityEnabled", TRUE) ' Boolean CALL PSO.Put("msDS-PasswordReversibleEncryptionEnabled", FALSE) ' Boolean CALL PSO.Put("msDS-LockoutObservationWindow", -36000000000) ' LargeInteger CALL PSO.Put("msDS-LockoutDuration", -36000000000) ' LargeInteger CALL PSO.Put("msDS-LockoutThreshold", 0) ' Integer CALL PSO.Put("msDS-PasswordSettingsPrecedence", 10) ' Integer CALL PSO.Put("msDS-PSOAppliesTo", Array("CN=<Common Name>,OU=<Organisational Unit>,DC=<Domain Component>,DC=<Domain Component>")) CALL PSO.SetInfo() ' Commit to the directory ' Error: LDAP_OBJECT_CLASS_VIOLATION WScript.Echo "Error: " & err.Number WScript.Echo "Description: " & err.Description ON ERROR GOTO 0 Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 1. August 2016 Melden Teilen Geschrieben 1. August 2016 Moin, warum per VBS und nicht einfach mit dem ADAC anlegen? PSOs erstellt man ja normalerweise nicht massenhaft. Gruß, Nils Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 1. August 2016 Melden Teilen Geschrieben 1. August 2016 Kann es sein, daß Du die Large Integers erst konvertieren mußt? (Schon lang nimmer gemacht...) Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 1. August 2016 Melden Teilen Geschrieben 1. August 2016 Sämtliche Skripte in unserer Domäne wurden mit VBS erstellt. Es ist noch nicht vorgesehen, diese nach Powershell zu portieren. Hört sich ja sehr aktuell an! Auf welchem Domain Level lauft ihr denn? Zitieren Link zu diesem Kommentar
ineedhelp 12 Geschrieben 2. August 2016 Autor Melden Teilen Geschrieben 2. August 2016 Die aktuelle Domänenfunktionsebene ist Windows Server 2012 R2. Per Skript kann ich bereits die PSOs auslesen und löschen. Gerne möchte ich die PSOs aus VBS raus anlegen können. Danke für Eure Bemühungen. Zitieren Link zu diesem Kommentar
Beste Lösung NilsK 2.958 Geschrieben 2. August 2016 Beste Lösung Melden Teilen Geschrieben 2. August 2016 Moin, hm, also, wie gesagt: Ich würde es bei einzelnen PSOs manuell per ADAC machen und bei mehreren evtl. per PowerShell, weil es dazu zahlreiche dokumentierte Beispiele zum Abkupfern gibt. Eine Alternative wäre noch LDIF, auch dazu findet man fertige Beispiele im Web. Für VBS habe ich auch nichts Fertiges gefunden, aber braucht es ja auch nicht. Insofern sehe ich keinen Nutzen darin, das mit VBScript zu machen. 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.