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

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, 6759 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Vergleichen Name u Vorname mit Active Directory (5)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows Server
gelöst Benutzerobjekte im AD anpassen (9)

Frage von killtec zum Thema Windows Server ...

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

Frage von Dopamin85 zum Thema Microsoft Office ...

MikroTik RouterOS
gelöst Script - exportieren Hotspot user (4)

Frage von sebasscha zum Thema MikroTik RouterOS ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

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 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
gelöst Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (14)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...