muriel
Goto Top

AD Userdaten mit Daten aus SQL DB updaten -on fly-

Hallo Zusammen,

ich stehe zur Zeit vor der Aufgabe, ein Programm zu realisieren, mit dem ich Daten aus einer SQL DB auslesen und damit dirket (on-fly quasi) das Active Directroy updaten kann.

geplanter Verlauf:
- Mein Programm startet
- Das Programm liest die Datensätze der SQL DB aus (cursor/fetch vllt)
- jede gelesene Zeile soll in das AD an die entsprechende Stelle eingefügt werden (alle User sind bereits vorhandeln, es gibt immer nur updates)


Mein Problem:
Die MicrosoftSkripte befassen sich meist nur mit der Änderung eines bestimmten Attributes in einen fixen Wert, innerhlab des ADs. Bei mir müsste das Skript aber variable Werte (die aus der DB ausgelesen wurden) händeln können.
Und ich finde zur Zeit nicht den richtigen Ansatz (Codebespiel), wie ich die Aufgaben lösen könnte.

Könnt ihr mir dabei weiterhelfen?? Mit einem Beispiel zum Beispiel wie ich die beiden unterschiedlichen DBs anspreche. Bzw. was ich beim AD alles beachten muss.

ich bin dankebar für jedliche Art von Hilfe.

LG Muriel

Content-ID: 64455

Url: https://administrator.de/contentid/64455

Ausgedruckt am: 23.11.2024 um 12:11 Uhr

AndreasA
AndreasA 23.07.2007 um 12:00:37 Uhr
Goto Top
Moin Muriel

geplanter Verlauf:
- Mein Programm startet
- Das Programm liest die Datensätze der SQL DB aus (cursor/fetch vllt)
Wie ist denn so ein Datensatz aufgebaut???

- jede gelesene Zeile soll in das AD an die entsprechende Stelle eingefügt werden
(alle User sind bereits vorhandeln, es gibt immer nur updates)
Na damit hättest du doch zumindest einen Ansatz für das AD-Objekt = Username

Mein Problem:
Die MicrosoftSkripte befassen sich meist nur mit der Änderung eines bestimmten
Attributes in einen fixen Wert, innerhlab des ADs. Bei mir müsste das Skript aber
variable Werte (die aus der DB ausgelesen wurden) händeln können.
Wie gesagt ohne genaue Kenntnis deiner DB-Struktur läßt sich nur vermuten, wie dir auf die Sprünge zu helfen ist. Am ehesten ist machbar wäre so ein Script, wenn du eine feste Anzahl an Objekteigenschaften in deiner Datenbank hättest.
Und ich finde zur Zeit nicht den richtigen Ansatz (Codebespiel), wie ich die Aufgaben
lösen könnte.
Beantworte erst mal obige Fragen, sonst gehts kaum.

Könnt ihr mir dabei weiterhelfen?? Mit einem Beispiel zum Beispiel wie ich die
beiden unterschiedlichen DBs anspreche. Bzw. was ich beim AD alles beachten muss.
Prinzipiell hast du doch die MS-Scripte zum ändern eines Users schon da. Du müsstest mit einem Script nur eine Zuordnung der Datensätze zu den Objekteigenschaften realisieren. D.h. du musst dir einen Variablensatz für die Objekteigenschaften definieren und je nach Aufbau deiner DB entsprechnede SQL-Abfragen generieren zum Umsetzen dieser Zuordnung.

ich bin dankebar für jedliche Art von Hilfe.

LG Muriel

Wir tun was wir können face-wink

Gruß Andreas
Muriel
Muriel 24.07.2007 um 10:01:00 Uhr
Goto Top
Guten morgen face-smile

Also ich VERSUCHE mal alle deine Fragen zu beantworten:

Wie ist denn so ein Datensatz aufgebaut???

Es sind Userdaten aus einer SQL DB, maximal aus zwei Tabellen. Also tbl1 beinhaltet z.B. Nachname, Vorname, UserID
und tbl2 hat noch Zusätze zu dem User, wie Strasse, Ort, Telefon

im AD geht es um die Userverwaltung. Sprich von mir festgelegte Objekteigenschaften sollen geupdatet werden , wie der Name, die ASdresse und die Telefonnummer..,


Wie gesagt ohne genaue Kenntnis deiner
DB-Struktur läßt sich nur
vermuten, wie dir auf die Sprünge zu
helfen ist. Am ehesten ist machbar wäre
so ein Script, wenn du eine feste Anzahl an
Objekteigenschaften in deiner Datenbank
hättest.

?

Beantworte erst mal obige Fragen, sonst
gehts kaum.

bin fleißig dabei ;)

Prinzipiell hast du doch die MS-Scripte zum
ändern eines Users schon da. Du
müsstest mit einem Script nur eine
Zuordnung der Datensätze zu den
Objekteigenschaften realisieren. D.h. du
musst dir einen Variablensatz für die
Objekteigenschaften definieren und je nach
Aufbau deiner DB entsprechnede SQL-Abfragen
generieren zum Umsetzen dieser Zuordnung.

Das trifft es wohl ganz gut als Zusamemnfassung. Aber ich habe die MS-Scripte nicht vorliegen. Meine Aufgabe ist es solch ein Skript zu schreiben.... face-sad


Danke.. LG Muriel
AndreasA
AndreasA 24.07.2007 um 13:15:00 Uhr
Goto Top
Moin Muriel

Es sind Userdaten aus einer SQL DB, maximal aus zwei Tabellen. Also tbl1 beinhaltet z.B.
Nachname, Vorname, UserID und tbl2 hat noch Zusätze zu dem User, wie Strasse, Ort, Telefon

Na damit hast du doch den festen Varaiblensatz den ich meinte face-wink

im AD geht es um die Userverwaltung. Sprich von mir festgelegte Objekteigenschaften
sollen geupdatet werden , wie der Name, die ASdresse und die Telefonnummer..,

Genau und wie man das machen kann steht ausführlich im Scripting-Handbuch von MS beschrieben. Dort findest du auch in der Abb. 5.5 deine gewünschten Objekteigenschaften, die du dann in deinem Script über Variablenzuweisung setzen musst.

Das trifft es wohl ganz gut als Zusamemnfassung. Aber ich habe die MS-Scripte
nicht vorliegen. Meine Aufgabe ist es solch ein Skript zu schreiben.... face-sad

Beispiel Scripte findest du auch in der Technet Using VBScript und ADSI. Das einzige was du für dich erarbeiten musst, ist folgendes:
Generiere mit deinem Script per SQL-Abfragen die erforderlichen Variablen für die Objekteigenschaften des zu ändernden AD-Users

Hier mal ins blaue wie du vorgehen solltest:
  1. Wie gesagt bevor du dich ans Programmieren setzt studiere diese beiden Links erst mal ausführlich und du wirst sehen so schwer is das gar nicht face-wink
  2. Erstelle dir erst einmal Beispiel Scripte für das Setzen von Eigenschaften eines Benutzers
  3. Teste diese Scripte mit festen Werten für Testuser (ausserhalb deiner DB)
  4. Erstelle dir ein Script mit SQL-Abfragen auf deine Tabellen für 1 (!!!) Datensatz und weise die Ergebnisse jeweils Variablen zu (diese Sollten den Objekteigenschaften entsprechen zum leichteren Wiederfindenface-wink)
  5. Nimm dein Testscript (siehe 3.) und ändere die festen Objekteigenschaften durch die Variablen aus der SQL-Abfrage

So damit solltest du das Grundgerüst auch schon haben. Jetzt gehts schon ans eingemachte.
  • Plan erstellen wann, wie oft, was geändert werden soll an Objekteigenschaften
  • Überlegung ob der ganze Datensatz ausgelesen werden soll oder nur geänderte Daten
  • Je nachdem wie du dich entschieden hast wird nun dein richtiges Script mehr oder weniger aufwendig in der Programmlogik face-wink
  • Je nach Plan kannst du nun mit Zeitgesteuerter Wiederholung (automatischer Task) deines Grundscriptes arbeiten oder du musst dir z.B. über eine dynamische Differenz-Tabelle behelfen die dann dein Script ausführt

Nu haste erstmal ne Menge Stoff zum "Arbeiten"
Falls du dann noch Fragen hast meld dich einfach wieder. Allerdings bin ich in SQL nich so bewandert. (Ich selbst arbeite über ein Script das aus einer Excel-Tabelle neue User generiert
nach MSDN-Anleitung

Schwierig wird es dann erst, wenn deine User auch noch in verschiedenen OU's liegen und vielleicht auch noch doppelte Namen vorkommen. Wie gesagt mit festen Zuordnungen sollte aber erstmal dir geholfen sein face-wink

Viel Spass

Gruß Andreas
Muriel
Muriel 24.07.2007 um 15:32:55 Uhr
Goto Top
Vielen Lieben Dank!

Ich werde das alles mal durchgehen.. die Links sind auf jedenfall hilfreich, das hab ich schon gesehen...

Melde mich dann wieder ;)