NilsK 2.934 Geschrieben 11. Dezember 2008 Melden Teilen Geschrieben 11. Dezember 2008 Moin, Ach komm... nein, ich komme nicht. Und ehrlich gesagt, bin ich von deiner Antwort etwas geplättet. Was glaubst du eigentlich, wo du hier bist?! Statt "Create" wird ne "Get" Methode verwendet. Nett, dass du ihm das sendest. Aber genau hier beginnt dann der Punkt, den ich mit "einiges an Logik" meinte: Man muss nämlich auch noch prüfen, ob der Kontakt denn existiert. Und damit ist dann u.U. auch noch nicht Ende. Genau deshalb bringt das im Forum nix. Selber machen ist angesagt. Wenn es Detailprobleme gibt, gerne. Aber nicht auf die "macht mir mal eben, kann ja nicht so schwer sein"-Tour, weil da jemand zu bequem ist, sich die Grundlagen anzueignen. Kopfschüttelnd, Nils Zitieren Link zu diesem Kommentar
Evoco 10 Geschrieben 11. Dezember 2008 Autor Melden Teilen Geschrieben 11. Dezember 2008 Erst einmal danke Cybquest für deinen Tipp ich bin schon am Bauen und Testen. Zu dir Nils, kann ich nur sagen du hast mich Falsch verstanden hast: Mit"ach komm" wollte ich bestimmt niemanden vor den Kopf stoßen. Genau den Tipp von Cybquest wollte ich haben, nicht mehr und nicht weniger!! Wenn du dir die kompletten Beiträge mal angeschaut hättest, hättest du gesehen das mir hier keiner mein komplettes Skript geschrieben hat. Vielleicht habe ich Ansätze kopiert aber die Anpassungen und Erweiterungen habe ich selber gemacht. (Dafür ist ein Forum wohl da) Und mit "mach mir mal eben "habe ich mit keinem Ton erwähnt, da bist du auf einem Irrweg oder ich habe mich Falsch ausgedrückt. Wenn letzteres, Entschuldige bitte ich wollte dich nicht in deinem Stolz verletzen. Gruß Evoco Zitieren Link zu diesem Kommentar
Zearom 10 Geschrieben 11. Dezember 2008 Melden Teilen Geschrieben 11. Dezember 2008 mei, mei, mein ruhig Blut jungs. Das ist doch alles halb so dramatisch. Macht doch aus ner Maus keine Elefanten... :cool: Also das Problem beim Editieren ist halt das nicht einfach pur ins AD puschen kannst, wie bei einem Create, sondern das du wissen musst wo das LDAP-Object sich befindet. Das heist du musst erstmal das Object suchen wo du damals das Object angelegt hast, sprich du musst nach einem Schlüssel deiner Wahl suchen. Oder du weist anhand des vorher defintierten CN's bzw daraus aufgebauten DN's wo der Eintrag liegt. was die sache etwas einfacher macht. Dann ziehst du mittels dem Get das Object aus dem LDAP und kannst die Felder wie gewohl mit neuen Werten belegen und am Ende zurückspeichern. Dann hättest du dein Ziel erreicht. Bei größeren Listen wird sowas schnell kompliziert, und viele "bastel"-Lösungen jammern schon wenn plötzlich zwei Hans Müller als Objects ins AD gepuscht werden sollen, da wird die Synchronisieren lustig wenn man keinen eindeutigen Identifier mehr hat :P aber naja, viel Spass beim Bauen :) Zitieren Link zu diesem Kommentar
Evoco 10 Geschrieben 11. Dezember 2008 Autor Melden Teilen Geschrieben 11. Dezember 2008 mei, mei, mein ruhig Blut jungs. Das ist doch alles halb so dramatisch. Macht doch aus ner Maus keine Elefanten... :cool: Also das Problem beim Editieren ist halt das nicht einfach pur ins AD puschen kannst, wie bei einem Create, sondern das du wissen musst wo das LDAP-Object sich befindet. Das heist du musst erstmal das Object suchen wo du damals das Object angelegt hast, sprich du musst nach einem Schlüssel deiner Wahl suchen. Oder du weist anhand des vorher defintierten CN's bzw daraus aufgebauten DN's wo der Eintrag liegt. was die sache etwas einfacher macht. Dann ziehst du mittels dem Get das Object aus dem LDAP und kannst die Felder wie gewohl mit neuen Werten belegen und am Ende zurückspeichern. Dann hättest du dein Ziel erreicht. Bei größeren Listen wird sowas schnell kompliziert, und viele "bastel"-Lösungen jammern schon wenn plötzlich zwei Hans Müller als Objects ins AD gepuscht werden sollen, da wird die Synchronisieren lustig wenn man keinen eindeutigen Identifier mehr hat :P aber naja, viel Spass beim Bauen :) Danke, für die Info Jippi!! ich habe es schon mal hinbekommen das er vorhandene Einträge modifiziert. Dies Funktioniert ohne Probleme. Wo ich jetzt noch Schwierigkeiten habe, ist die Abfrage (Function) wenn er sieht das der Kontakt schon besteht ihn modifiziert also in die Schleife modifizieren springt und genauso anders herum wenn er sieht das der Kontakt noch nicht besteht ihn erstellt, also in die Schleife erstellen springt. Kann man eigentlich Fehlermeldungen nutzen um dies Funktion zu haben? Oder gibt es dafür eine einfache Funktion? Ich traue mich fast nicht zu Fragen, habt ihr da noch einen Tipp Gruß Evoco Zitieren Link zu diesem Kommentar
Zearom 10 Geschrieben 11. Dezember 2008 Melden Teilen Geschrieben 11. Dezember 2008 Find all users (VBScript) - Active Directory Cookbook, 2nd edition schau mal hier, an hand eines LDAP-Ausdrucks wird ein User im AD-gesucht. Dort kannst du dann den DN auslesen und ggf zum editieren nutzen. So ein recordset müsste auch ein count oder lenght feld haben und die anzahl der einträge herauszubekommen. Ich bin in VBS nicht wirklich fit, der .Net weg ist mir persönlich auch bei solchen rumspringereien echt lieber :) (mir persönlich!) Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 11. Dezember 2008 Melden Teilen Geschrieben 11. Dezember 2008 Kann man eigentlich Fehlermeldungen nutzen um dies Funktion zu haben? Oder gibt es dafür eine einfache Funktion? Zwar nicht der sauberste aber manchmal der einfachste Weg ;) Also erst mit einem "Get" versuchen, das Objekt zu öffnen und bei einem Fehler dann zum "Create" springen. Zitieren Link zu diesem Kommentar
Evoco 10 Geschrieben 12. Dezember 2008 Autor Melden Teilen Geschrieben 12. Dezember 2008 Ja die einfachste Lösung ist zwar nicht immer die schönste aber bei mir als Newbie reicht mir die einfache Lösung hauptsache es funktioniert. Hättest du da nochmal ein Beispeil für mich wie so was aussieht? Ich dachte man könnte es über if test = 0 then 'user existiert nicht function user_exists(mailaddy) user_exists = 1 end function machen aber ich habe es so noch nicht hinbekommen. Gruß Evoco Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 12. Dezember 2008 Melden Teilen Geschrieben 12. Dezember 2008 Like this: on error resume next err.clear Set objRootLDAP = GetObject("LDAP://rootDSE") set objUser = GetObject("LDAP://" & strCN & "," & objRootLDAP.Get("DefaultNamingContext")) if err <> 0 then ' Kontakt gibts nicht, also neu anlegen else ' Kontakt gibts, also bearbeiten end if Gruß, Frank if test = 0 then 'user existiert nicht function user_exists(mailaddy) user_exists = 1 end function Was wolltest du eigentlich mit diesen, recht sinnfreien Codefragmenten, sagen? :) Zitieren Link zu diesem Kommentar
Evoco 10 Geschrieben 12. Dezember 2008 Autor Melden Teilen Geschrieben 12. Dezember 2008 Supi danke, ich teste das mal, melde mich noch. Naja die recht sinnfreien Codefragmente waren mein Ansatz :D aber dabei ist es scheinbar geblieben. Nur das du siehst das ich es auch versuche :wink2: Danke Gruß Evoco 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.