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 das Script verwendet und es funktioniert auch soweit, meine gewünschten User werden angelegt, jedoch kommt immer in Zeile 32 Zeichen 1, Das Objekt ist bereits vorhanden, da danach das Script wohl abgebrochen wurde funktioniert auch meine Datei verz.cmd nicht richtig, das heißt ich habe keine Zugriffsrechte als Admin auf den Ordner! Und kann ihn somit auch nicht wieder löschen.

 

Meine Testdomain heißt: mydomain.local

Der Server: Bildungsserver

 

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://CN=Users,DC=mydomain,DC=local")

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

Dim WshShell, ret

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

b.Put "sAMAccountName", Benutzer

b.Put "displayName", Vorname & " " & Nachname

b.Put "givenName", Vorname

b.Put "sn", Nachname

b.Put "userAccountControl", 66082

b.Put "userPrincipalName", Benutzer & "@mydomain.local"

b.Put "profilePath", "\\Bildungsserver\Profile\" & Benutzer

b.Put "homeDirectory", "\\Bildungsserver\home\" & Benutzer

b.Put "homeDrive", "K:"

b.SetInfo

b.SetPassword Passwort

b.AccountDisabled = False

b.SetInfo

WScript.Sleep(1000)

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

End Sub

 

 

verz.cmd

 

md

echo J | cacls /C /E /G Administratoren:F

echo J | cacls /C /E /G mydomain.local

echo J | cacls /C /E /R Jeder

md

echo J | cacls /C /E /G Administratoren:F

echo J | cacls /C /E /G mydomain.local

echo J | cacls /C /E /R Jeder

 

Zusätlich sollen wir noch ein Script schreiben das es möglich macht die User, die mit dem ersten Script angelegt wurden wieder vollständig zu löschen inklusive der Home und Profileverzeichnisse.

 

Das erstellen der User mit dem Freeware tool ist super und funktioniert auch super, nur leider kann ich damit keine user löschen!

 

Es wäre super wenn ihr mir helfen könntet, denn ich bin im Scripten nicht besonders bewandert!

 

MfG

 

Ich22

Link zu diesem Kommentar
mir kommen die einträge auch nicht ganz richtig vor aber auf:
Hallo :) ,

 

ich habe nicht die Zeit, mir das in allen Einzelheiten anzuschauen bei der IT-Akademie.

 

der Term verz.cmd ist ein Programmaufruf. Wo ist die datei den gespeichert, was steht drin, was bewirkt sie?

 

Das md steht für make directory. Dahinter füehlt aner der Name des zu erstellenden Verzeichnissses.

 

Wozu das gut sein soll "echo J | cacls /C /E /G Administratoren:F" kann ich mir denken, zweifle aber an der Funktionsfähigkeit.

 

Ich gebe dir mal einen Auschnitt meines Skriptes.

Link zu diesem Kommentar
:CreateUserFolder
set UserProfil=%ProfilDrive%\%Edu%\%Voc%\Klausur%Group%\%Candidate%Profil

set UserHome=%HomeDrive%\%Edu%\%Voc%\Klausur%Group%\%Candidate%Home

if not exist %UserProfil% md %UserProfil%
if not exist %UserHome% md %UserHome%
rem pause

goto :eof

:Credentials
cacls %UserProfil% /e /g %Candidate%:f
cacls %UserHome% /e /g %Candidate%:f
cacls %UserProfil% /e /g Dozenten:r
cacls %UserHome% /e /g Dozenten:r
cacls %UserProfil% /e /r %Group%
cacls %UserHome% /e /r %Group%
cacls %UserProfil% /e /r Jeder
cacls %UserHome% /e /r Jeder
goto :eof

Link zu diesem Kommentar
ich habe nicht die Zeit, mir das in allen Einzelheiten anzuschauen bei der IT-Akademie.

 

Musst du auch nicht, die beziehen sich ja auf unser Board. Und das Script sowie die Datei sind von uns.

 

Wozu das gut sein soll "echo J | cacls /C /E /G Administratoren:F" kann ich mir denken, zweifle aber an der Funktionsfähigkeit.

 

Du muss nicht zweifeln, ist von mir ;)

Link zu diesem Kommentar
  • 2 Wochen später...

Hi,

 

erstmal Respekt für das tolle Script ist echt Klasse !

Ich habe es für meine Bedürfnisse angepasst und es läuft soweit wunderbar.

Das einzigste was mir jetzt nocht fehlt ist der Haken bei "Benutzer kann Kennwort nicht ändern". Mit dem was auf Seite 6 oder 7 steht blick ich nicht ganz durch"

 

Mein Script sieht immo wie folgt aus:

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

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=LT's,DC=dom30,DC=local")

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

Dim WshShell, ret

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

b.Put "sAMAccountName", Benutzer

b.Put "displayName", Vorname & " " & Nachname

b.Put "givenName", Vorname

b.Put "sn", Nachname

b.Put "userAccountControl", 66082

b.Put "userPrincipalName", Benutzer & "@DOM30.local"

b.Put "profilePath", "\\te140-30-server\daten\profile\" & Benutzer

b.Put "homeDirectory", "\\te140-30-server\daten\home\" & Benutzer

b.Put "homeDrive", "H:"

b.Put "scriptPath", "login.cmd"

b.SetInfo

b.SetPassword Passwort

b.AccountDisabled = False

b.SetInfo

WScript.Sleep(1000)

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

End Sub

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

Was muss ich wo einfügen damit der Benutzer sein Kennwort nicht ändern kann ?

Ich bedanke mich schonmal im Vorraus für Eure Hilfe !

 

Gruß

Link zu diesem Kommentar
  • 3 Monate später...

hi di ho leute,

 

hab das script vor ziemlich genau einem jahr auf verwendet. ist einfach spitze.

 

Nun hab ich aber ein problem.

 

Ich hab eine liste wo die schon angelegte USer drin sind und aber auch neue dazugekommen sind.

 

Müsste diese nun wieder einpflegen.

 

Sollte doch mit ner IF-Anweisung gehen, oder??

 

Mein Problem:

 

Ich weiss nicht wo und wie die genau aussehen soll. Könnte mir da jemand helfen?!?!

 

Also quasi ne IF-Anweisung die abfragt ob benutzer schon vorhanden ist und wenn ja nichts tun und wenn nein anlegen.

Link zu diesem Kommentar
  • 3 Wochen später...

Hallo ich habe da Script benutzt und bin super zufrieden! Tolle Arbeit!

Nun suche ich noch die Möglichkeit im Script einzustellen das der User sein Kennwort nicht ändern kann und das es nicht abläuft.

Kann mir jemand dabei helfen?

 

Wenn ich das Script richtig verstanden habe muss ich was bei

b.Put "userAccountControl", 66082

ändern aber wie finde ich die richtige nummer?

 

In Google habe ich schon gesucht aber leider nix gefunden.

 

Gruß Joachim

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