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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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:

Geschrieben

Morgen,

 

vielen Dank für die Antwort, aber ich habe Windows 2003 Enterprise Edition mit SP1 drauf .

Deshalb verstehe ich es nicht da die anderen Sachen mit b.Put auch funktioniert haben,so Sachen wie Profil Pfad und die geschichten :confused:

 

Gruß

 

CoolAce :cool:

Geschrieben

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:

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