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

hallo,

ich habe mir die 10 seiten durch gelesen und auch den SUPER-SCRIPT genommen und versucht anzupassen *g*

aber die Gruppen zuweißung klappt leider nicht :( kann mir einer helfen??

also es geht alles, wie gesagt nur bis auf die die schüler in die gruppe schueler zu packen

 

-----user.txt-----
user1,vor1,nach2,pwd,Stufe_A,schueler
user2,vor2,nach2,pwd,Stufe_B,schueler
----ende user.txt-----
----vbscript.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)
Stufe = Feld(4)
GroupObj = Feld(5)
Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort,Stufe,GroupObj)
Loop
f.Close
Wscript.Quit(0)

Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort,Stufe,GroupObj)
Dim ouo, b
Set ouo = GetObject("LDAP://ou=" & Stufe & ",ou=schueler,dc=testschule2,dc=SON,dc=stadt,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 & "@testschule2.son.stadt.de"
'b.Put "profilePath", "\\kserver\daten\profile\" & Benutzer
b.Put "homeDirectory", "\\kserver\home$\" & Stufe & "\" & Benutzer
b.Put "homeDrive", "H:"
b.put "memberOf", "cn=Schueler,ou=Gruppen,ou=unterricht,DC=testschule2,DC=SON,DC=stadt,DC=de"
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("LDAP://kserver.testschule2.SON.stadt.de/CN=" & Benutzer & ",OU=" & Stufe & ",ou=SCHUELER,DC=testschule2,DC=SON,DC=stadt,DC=de")
'Der User wird in die entsprechende Gruppe integriert.
GroupObj.Add (""&"WinNT://kserver/" & Benutzer & "")
Set DomainObj = Nothing ' Variable wird frei gegeben '
Set GroupObj = Nothing ' Variable wird frei gegeben '

End Sub
----ende vbscript.vbs-----
----verz.cmd----
md \\kserver\home$\schueler\%1\%2
echo J | cacls \\kserver\home$\schueler\%1\%2 /C /E /G Administratoren:F
echo J | cacls \\kserver\home$\schueler\%1\%2 /C /E /G domaene\%2:F
----ende verz.cmd----

 

ich hoffe ihr könnt mir helfen

mfg

Bäumchen

Link zu diesem Kommentar

Hi,

 

diese Zeile entfernen

b.put "memberOf", "cn=Schueler,ou=Gruppen,ou=unterricht,DC=testschule2,DC=SON,DC=stadt,DC=de"

dieser Teil kann weg

Set GroupObj = GetObject("LDAP://kserver.testschule2.SON.stadt.de/CN=" & Benutzer & ",OU=" & Stufe & ",ou=SCHUELER,DC=testschule2,DC=SON,DC=stadt,DC=de")
'Der User wird in die entsprechende Gruppe integriert.
GroupObj.Add (""&"WinNT://kserver/" & Benutzer & "")

und so wird mit LDAP eine Gruppenzugehörigkeit angelegt

Set objGroup = GetObject ("LDAP://cn=" & GroupObj & ",ou=Gruppen,ou=unterricht,DC=testschule2,DC=SON,DC=stadt,DC=de")
objGroup.PutEx 3, "member", Array("cn=" & Vorname & " " & Nachname & ",ou=" & Stufe & ",ou=schueler,dc=testschule2,dc=SON,dc=stadt,dc=de")
objGroup.SetInfo

 

thorgood

Link zu diesem Kommentar

hallo

danke schon mal werde es morgen testen!

 

Set objGroup = GetObject ("LDAP://cn=" & GroupObj & ",ou=Gruppen,ou=unterricht,DC=testschule2,DC=SON,DC=stadt,DC=de")
objGroup.PutEx 3, "member", Array("cn=" & Vorname & " " & Nachname & ",ou=" & Stufe & ",ou=schueler,dc=testschule2,dc=SON,dc=stadt,dc=de")
objGroup.SetInfo

thorgood

was bdeutet hier "member"

 

mfg

bäumchen

Link zu diesem Kommentar

Hy,

 

also das fertige Skript werde ich posten sobald es fertig ist aber bei dem Punkt TS mitgeben habe ich noch so meine Probleme

 

user.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)

Mail = Feld(4)

GroupString = Feld(5)

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

Loop

f.Close

Wscript.Quit(0)

 

Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort,Mail)

Dim ouo, b

Set ouo = GetObject("LDAP://OU=Benutzer,DC=playboy83,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 & "@playboy83.de"

b.Put "mail", Mail & "@playboy83.de"

b.Put "profilePath", "\\windows2003dc\daten\profile\" & Benutzer

b.Put "homeDirectory", "\\windows2003dc\daten\home\" & Benutzer

b.Put "homeDrive", "f:"

b.Put "c", "DE"

b.Put "co", "DEUTSCHLAND"

b.Put "l", "Stadt"

b.Put "postalCode", "PLZ"

b.Put "postOfficeBox", "Postfach"

b.Put "st", "Bundesland"

b.Put "streetAddress", "Strasse Zeile 1" & vbCrlf & "Strasse Zeile 2" & vbCrlf

b.SetInfo

b.SetPassword Passwort

b.AccountDisabled = False

b.SetInfo

b.Put "pwdLastSet", 0

b.SetInfo

WScript.Sleep(1000)

ret = WshShell.Run ("verz.cmd " & Benutzer,0,1)

Set GroupObj = GetObject("WinNT://playboy83/" & GroupString)

GroupObj.Add ("WinNT://playboy83/" & Benutzer)

Set DomainObj = Nothing

Set GroupObj = Nothing

Set colUsers = GetObject("LDAP://CN=,DC=playboy83,DC=de")

For Each objUser In colUsers

objUser.AllowLogon = 1

objUser.TerminalServicesHomeDirectory = "\\windows2003dc\daten\TS\User"

objUser.TerminalServicesHomeDrive = "t:"

objUser.TerminalServicesProfilePath = "\\windows2003dc\daten\TS\Profile"

objUser.SetInfo

Next

End Sub

 

Fehler Zeile 50 die 1 aber wieso ? :suspect:

 

Gruß CoolAce

Link zu diesem Kommentar

Hi CoolAce,

 

ist nicht immer einfach herzubekommen was du mit dem Script alles maches willst. :)

 

Gehe ich recht in der Annahme du möchtest dem angelegten Benutzer Einstellungen für TS mitgeben

...
b.Put "streetAddress", "Strasse Zeile 1" & vbCrlf & "Strasse Zeile 2" & vbCrlf 
b.SetInfo 
b.SetPassword Passwort
b.AccountDisabled = False
b.Put "pwdLastSet", 0
b.TerminalServicesHomeDirectory = "\\Server\..."
b.TerminalServicesHomeDrive = "t:"
b.TerminalServicesProfilePath = "\\Server\..."
b.SetInfo
WScript.Sleep(1000)

 

Den Teil löschen

For Each objUser In colUsers
objUser.AllowLogon = 1
objUser.TerminalServicesHomeDirectory = "\\windows2003dc\daten\TS\User"
objUser.TerminalServicesHomeDrive = "t:"
objUser.TerminalServicesProfilePath = "\\windows2003dc\daten\TS\Profile"
objUser.SetInfo
Next

 

thorgood

Link zu diesem Kommentar

Hy,

 

vielen vielen Dank für deine Mühe und hilfe, weiß es echt zu schätzen als Skript Flasche.

Sorry. hätte dazu schreiben sollen das es sich um die TS Settings handeln sollte :D

 

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)

Mail = Feld(4)

GroupString = Feld(5)

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

Loop

f.Close

Wscript.Quit(0)

 

Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort,Mail)

Dim ouo, b

Set ouo = GetObject("LDAP://OU=Benutzer,DC=playboy83,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 & "@playboy83.de"

b.Put "mail", Mail & "@playboy83.de"

b.Put "profilePath", "\\windows2003dc\daten\profile\" & Benutzer

b.Put "homeDirectory", "\\windows2003dc\daten\home\" & Benutzer

b.Put "homeDrive", "f:"

b.Put "c", "DE"

b.Put "co", "DEUTSCHLAND"

b.Put "l", "Stadt"

b.Put "postalCode", "PLZ"

b.Put "postOfficeBox", "Postfach"

b.Put "st", "Bundesland"

b.Put "streetAddress", "Strasse Zeile 1" & vbCrlf & "Strasse Zeile 2" & vbCrlf

b.SetInfo

b.SetPassword Passwort

b.AccountDisabled = False

b.Put "pwdLastSet", 0

b.TerminalServicesHomeDirectory = "\\windows2003dc\Daten\TS\home"

b.TerminalServicesHomeDrive = "t:"

b.TerminalServicesProfilePath = "\\windows2003dc\daten\TS\Profile"

b.SetInfo

WScript.Sleep(1000)

ret = WshShell.Run ("verz.cmd " & Benutzer,0,1)

Set GroupObj = GetObject("WinNT://playboy83/" & GroupString)

GroupObj.Add ("WinNT://playboy83/" & Benutzer)

Set DomainObj = Nothing

Set GroupObj = Nothing

End Sub

 

Kleiner Fehler noch (Das objekt unterstützt diese Eigenschaft oder Mehtode nicht)

Zeile 42 die 1

b.TerminalServicesHomeDirectory = "\\windows2003dc\Daten\TS\home"

 

Gruß

 

Cool Ace :confused:

Link zu diesem Kommentar

Hallo zusammen,

 

also, diesmal keine Fehler aber er setzt diese TS Settings nicht wo da unten stehen für den Account , wieso :confused:

 

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)

Mail = Feld(4)

GroupString = Feld(5)

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

Loop

f.Close

Wscript.Quit(0)

 

Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort,Mail)

Dim ouo, b

Set ouo = GetObject("LDAP://OU=Benutzer,DC=playboy83,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 & "@playboy83.de"

b.Put "mail", Mail & "@playboy83.de"

b.Put "profilePath", "\\windows2003dc\daten\profile\" & Benutzer

b.Put "homeDirectory", "\\windows2003dc\daten\home\" & Benutzer

b.Put "homeDrive", "f:"

b.Put "c", "DE"

b.Put "co", "DEUTSCHLAND"

b.Put "l", "Stadt"

b.Put "postalCode", "PLZ"

b.Put "postOfficeBox", "Postfach"

b.Put "st", "Bundesland"

b.Put "streetAddress", "Strasse Zeile 1" & vbCrlf & "Strasse Zeile 2" & vbCrlf

b.SetInfo

b.SetPassword Passwort

b.AccountDisabled = False

b.Put "pwdLastSet", 0

b.SetInfo

b.Put "TerminalServicesHomeDirectory", "\\windows2003dc\Daten\TS\home" & Benutzer

b.Put "TerminalServicesHomeDrive", "t:"

b.Put "TerminalServicesProfilePath", "\\windows2003dc\daten\TS\Profile" & Benutzer

WScript.Sleep(1000)

ret = WshShell.Run ("verz.cmd " & Benutzer,0,1)

Set GroupObj = GetObject("WinNT://playboy83/" & GroupString)

GroupObj.Add ("WinNT://playboy83/" & Benutzer)

Set DomainObj = Nothing

Set GroupObj = Nothing

End Sub

 

Danke für eure Hilfe

 

Gruß

 

Coolace :cool:

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...