Zum Inhalt wechseln


Foto

Viele Benutzer per Script anlegen


  • Bitte melde dich an um zu Antworten
201 Antworten in diesem Thema

#1 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 08. September 2003 - 19:28

Hallo

Ich möchte in einer Schule 400 Benutzer mit einem Script anlegen, ich hab in diesem Forum auch schon ein schönes Script gefunden (von thorgood), aber ich würde diese Benutzer gerne aus einem textfile importieren und auch das Passwort aus diesem Textfile auslesen lassen, hat das schon mal einer gemacht? Danke.

#2 thorgood

thorgood

    Moderator

  • 2.709 Beiträge

 

Geschrieben 08. September 2003 - 19:58

Hallo Thomas,

wie sieht denn die Struktur deines Textfiles aus.
Wie sind die Felder der Datensätze getrennt.

thorgood

#3 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 08. September 2003 - 20:03

Wow hab ich ein Glück das gerade du online bist thorgood :-)
Das Textfile gibt es noch nicht, ich denke aber am ehesten ein kommabasierendes Textfile, was meinst du?

#4 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 08. September 2003 - 20:08

Ich hab auch in meinen Unterlagen gesehen das man diese Textfiles mit einem Script und einer Loopbackfunktion auslesen kann, aber da kenn ich mich einfach zu wenig aus, vielleicht hast du ja einen Tipp.

#5 thorgood

thorgood

    Moderator

  • 2.709 Beiträge

 

Geschrieben 08. September 2003 - 20:18

Ich könnte dir morgen früh in der Firma ein angepasstes Script hier reinstellen.
Wenn du noch sagen könntest welche Benutzereigenschaften du anlegen willst
mach ich es soweit fertig das du nur noch deine lokalen Einstellungen eintragen musst.
Und ist das für AD oder eine NT 4 Domäne.

thorgood

#6 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 08. September 2003 - 20:26

Hey super, eigentlich ist es genau das erste Script das du schon einmal ins Forum geschrieben hast,
OU, Benutzername, Profilepfad, Homedirektory, Homedrive, und eben ganz wichtig das Passwort, wenn du vielleicht noch einen Tipp hättest wie man die Ordner für Profil und Homedirectory anlegen könnte bin ich dir echt was schuldig.
Der Server ist ein Win2003 DC.

#7 thorgood

thorgood

    Moderator

  • 2.709 Beiträge

 

Geschrieben 08. September 2003 - 20:52

Gerne, dann bis morgen.

thorgood

#8 brwic

brwic

    Member

  • 195 Beiträge

 

Geschrieben 09. September 2003 - 07:59

morgen ihr beiden,
ich waere auch sehr an dem skript interessiert. ansonsten schließe ich mich den danksagungen von thomas natuerlich an
Windows => Reboot

Linux => BE ROOT!:D

#9 thorgood

thorgood

    Moderator

  • 2.709 Beiträge

 

Geschrieben 09. September 2003 - 08:45

1. Teil eure 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
---

_______
thorgood

#10 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 09. September 2003 - 10:19

Hallo, danke für das Script, habs schon ausprobiert, aber es gibt leider noch ein Problem in Zeile19 Zeichen 1, ich weiß nicht was das sein könnte?

#11 thorgood

thorgood

    Moderator

  • 2.709 Beiträge

 

Geschrieben 09. September 2003 - 10:39

Hallo Thomas
wenn du den original Container Users verwenden willst und keine eigene OU muss dort stehen CN=Users

Sorry ich hab vergessen das dazu zu schreiben.

thorgood

#12 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 09. September 2003 - 12:10

Hallo Thorgood
Das Script läuft mit zwei Testbenutzern schon einwandfrei, ich musste nur ein paar kleine Modifikationen am Server ändern, einen genauen Bericht bekommst du heute Abend, danke schon mal im vorraus.

#13 zero7

zero7

    Newbie

  • 7 Beiträge

 

Geschrieben 10. September 2003 - 13:23

hallo thorgood!

hab ein problem mit deinem script:

benutze w2k-srv sp3 als dc für domain test.com; bin als admin angemeldet.

hab deine 3 scripts mit copy & paste in dateien gespeichert, mit den dateinamen wie in deinem script. wenn ich das script ausführe erhalte ich eine fehlermeldung dieser Art:

skript: c:\create-user.vbs
zeile 20
zeichen 1
Fehler 0x80005000
Code 80005000
Quelle (null)

hier der auszug des create_user.vbs - scripts
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 BenutzerAnlegen(Benutzer,Vorname,Nachname,Passwort)
Loop
f.Close
Wscript.Quit(0)

Sub BenutzerAnlegen(Benutzer,Vorname,Nachname,Passwort)
Dim ouo, b
set ouo = GetObject("LDAP://OU=users,DC=test,DC=com,") -->>ZEILE 20!!!
set b = ouo.Create("users", "CN=" & Vorname & " " & Nachname)
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
b.Put "sAMAccountName", Benutzer
b.Put "userPrincipalName", Benutzer & "@test.com"
b.Put "profilePath", "\\srv\profile\" & Benutzer
b.Put "homeDirectory", "\\srv\home\" & Benutzer
b.Put "homeDrive", "h:"
b.SetInfo
b.SetPassword Passwort
b.AccountDisabled = False
b.SetInfo
WScript.Sleep(1000)
ret = WshShell.Run ("verz.cmd " & Benutzer,0,1)
End Sub

#14 Thomas

Thomas

    Member

  • 141 Beiträge

 

Geschrieben 10. September 2003 - 21:15

Hallo Zero7

Vielleicht kann ich dir helfen, das Script läuft bei uns super, du mußt nur im Feld "Passwort = Feld(2)" eine 3 eintragen
und in Zeile 20 (19?) eine von dir selbst eingerichtete OU angeben oder den Parameter CN= verwenden (wie Thorgood eh schon geschrieben hat).
Ich hatte nur ein wenig Probleme mit meine 2003 Server, dort musste ich die Passwortrichtlinien entschärfen und auf den Verzeichnissen den Schreibschutz entfernen, Server 2003 ist da
ein bischen happig, die 400 Benutzer hatte ich in kürzester Zeit eingerichtet, also das Script ist ein absoluter Traum, danke noch mal Thorgood.

Thomas

#15 zero7

zero7

    Newbie

  • 7 Beiträge

 

Geschrieben 11. September 2003 - 06:16

hallo thomas! supergeil, geht jetzt. lesen sollte man können! *g*
die einzige frage die ich noch dazu habe ist, wie ich die kontoparameter (Benutzer muss Kennwort bei next Login ändern, Kennwort läuft nie ab...) mit dem Script aktivieren kann. vielleicht hat ja thorgood noch ne idee?

wo kann man den sowas nachlesen? gibts da ein gutes buch oder so was ähnliches?

danke schon mal euch beiden!