Per VBS Benutzer in AD einfügen
Anfänger in sachen VBS!
Moin Moin,
den Unten stehenden Quelltext habe ich bereits bekommen gehabt und soll diesen nun wie folgt erweitern.
1. das aus einer CSV Datei die Benutzer in der AD angelegt werden.
2. Aus einer MySQL Datenbank.
Hierbei soll sichergestellt werden:
- das benutzer nicht Doppelt angelegt werden
- wenn ein Benutzer in der AD steht aber nicht in der DB das dieser nicht gelöscht wird
- OUs angelegt werden wenn diese noch nicht existieren.
Was diese beiden Punkte angeht komme ich nicht weiter - habe bei einer bekannten Suchmaschine auch schon geforscht und nichts gefunden. Denke hier gibt es einige die mir weiterhelfen könnten.
Hintergrund der ganzen geschichte ist das mein Cheffe beide Varianten haben will da er noch nicht weiß wie er es handhaben will.
Global über eine MySQL oder Lokal für das wir Admins das direkt einfach Administrieren und diese CSV datei bei uns aufm Server rumliegt.
Kommentierung des Quelltext (ADDUSER.BAT):
ADDUSER.VBS // Ausführung des Scripts
Kommentierung des Quelltext (ADDUSER.VBS):
Danke für Eure hilfe.
Gruß Zero
[Edit Biber] Die beide Copy&paste-Schnipsel in Codetags gesetzt, weil jeder Kommentarmarker (Doppelslash) zu einer Textformatierungsanweisung Kursivtext ein/aus geführt hat. [/Edit]
Moin Moin,
den Unten stehenden Quelltext habe ich bereits bekommen gehabt und soll diesen nun wie folgt erweitern.
1. das aus einer CSV Datei die Benutzer in der AD angelegt werden.
2. Aus einer MySQL Datenbank.
Hierbei soll sichergestellt werden:
- das benutzer nicht Doppelt angelegt werden
- wenn ein Benutzer in der AD steht aber nicht in der DB das dieser nicht gelöscht wird
- OUs angelegt werden wenn diese noch nicht existieren.
Was diese beiden Punkte angeht komme ich nicht weiter - habe bei einer bekannten Suchmaschine auch schon geforscht und nichts gefunden. Denke hier gibt es einige die mir weiterhelfen könnten.
Hintergrund der ganzen geschichte ist das mein Cheffe beide Varianten haben will da er noch nicht weiß wie er es handhaben will.
Global über eine MySQL oder Lokal für das wir Admins das direkt einfach Administrieren und diese CSV datei bei uns aufm Server rumliegt.
Kommentierung des Quelltext (ADDUSER.BAT):
@echo off // Systemnachrichten nicht angezeigt
SET /P Benutzername=Benutzername: // Variable “Benutzer“ deklariert
SET /P Vorname=Vorname: // Variable “Vorname“ deklariert
SET /P Nachname=Nachname // Variable “Nachname“ deklariert
echo %benutzername%,%vorname%,%nachname% > adduser.txt // Die Eingaben werden in die Datei adduser.txt geschrieben
ADDUSER.VBS // Ausführung des Scripts
Kommentierung des Quelltext (ADDUSER.VBS):
Set fso = CreateObject("Scripting.FileSystemObject") // Objekt wird erstellt um eine Textdatei zu öffnen
Set f = fso.OpenTextFile ("adduser.txt",1,0) // Textdatei wird geöffnet
Zeile = f.readLine // Liest Zeile für Zeile aus
Feld = split(Zeile,",") // Felder mit Komma getrennt
Benutzer = Feld(0) // Eingabefeld Loginname
Vorname = Feld(1) // Eingabefeld Vorname
Nachname = Feld(2) // Eingabefeld Nachname
f.Close // Datei wird geschlossen
Set ouo = GetObject("LDAP://CN=Users,DC=gruppe1,DC=local") // Öffnet Gruppe Users in der Domäne
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname) // Legt den User an
b.Put "sAMAccountName", Benutzer // Schreibt Benutzernamen ins AD
b.Put "displayName", Vorname & " " & Nachname // Schreibt den Anzeigenamen ins AD
b.Put "givenName", Vorname // Schreibt den Vorname ins AD
b.Put "sn", Nachname // Schreibt den Nachnamen ins AD
b.Put "userAccountControl", 66082 // PW läuft nicht ab
b.Put "userPrincipalName", Benutzer & "@gruppe1.local" // Anmeldename für Domäne
b.Put "pwdLastSet",0 // Benutzer muss PW bei Erstanmeldung selbst wählen
b.SetInfo // speichert die Informationen ab
b.AccountDisabled = False // Account des Benutzer ist aktiv
b.SetInfo // speichert die Informationen ab
Wm{Beispiel eines Zugriffs auf das AD.odt}
Danke für Eure hilfe.
Gruß Zero
[Edit Biber] Die beide Copy&paste-Schnipsel in Codetags gesetzt, weil jeder Kommentarmarker (Doppelslash) zu einer Textformatierungsanweisung Kursivtext ein/aus geführt hat. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 143857
Url: https://administrator.de/contentid/143857
Ausgedruckt am: 05.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Moin @ColdZero,
Codeschnipsel bitte immer mit <code> und </code> umranden
Als erstes würe ich dir empfehlen, alle Eingabeformen auf das gleiche Zwischenergebnis (einheitliches Format) zu bringen (adduser.txt).
die
Ansonsten:
CSV-Dateien lassen sich dank immer gleichen Formats prima über eine FOR-Schleife parsen. MySQL-Statements ließen sich über ein entsprechendes VBS richtig formatieren.
Für dein problem mit existenten/ nicht existenten OUs: Prüfe einfach kurz, ob das Object, auf welches du zugreiffen möchtest auch vorhanden ist. Wenn nicht: -> erstellen!
Gruß
Snow
Codeschnipsel bitte immer mit <code> und </code> umranden
Als erstes würe ich dir empfehlen, alle Eingabeformen auf das gleiche Zwischenergebnis (einheitliches Format) zu bringen (adduser.txt).
die
adduser.txt
der manuellen Eingabe per Batch ist ja schon CSV-ähnlich. Je nach Formatierung der CSV kannst du die Einträge direkt übernehmen.Ansonsten:
CSV-Dateien lassen sich dank immer gleichen Formats prima über eine FOR-Schleife parsen. MySQL-Statements ließen sich über ein entsprechendes VBS richtig formatieren.
Für dein problem mit existenten/ nicht existenten OUs: Prüfe einfach kurz, ob das Object, auf welches du zugreiffen möchtest auch vorhanden ist. Wenn nicht: -> erstellen!
Gruß
Snow
Hallo!
Schau mal hier
Kollege Kolouschki freut sich sicher, wenn er Dir helfen kann!!!
gutes gelingen
lg
Edi
Schau mal hier
Kollege Kolouschki freut sich sicher, wenn er Dir helfen kann!!!
gutes gelingen
lg
Edi