' setzt AD Attribute der per STDIN übergebenen objekte ' dsquery cscript if WScript.Arguments.Named.Exists("A") then wscript.echo "Found Attribute:"& WScript.Arguments.Named.item("A") else wscript.echo "NOT Found Attribute:" wscript.quit(255) end if if WScript.Arguments.Named.Exists("V") then wscript.echo "Found Value:"& WScript.Arguments.Named.item("V") else wscript.echo "NOT Found Value:" wscript.quit(255) end if if WScript.Arguments.Named.Exists("O") then wscript.echo "Found Object:"& WScript.Arguments.Named.item("O") processObject WScript.Arguments.Named.item("O"),WScript.Arguments.Named.item("A"),WScript.Arguments.Named.item("V") else wscript.echo "Object: using STDIN" Do While Not WScript.StdIn.AtEndOfStream StrObjectDN = cstr(WScript.StdIn.Readline) if instr(StrObjectDN,"""") = 1 then StrObjectDN = mid(StrObjectDN,2) if instr(StrObjectDN,"""") = len(StrObjectDN) then StrObjectDN = left(StrObjectDN,len(StrObjectDN)-1) processObject StrObjectDN,WScript.Arguments.Named.item("A"),WScript.Arguments.Named.item("V") Loop end if sub processObject(byval strDN, byval strAttrib,byval strValue) on error resume next wscript.echo "---Processing:" & strDN Set ObjTarget= GetObject ("LDAP://" & strDN) if err.number <> 0 then WScript.Echo "Error " & err.number & " at binding:" & strDN err.clear else WScript.Echo "Bound: Writing Attr:"&strAttrib&"="& strValue ObjTarget.put strAttrib, strValue ObjTarget.SetInfo if err.number <> 0 then WScript.Echo "Error " & err.number & " writing attribute" err.clear else WScript.Echo "Done" end if end if Set ObjTarget = Nothing end sub