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

AD User Vorname Nachname mit Script eintragen

Frage Microsoft Windows Server

Mitglied: TheELdar

TheELdar (Level 1) - Jetzt verbinden

25.09.2006, aktualisiert 06.12.2006, 6668 Aufrufe, 6 Kommentare

Hallo Leute,
ich suche mir beim Tippen in Google schon länger die Finger wund und versuche nun hier Hilfe zu bekommen.

Ich möchte aus einer Access Datenbank Herraus User im AD 2003 anlegen. Das klappt auch soweit ganz gut. Nur scheitere ich beim Eintrage von Vorname und Nachname da bekomme ich immer wieder die Fehlermeldung Automatisierungsfehler.

CODE:
Sub BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Dim ouo, b
Set ouo = GetObject("LDAP://OU=XXX,DC=XXX,DC=XXX")
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname)

b.Put "sAMAccountName", Benutzer
b.Put "userPrincipalName", Benutzer & "@XXX.XXX"
b.Put "displayName", Vorname & " " & Nachname

b.SetInfo
b.SetPassword Passwort
b.AccountDisabled = False
b.SetInfo

End Sub

Das Script legt den User richtig in der AD an aber leider ohne Vornamen und so. Wie kann ich sowas eintragen oder wo liegt mein Fehler, dass er im Code von oben den "displayName" nicht einträgt.

Danke für die Hilfe.
Mitglied: DaSam
25.09.2006 um 18:12 Uhr
Hi,

mach doch mal hinter jeder Property-Änderung ein b.SetInfo(), evtl. kann man den DisplayName erst setzen, wenn das Objekt tatsächlich exestiert.

BTW: Wenn Du schon Vor- und Nachnamen hast, warum setzt Du dann nicht auch die "SN" und "givenName"? Es gibt ja auch eine "Regel" im ADS, wie sich der Displayname aus SN und givenName zusammensetzt, wenn das Objekt erstellt wird ... das ist vielleicht auch der Grund, warum das Objekt evtl. vornaden sein muss ...

cu,
Alex
Bitte warten ..
Mitglied: TheELdar
25.09.2006 um 18:32 Uhr
Hallo,
b.SetInfo() ist eine Idee die ich morgen Ausprobieren werden wenn ich wieder auf die AD zugreifen kann.

Ich habe uach SN und givenName ausprobiert ohne Erfolg. Hatte zur Übersicht aber nur Displayname stehen lassen.
Bitte warten ..
Mitglied: TheELdar
26.09.2006 um 08:27 Uhr
Moin Moin Leute,
ich bin jetzt wieder seit 7 Uhr am Basteln und hatte kurz vor unserem AD Crash scheinbar Erfolg.

Set objParent = GetObject("LDAP://OU=xxx,DC=xxx,DC=xxx")
Set objUser = objParent.Create("user", "CN=" & Vorname & " " & Nachname)
objUser.Put "sAMAccountName", Benutzer
objUser.Put "userPrincipalName", Benutzer & "@xxx.xxx"
objUser.Put "givenName", Vorname & ""
objUser.Put "sn", Nachname & ""
objUser.Put "displayName", Nachname & " " & Vorname
objUser.SetInfo
objUser.SetPassword (Passwort)
objUser.AccountDisabled = False
objUser.SetInfo

Ich habe einfach in meiner Verzweiflung die Variablen durch "XXX" Ersetzt und damit hatte ich Erfolg. Ist nur noch die Frage warum Variablen nicht Einzeln akzeptiert werden.
Bitte warten ..
Mitglied: DaSam
26.09.2006 um 11:15 Uhr
Hi,

stehen in den Variablen auch wirklich ausschliesslich gültige Zeichen drin (kein CR/LF, keine NULL-Zeichenketten)?

Ganz blöd probiert: Klammere doch mal die Zeichenketten-Funktionen (Vorname & " " & Nachname) ... wer weis

cu,
Alex
Bitte warten ..
Mitglied: Bitsqueezer
06.12.2006 um 10:17 Uhr
Hallo !

ich hatte gestern genau das gleiche Problem, konnte es beheben, indem ich die Variableninhalte mit einem "CStr" umklammert habe. Hierbei wird ein String, wie in C üblich, mit NULL terminiert.
Danach klappt es mit allen Werten.

In Deinem Code müßte es also sein:

Set objParent = GetObject("LDAP://OU=xxx,DC=xxx,DC=xxx")
Set objUser = objParent.Create("user", "CN=" & Vorname & " " & Nachname)
objUser.Put "sAMAccountName", CStr(Benutzer)
objUser.Put "userPrincipalName", CStr(Benutzer & "@xxx.xxx")
objUser.Put "givenName", CStr(Vorname)
objUser.Put "sn", CStr(Nachname)
objUser.Put "displayName", CStr(Nachname & " " & Vorname)
objUser.SetInfo
objUser.SetPassword (Passwort)
objUser.AccountDisabled = False
objUser.SetInfo

Viele Grüße

Christian
Bitte warten ..
Mitglied: Bitsqueezer
06.12.2006 um 10:17 Uhr
Hallo !

ich hatte gestern genau das gleiche Problem, konnte es beheben, indem ich die Variableninhalte mit einem "CStr" umklammert habe. Hierbei wird ein String, wie in C üblich, mit NULL terminiert.
Danach klappt es mit allen Werten.

In Deinem Code müßte es also sein:

Set objParent = GetObject("LDAP://OU=xxx,DC=xxx,DC=xxx")
Set objUser = objParent.Create("user", "CN=" & Vorname & " " & Nachname)
objUser.Put "sAMAccountName", CStr(Benutzer)
objUser.Put "userPrincipalName", CStr(Benutzer & "@xxx.xxx")
objUser.Put "givenName", CStr(Vorname)
objUser.Put "sn", CStr(Nachname)
objUser.Put "displayName", CStr(Nachname & " " & Vorname)
objUser.SetInfo
objUser.SetPassword (Passwort)
objUser.AccountDisabled = False
objUser.SetInfo

Viele Grüße

Christian
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
Excelsheet gesperrt durch nicht mehr vorhandenen AD-User (5)

Frage von Dopamin85 zum Thema Microsoft Office ...

Exchange Server
gelöst AD User lässt sich nicht im Public Calendar hinzufügen (6)

Frage von Brigomaglos zum Thema Exchange Server ...

Windows Server
gelöst AD-User einer AD-Gruppe auslesen und in ein File schreiben (15)

Frage von Estefania zum Thema Windows Server ...

Windows Server
gelöst Wie AD User sauber löschen? (34)

Frage von McLion zum Thema Windows Server ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...