Ich22 10 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 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 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 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 Diese ganze Geschichte kommt mir sehr spanisch vor. Zitieren Link zu diesem Kommentar
Ich22 10 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 Hallo, mir kommen die einträge auch nicht ganz richtig vor aber auf: www.it-academy.cc/content/article_browse.php?ID=1173 steht es genau so! Danke für die schnelle Antwort. MfG Ich22 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 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. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 :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 Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 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 ;) Zitieren Link zu diesem Kommentar
Das Urmel 10 Geschrieben 15. Mai 2006 Melden Teilen Geschrieben 15. Mai 2006 Off-Topic:Echo yes | nickt zustimmend :p Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 16. Mai 2006 Melden Teilen Geschrieben 16. Mai 2006 Off-Topic:Musst du auch nicht, die beziehen sich ja auf unser Board. Und das Script sowie die Datei sind von uns.Du muss nicht zweifeln, ist von mir ;)Ich bitte um gerechte und harte Bestrafung für meine Zweifel. ;) Zitieren Link zu diesem Kommentar
g0dl!k3 10 Geschrieben 30. Mai 2006 Melden Teilen Geschrieben 30. Mai 2006 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ß Zitieren Link zu diesem Kommentar
Stiftler`s Dad 10 Geschrieben 13. September 2006 Melden Teilen Geschrieben 13. September 2006 Hallo Zusammen, ist es auch möglich das Script so umzuschreiben das man ohnen AD arbeitet. Also nur die Benutzerlokal anlegt? Zitieren Link zu diesem Kommentar
matze13 10 Geschrieben 13. September 2006 Melden Teilen Geschrieben 13. September 2006 hallo habe das gleiche problem, wie mein vorredner. suche ein script, daß mir benutzer auf einem server ohne AD einrichtet. mit AD geht in visual basic bestens, bei einbindung der activeds.tlb unter verweise. aber wie spreche ich die computerwerwaltung eines servers oder auch eines lokalen pc an? gruß matthias Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 13. September 2006 Melden Teilen Geschrieben 13. September 2006 such einfach mal in der onlinehilfe nach "net user /add" am einfachsten schreibst du eine Batchdatei etwa so: for /F %%a in (user.txt) do (net user ....) cu blub Zitieren Link zu diesem Kommentar
GEDAG 10 Geschrieben 19. September 2006 Melden Teilen Geschrieben 19. September 2006 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. Zitieren Link zu diesem Kommentar
jojo2711 10 Geschrieben 9. Oktober 2006 Melden Teilen Geschrieben 9. Oktober 2006 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 Zitieren Link zu diesem Kommentar
niLs2k4 10 Geschrieben 16. Oktober 2006 Melden Teilen Geschrieben 16. Oktober 2006 Hast du dort auch den Namen deiner Domäne geändert in der Zeile 19? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.