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
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, 7276 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

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

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Informationen über AD-User auslesen (4)

Frage von Tungdal zum Thema Batch & Shell ...

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

Frage von conym18 zum Thema Windows Server ...

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

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...