Jump to content

Viele Benutzer per Script anlegen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

In dem Vorliegenden Script in diesem thread einfach dahinter legen ... für Gruppererstellung müsste ich nochmal schauen. hier kannst du aber schön die Memberof - Sachen mit machen.

DommainString = Servername

Groupestring = Name der Gruppe die der User standardmäßig hinzugefügt werden soll

UserString = Userkürzel

 

Bei mir habe ich noch eine Fehlergruppe wenn es eine Gruppe nicht gibt! Denn Rechtschreibfehler bedeuten sonst neue Gruppen :)

 

' Die Gruppe wird gesucht und als Ziel definiert.

Set GroupObj = GetObject("" &"WinNT://" & _

DomainString &"/"& GroupString &"")

' Der User wird in die entsprechende Gruppe integriert.

GroupObj.Add (""&"WinNT://"& _

DomainString &"/"& UserString &"")

Set DomainObj = Nothing ' Variable wird frei gegeben '

Set GroupObj = Nothing ' Variable wird frei gegeben '

Link zu diesem Kommentar

Erst mal fettes danke das sich jemand dieser Sache mit annimmt, da ich ja nicht wirklich der Script profi bin bin ich sehr dankbar für die Hilfe. :jau:

Da ich denn Server gerade nicht an der Hand habe spiele ich das mal so durch :

 

edit 1 "VMware sei dank ich kanns doch testen"

aber was soll ich sagen es klappt so nicht, wenn ich das richtig sehe dann muss ich die Gruppe ja aus der TXT lesen dazu sollte sie deffiniert sein. was ich in zeile 13 ja mache

GroupObj = Feld(3)

aber genau da habe ich schon denn Fehler das das Script stopt

 

 

Fehlermeldung : Index außerhalb des gültigen bereichs.

 

User Datei

 

Name1,Vorname1, Password1,Gruppe1

Name2,Vorname2, Password2,Gruppe2

 

 

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(1)

Vorname = Feld(1)

Nachname = Feld(0)

Passwort = Feld(2)

GroupObj = Feld(3)

Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort,GroupOb)

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)

' Die Gruppe wird gesucht und als Ziel definiert.

Set GroupObj = GetObject("" &"WinNT://" & _

DomainString &"/"& GroupString &"")

' Der User wird in die entsprechende Gruppe integriert.

GroupObj.Add (""&"WinNT://"& _

DomainString &"/"& UserString &"")

Set DomainObj = Nothing ' Variable wird frei gegeben '

Set GroupObj = Nothing ' Variable wird frei gegeben '

End Sub

 

 

Ich werde das morgen mal testen, und dann mal einen Staus geben wie das so ausieht und ob ich noch ein Problem habe, bzw wie ich es beseitigt habe, sollte jemandem was auffallen kann er mich ja schon mal drauf aufmerksam machen

:)

Spart immer wieder Stundenlanges sitzen weil man den Fehler mal wieder selber nicht sieht.

Link zu diesem Kommentar

Hallo,

 

hat jmd vielleicht ne Idee, wie ich in das Script noch die Option

 

"Benutzer kann das Kennwort nicht ändern"

 

mit einbaue?

 

Ich hab bei Microsoft diesen Artikel gefunden, aber blicke echt nicht durch. Ein bisschen viel Script für einen Harken der gesetzt wird.

 

 

http://www.microsoft.com/technet/scriptcenter/scripts/ad/users/pwds/uspwvb11.mspx

 

Gruß

 

clu

Link zu diesem Kommentar

Den Link den du gefunden hast ist dooch prima und zeigt auf das du, um an die flags heranzukommen, wohl wirklich nicht dran vorbei kommst. Ich habe das bei mir noch nicht integriert und sehe auch nicht so den Sinn drin, besonders da in größeren Firmen die Wahl des Passwortes "ein persönliches Gut" ist.

 

http://www.microsoft.com/technet/scriptcenter/guide/sas_usr_vrbt.mspx

 

Ist noch eine Referenz für die sich versuchen wollen, denn ganz alles was oben im Link --> Skript ist wird nicht gebraucht. Bei der Erschaffung eines Users noch etwas weniger, da die meisten Umgebungsvariablen schon gegeben sind.

 

Linuxx (Etwas in Eile :) )

Link zu diesem Kommentar

Hi @ all erst mal hier ein dank an Linuxx klasse hast mir super geholfen.

 

Aber da ich gerade noch nen fehler habe, das

-Benutzer ohne PW eingetragen werden

-Benutzer ist deaktivert

 

Wollte ich mal fragen ob hier jemand nen Vorschlag hat wie man das beseitigen kann.

 

 

 

Dim fso, f, Zeile, Feld, WshShell, b 
Set fso    = CreateObject("Scripting.FileSystemObject") 
Set f      = fso.OpenTextFile ("user.txt",1,0)      

Do while not f.AtEndOfLine  

Zeile = f.readLine 
Feld = split(Zeile,",") 
Vorname     = Feld(0) 
Nachname = Feld(1) 
pw = Feld(2) 
Gruppe = Feld(3) 

  Set b = nothing      
  Set WshShell = nothing 
  Set WshShell = WScript.CreateObject("WScript.Shell")   
  Set ouo = GetObject(""&"LDAP://OU=students,DC=home,DC=local"&"")

  Set b = ouo.Create("user", "CN=" & Vorname) 

  With b 
     .sn = Vorname 
     .givenName = Nachname 
     .displayName = Vorname &" "& Nachname 
     .samaccountname = Vorname 
     .userPrincipalName = Vorname& ""&"@home.local"&""
     .profilePath = "\\127.0.0.1\daten\profile\"& Vorname 
     .homeDirectory = "\\127.0.0.1\daten\home\"& Vorname 
     .homeDrive = "z:" 
     .pwdLastSet = 0 
     .SetInfo 


     Set GroupObj = GetObject("" &"WinNT://home/"& Gruppe &"")  
     GroupObj.Add (""&"WinNT://home/"& Vorname &"") 

WScript.Sleep(1000)
ret = WshShell.Run ("verz.cmd " & Vorname,0,1)

End With
loop 
f.close 
Wscript.Quit  

Link zu diesem Kommentar

hi,

man kanns auch mit nem Einzeiler auf Commandline lösen

 

------

For /F "eol=; tokens=1,2,3,4 delims=, " %i in (users.txt) DO dsadd user cn=%i,ou=students,dc=home,dc=local -fn %j -pwd %k -disabled %l

----

 

bei diesem Beispiel steht in der userst.txt in der 1. Spalte der distinguishedname des users, in der 2.Spalte sein Vorname, in der dritten das password und in der 4. spalte ein yes or no für disabled or enabled

 

ein ";" am Zeilenanfang kommentiert eine Zeile aus, getrennt sind Spalten durch ein Komma oder ein Leerzeichen.

Per dsadd user /? kannst du dir für alle userattribute die parameter ansehen. Je nach anzahl must du halt bei tokens weiterzählen und am Ende den Parameter mit einem %Buchstaben setzen z.B. -profilepath %o etc.

 

gleiche Zeile funktioniert auch bei jedem anderen Objecttyp

 

cu

blub

Link zu diesem Kommentar

Hi, bin neu hier... wollte grad das script vom thorgood nehmen wo auf der ersten seite stand.

habe einen w2k server mit sp4. der server heisst w2kdom. die domaene home.local

ich habe sogar ne ou angelegt mit dem namen test

habe das script demenstprechend abgeändert:

adduser.vbs

__________

 

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(3)

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=home,DC=local") LINE 19

Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname) LINE 20

Dim WshShell, ret

Set WshShell = WScript.CreateObject("WScript.Shell")

b.Put "sAMAccountName", Benutzer

b.Put "userPrincipalName", Benutzer & "@domaene.de"

b.Put "profilePath", "\\w2kdom\user_daten\profile\" & Benutzer

b.Put "homeDirectory", "\\w2kdom\user_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

 

 

------------------------------------------

nun das problem.

 

der fehler ist in zeile 19 zeichen 1 Eine referenzauswertung wurde vom server zurückgesendet.

ich möchte das die user in die ou test angelegt werden. nur irgendwie schaff nich weiter zu kommen......... :confused:

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.




×
×
  • Neu erstellen...