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

Frage Microsoft Windows Server

Script zur Autogenerierung von Usern im ADS unter W2K3 Server

Mitglied: Rakeem2001

Rakeem2001 (Level 1) - Jetzt verbinden

25.08.2005, aktualisiert 13.03.2007, 6266 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
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 2 StundenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 9 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 13 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...