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, 6643 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
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

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

Frage von Tungdal 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 ...