Top-Themen

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

Script zur Autogenerierung von Usern im ADS unter W2K3 Server

Mitglied: Rakeem2001

Rakeem2001 (Level 1) - Jetzt verbinden

25.08.2005, aktualisiert 13.03.2007, 6279 Aufrufe, 8 Kommentare

Servus,

ich falle gleich mal mit der Tür ins Haus, ich soll für einen W2K3 Server Testuser erstellen, allerdings nicht 10 oder 20, sondern 1000. Darum wollte ich fragen, ob jemand irgendeine Idee zu diesem Thema hat, habe sowas leider noch nie vorher gemacht und wüßte eben gerne, ob man das ganze per Script lösen kann...
Ich brauche diese Menge an User um ein Tool zu testen, welches das ADS ausliest und gegebenfalls Daten wiederherstellt.

Hoffe mir kann jemand weiterhelfen.

THX im vorraus

Gruß René
Mitglied: HedgeHog
25.08.2005 um 14:25 Uhr
Google sagt:

1. Teil user.txt
---
user1,Vorname 1,Nachname 1,pwd1
user2,Vorname 2,Nachname 2,pwd2
---

2. Teil - VB Script
---
Dim fso, f, Zeile, Feld
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile ("user.txt",1,0)

Do while not f.AtEndOfLine
Zeile = f.readLine
Feld = split(Zeile,",")
Benutzer = Feld(0)
Vorname = Feld(1)
Nachname = Feld(2)
Passwort = Feld(2)
Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort)
Loop
f.Close
Wscript.Quit(0)

Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort)
Dim ouo, b
Set ouo = GetObject("LDAP://OU=user,DC=domaene,DC=de")
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname)
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
b.Put "sAMAccountName", Benutzer
b.Put "userPrincipalName", Benutzer & "@domaene.de"
b.Put "profilePath", "\\server\daten\profile\" & Benutzer
b.Put "homeDirectory", "\\server\daten\home\" & Benutzer
b.Put "homeDrive", "U:"
b.SetInfo
b.SetPassword Passwort
b.AccountDisabled = False
b.SetInfo
WScript.Sleep(1000)
ret = WshShell.Run ("verz.cmd " & Benutzer,0,1)
End Sub

3. Teil - Verz.cmd
---
md \\server\daten\home\%1
echo J | cacls \\server\daten\home\%1 /C /E /G Administratoren:F
echo J | cacls \\server\daten\home\%1 /C /E /G domaene\%1:F
echo J | cacls \\server\daten\home\%1 /C /E /R Jeder
md \\server\daten\profile\%1
echo J | cacls \\server\daten\profile\%1 /C /E /G Administratoren:F
echo J | cacls \\server\daten\profile\%1 /C /E /G domaene\%1:F
echo J | cacls \\server\daten\profile\%1 /C /E /R Jeder
Bitte warten ..
Mitglied: Rakeem2001
26.08.2005 um 08:11 Uhr
Vielen Dank, ich hab zwar gestern auch gegoogelt aber nichts gefunden... Kenne mich einfach nicht genug in dieser Materie aus.

Nochmals Danke, werde ich gleich mal umsetzen!!!

THX
Bitte warten ..
Mitglied: Rakeem2001
29.08.2005 um 09:29 Uhr
So, jetzt war ich ja am Freitag so optimistisch, und nun habe ich doch noch ein ganz tolles Problem:
Beim ausführen bekomme ich eine System Exception und zwar an der Stelle, wo er die ouo LDAP Connection aufbauen will.
Liegt das nun daran das mir eine Komponente fehlt, oder habe ich was falsch gemacht... Ich habe allerdings jetzt alles in ein Form gepackt... Wahrscheinlich ist es meine Schuld.

Hier mein Quellcode:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fso, f, Zeile, Feld
fso = CreateObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("user.txt", 1, 0)

Dim Benutzer, Vorname, Nachname, Passwort
Do While Not f.AtEndOfLine
Zeile = f.readLine
Feld = Split(Zeile, ",")
Benutzer = Feld(0)
Vorname = Feld(1)
Nachname = Feld(2)
Passwort = Feld(2)
Call BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Loop
f.Close()
End Sub

Sub BenuntzerAnlegen(ByVal Benutzer, ByVal Vorname, ByVal Nachname, ByVal Passwort)
Dim ouo, b
ouo = GetObject("LDAP://OU=user,DC=domaene,DC=de")
b = ouo.Create("user", "CN=" & Vorname & " " & Nachname)
Dim WshShell, ret
WshShell = CreateObject("WScript.Shell")
b.Put("sAMAccountName", Benutzer)
b.Put("userPrincipalName", Benutzer & "@domaene.de")
b.Put("profilePath", "\\server\daten\profile\" & Benutzer)
b.Put("homeDirectory", "\\server\daten\home\" & Benutzer)
b.Put("homeDrive", "U:")
b.SetInfo()
b.SetPassword(Passwort)
b.AccountDisabled = False
b.SetInfo()
WshShell.Sleep(1000)
ret = WshShell.Run("verz.cmd " & Benutzer, 0, 1)
End Sub
Bitte warten ..
Mitglied: Biber
29.08.2005 um 10:12 Uhr
Moin Rakeem2001,

aber angepasst hast Du das Script an den Stellen OU, DC, DC schon?
also in z.B. diesen Zeilen
ouo = GetObject("LDAP://OU=user,DC=domaene,DC=de")
Da muss statt "domaene" natürlich "René's Firmendomäne") rein.

Nur dass wir wissen, was es für Fehler sein könnten.
Wenn es das nicht ist - wie ist denn die Fehlernummer / der Fehlertext genau?

Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Rakeem2001
29.08.2005 um 15:04 Uhr
Der genau Fehlertext ist:

System.Exception: ActiveX-Komponente kann nicht erstellt werden.
at Microsoft.VisualBasic.Interaction.GetObject(String PathName, String Class)
at WindowsApplication1.Form1.BenuntzerAnlegen(Object Benutzer, Object Vorname, Object Nachname, Object Passwort) in D:\Data\Visual Studio Projects\WindowsApplication1\Form1.vb:line 96
at WindowsApplication1.Form1.Button1_Click(Object sender, EventArgs e) in D:\Data\Visual Studio Projects\WindowsApplication1\Form1.vb:line 89
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Er hat also irgendwelche Probleme mit dem Active X... Ich habe leider selber keine Ahnung wieso das passiert.

Hoffe es kann mir jetzt noch jemand weiterhelfen!
Bitte warten ..
Mitglied: Rakeem2001
02.09.2005 um 08:34 Uhr
So, ich bedanke mich nochmals für die Hilfe, habe jetzt aber umdisponiert und habe nun mit dem Tool "ldifde", was standardmässig bei Windows Servern dabei ist (habe ich aber nicht gewußt, genauso wie der FISI... sind eben beide noch Azubis... und nun habe ich meine 1000 Testuser.

Falls es jemanden interessiert wie das geht, und da dieses Thema recht häufig gelesen wurde, hier mal ne kurze schnelle Erklärung:

Für jeden User braucht man folgenden Block an Daten:

dn: CN=toni1 meier1,OU=ZielOU,DC=Domänenname,DC=de
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: toni1 meier1
sn: meier1
givenName: toni1
distinguishedName: CN=toni1 meier1,OU=ZielOU,DC=Domänenname,DC=de
displayName: toni1 meier1
name: toni1 meier1
userPrincipalName: t1.meier1@Comtest.de
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=Domänenname,DC=de

Anschließend muss man sich nur noch die passende Menge in einer Datei (z.B. user.ldif) zusammenfassen, dabei jeden User per Leerzeile trennen und dann muss diese Datei, der Einfachheit halber, in den Dokumenten und EInstellungen des Administrators ablegen...

Dann noch schnell "ldifde -i -f user.ldif -s Servername" und dann werden die User schnell eingetragen, allerdings muss man sie dann noch im AD aktivieren.

So fertig.

THX René
Bitte warten ..
Mitglied: manni45
13.03.2007 um 15:59 Uhr
Hi
ich versuche auch dieses Script zum laufen zu bringen.
Bekomme aber am anfang schon diese meldung.
Windows Script Host
Skript: C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\user_anlegen_script\user.vbs
Zeile: 1
Zeichen: 40
Fehler: ')' erwartet
Code: 800A03EE
Quelle: Kompilierungsfehler in Microsoft VBScript

OK
Kenne mich mit VB nicht aus.

Kann jemmand Helfen

Danke
Manni
Bitte warten ..
Mitglied: Captnemo
07.02.2012 um 11:23 Uhr
Ich hol dieses Thread noch mal aus der Versenkung, weil ich mich gerade mit dieser Thematik auseinander setzen muß.

Das Script ist klasse und funktioniert wunderbar.

Usereinrichtung klappt, und anlegen im Exchange auch. Ich erstelle die Home- und Profilordner, gebe sie entsprechend frei und vergebe die Rechte. Klappt alles wunderbar.

Was mir noch fehlt ist eingentlich in dem Script nur, wie ich ein Anmeldescript mit im User eintragen kann. Hab so gar keine Idee wie das gehen könnte. Und wenn man das bei Google sucht, bekommt man tausend Seiten wie man VBS im Anmeldescript nutzt. Das interessiert mich aber nicht. Ich will ja das Anmeldescript im AD per VBS setzen.
Kann mir irgendwer eine Tipp geben wie es geht oder wo sowas steht? Bzw. wo finde ich eine Referenz für die in obigen Script angelegten Objecte b / ouo, wo die möglichen eigenschaften aufgelistet sind, die man setzen kann.

Danke für alles
Dieter
Bitte warten ..
Ähnliche Inhalte
Windows Server
Migration ADS von 2003 auf Server 2012
Frage von rel0aded0neWindows Server6 Kommentare

Hallo an alle :) Ich habe eine Frage zu einer Testumstellung an der ich gerade sitze. Ich habe folgende ...

Windows Server

Mit welcher GPO kann ich den Usern verbieten, dass sie sich am Server anmelden

gelöst Frage von KMP1988Windows Server12 Kommentare

Servus, bei einem Kundennetzwerk können sich User per RDP auf den Servern anmelden (Kein Terminal-Server). Wie kann ich den ...

Samba

Verknüpfung von ADS- und Linux Gruppen

gelöst Frage von 98500Samba19 Kommentare

Hey@ALL Folgende Frage. Ich habe in meinem ADS diverse Gruppen angelegt: Beispiel: - ADS_01_Leitung - ADS_02_Vertrieb - ADS_03_ Buchhaltung ...

Windows Server

Server 2012 RDS - Allen usern auf einen Rutsch "Standardprogramme festlegen"

Frage von dakiWindows Server

Hallo Forum, haben einen kleine TS-"Sammlung" mit 3 RDS-Servern. Erster ist der Broker, 140 Userkonten Internet Explorer soll durch ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 5 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 12 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 15 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...