Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per VBS Benutzer in AD einfügen

Frage Entwicklung

Mitglied: ColdZero

ColdZero (Level 1) - Jetzt verbinden

31.05.2010, aktualisiert 18.10.2012, 2858 Aufrufe, 5 Kommentare

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):
01.
@echo off // Systemnachrichten nicht angezeigt 
02.
SET /P Benutzername=Benutzername: // Variable “Benutzer“ deklariert 
03.
SET /P Vorname=Vorname:		 // Variable “Vorname“ deklariert 
04.
SET /P Nachname=Nachname		 // Variable “Nachname“ deklariert 
05.
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):
01.
Set fso = CreateObject("Scripting.FileSystemObject") // Objekt wird erstellt um eine Textdatei zu öffnen 
02.
Set f = fso.OpenTextFile ("adduser.txt",1,0) // Textdatei wird geöffnet 
03.
Zeile = f.readLine // Liest Zeile für Zeile aus 
04.
Feld = split(Zeile,",") // Felder mit Komma getrennt 
05.
Benutzer = Feld(0) // Eingabefeld Loginname 
06.
Vorname = Feld(1) // Eingabefeld Vorname 
07.
Nachname = Feld(2) // Eingabefeld Nachname 
08.
f.Close // Datei wird geschlossen 
09.
Set ouo = GetObject("LDAP://CN=Users,DC=gruppe1,DC=local") // Öffnet Gruppe Users in der Domäne 
10.
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname) // Legt den User an 
11.
b.Put "sAMAccountName", Benutzer // Schreibt Benutzernamen ins AD 
12.
b.Put "displayName", Vorname & " " & Nachname // Schreibt den Anzeigenamen ins AD 
13.
b.Put "givenName", Vorname // Schreibt den Vorname ins AD 
14.
b.Put "sn", Nachname // Schreibt den Nachnamen ins AD 
15.
b.Put "userAccountControl", 66082 // PW läuft nicht ab 
16.
b.Put "userPrincipalName", Benutzer & "@gruppe1.local" // Anmeldename für Domäne 
17.
b.Put "pwdLastSet",0 // Benutzer muss PW bei Erstanmeldung selbst wählen 
18.
b.SetInfo // speichert die Informationen ab  
19.
b.AccountDisabled = False // Account des Benutzer ist aktiv 
20.
b.SetInfo // speichert die Informationen ab 
21.
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]
Mitglied: Snowman25
31.05.2010 um 11:40 Uhr
Gibt bereits zig Themen in diesem Forum mit genau dieser Problematik. Einfach mal die Forensuche bemühen!
Bitte warten ..
Mitglied: ColdZero
31.05.2010 um 11:45 Uhr
Moin,

habe ich aber nir das gefunden was ICH suche geschweigeden mir wurde nie angezeigt was ich brauche - kann auch sein das ich falsche suchbegriffe genutzt habe. Aber mehr als MySQL AD VBS was die schlagwörter sind - da spruckt er mir auch nicht genug aus.

Wenn du das SO gut weißt - kannst mir ja ein paar Links zukommen lassen, anstatt hier unfreundlich rumzumotzen ;)

Grüzdi
Bitte warten ..
Mitglied: Snowman25
31.05.2010 um 12:17 Uhr
Moin ColdZero,

Codeschnipsel bitte immer mit <co‍de> und </co‍de> 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
Bitte warten ..
Mitglied: Edi.Pfisterer
31.05.2010, aktualisiert 18.10.2012
Hallo!
Schau mal hier
Kollege Kolouschki freut sich sicher, wenn er Dir helfen kann!!!

gutes gelingen
lg
Edi
Bitte warten ..
Mitglied: ColdZero
01.06.2010 um 08:38 Uhr
Moin Moin,

wunderbar sieht sehr gut aus! Werde mal ein wenig rumschnipseln und hoffen das es geht.

Gruß Zero
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
Windows Server 2012 R2 Benutzerkonto für Zugriff auf AD Benutzer (1)

Frage von JulianOhm zum Thema Windows Server ...

Windows Server
AD Bestimmten Benutzer (Hilfsadmin) nur Zugriff auf eine OU geben (1)

Frage von conym18 zum Thema Windows Server ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...