Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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
GELÖST

Informationen auslesen und damit Benutzer im AD erstellen.

Frage Entwicklung VB for Applications

Mitglied: depravity

depravity (Level 1) - Jetzt verbinden

22.07.2010 um 08:11 Uhr, 7484 Aufrufe, 6 Kommentare

Hallo,

ich habe in der Schule die Aufgabe bekommen ein VBscript zu schreiben, welches zunächst verschiedene Benutzerinformationen aus einer SQL-Datenbank ausliest. Mit diesen Benutzerinformationen sollen über eine Schleife die Benutzer im Acitve Directory angelegt werden. Das Script habe ich soweit erstellt. Nur leider bekomme ich immer wieder die Fehlermeldung aus Zeile 20 "Es wurde eine ungültige dn-Syntax angegeben." Ich hoffe ihr könnt mir etwas Hilfestellung zu diesem Problem zukommen lassen.

Hier der Quellcode:

strConnection ="dbzugriff"
Set adoDataConn= CreateObject("ADODB.Connection")
adoDataConn.open strConnection
strQuery= "SELECT * FROM benutzerneu;"
Set query = adoDataConn.execute(strQuery)
strPfad = "LDAP://192.168.1.1/ou=test,dc=schule"
strAdmin = "cn=Administrator,cn=Users,dc=schule"
pwd= InputBox("Bitte geben Sie das Administratorkennwort ein:","Authentifizierung","Passwort")
Set adsNamenraum = GetObject("LDAP:")
Set adsContainer = adsNamenraum.openDSObject(strPfad,strAdmin,pwd,0)
Do While Not query.eof
benutzername = CStr(query.fields.item("benutzername"))
vorname = CStr(query.fields.item("vorname"))
nachname = CStr(query.fields.item("nachname"))
passwort = CStr(query.fields.item("passwort"))
beschreibung = CStr(query.fields.item("beschreibung"))
Set adsUser = adsContainer.Create("user", benutzername)
bla = "cn=" & benutzername
adsUser.put "sAMAccountName", bla
adsUser.setInfo
adsUser.accountDisabled = false
adsUser.sn = nachname
adsUser.givenName = vorname
adsUser.description = beschreibung
adsUser.setPassword passwort
adsUser.setInfo
query.moveNext 'Nächster Antwortdatensatz
MsgBox "Der Benutzer " & benutzername & "wurde erfolgreich angelegt."
Loop
query.close

Grüße depra
Mitglied: bastla
22.07.2010 um 09:44 Uhr
Hallo depravity und willkommen im Forum!

Unter der Annahme, dass im Feld "benutzername" kein"cn=" enthalten ist, würde ich die Zeilen 17 bis 19 (ließen sich übrigens bei Verwendung von "Code"-Formatierung leichter lokalisieren) auf
01.
bla = "cn=" & benutzername 
02.
Set adsUser = adsContainer.Create("user", bla) 
03.
adsUser.put "sAMAccountName", benutzername
ändern ...

Grüße
bastla
Bitte warten ..
Mitglied: depravity
22.07.2010 um 10:34 Uhr
Hallo,

genau das war der Fehler an dieser Stelle. Dankeschön für den Tipp.

Einziges Problem was jetzt noch besteht ist dass das Script bei der Quellcodezeile
"adsUser.setPassword passwort"
die Fehlermeldung "Mindestens ein Eingabeparameter ist ungültig" ausgibt.

Der Befehl an sich müsste doch richtig sein und wenn ich die Variable "Passwort" ausgeben lasse stimmt auch alles.

Grüße
depra
Bitte warten ..
Mitglied: depravity
22.07.2010 um 14:08 Uhr
Hab den Fehler gefunden. Das Script läuft nun durch.
Nochmals dankeschön für die Hilfe!

Grüße
depra
Bitte warten ..
Mitglied: bastla
22.07.2010 um 14:29 Uhr
Hallo dapravity!
Hab den Fehler gefunden.
Auch dafür sollst Du ja üben ...

Woran lag's denn?

Grüße
bastla
Bitte warten ..
Mitglied: depravity
22.07.2010 um 14:46 Uhr
Also ich vermute dass die Passwörter aus der Datenbank nicht den Vorgaben aus der Default Domain Policy entsprochen haben. Nachdem ich dann etwas längere Passwörter verwendet habe ging es. Allerdings habe ich jetzt das Problem, dass die Fehlermeldung nach dem ersten Schleifendurchlauf erneut auftritt. Der erste Benutzer wird ohne Probleme angelegt und beim zweiten Benutzer bricht das Script bei adsUser.setPassword ab. Warum es das tut, daran rätsel ich gerade noch.

Grüße
depra
Bitte warten ..
Mitglied: RedRabbit
23.07.2010 um 07:19 Uhr
// edit sagt, meine Idee war Blödsinn. Sorry fürs posten.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst AD-Benutzer per Shell auslesen und vergleichen (8)

Frage von ReneBue zum Thema Batch & Shell ...

Windows Server
gelöst Account-Sperrungen eines AD-Users auslesen (2)

Frage von MissJones zum Thema Windows Server ...

Windows Userverwaltung
gelöst AD-Benutzer löschen (3)

Frage von Peterz zum Thema Windows Userverwaltung ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (27)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...