cschra 10 Geschrieben 9. September 2005 Melden Teilen Geschrieben 9. September 2005 Moin Moin, ich suche nach einer Möglichkeit in einer nicht ADS-Umgebung mehrere User anzulegen. Im Board selber hab ich was über die Suche gefunden, allerdings war das alles für AD... Angelegt werden müssen die User auf einem Windows 2000 Terminal Server. Ist sowas überhaupt Möglich??? MfG Zitieren Link zu diesem Kommentar
cschra 10 Geschrieben 9. September 2005 Autor Melden Teilen Geschrieben 9. September 2005 Hmm also ich habe im Resource Kit ein Tool namens addusers.exe gefunden. Damit bekomm ich das schon hin, nur fehlt mir die Gruppenzugehörigkeit.... Zitieren Link zu diesem Kommentar
marka 584 Geschrieben 9. September 2005 Melden Teilen Geschrieben 9. September 2005 (bearbeitet) Hi cschra! Ist etwas komplizierter, aber es geht recht gut mit VB-Script: Lege zuerst eine Textdatei namens userliste.txt an. Dort trägst Du, durch Semikola getrennt, nach folgendem Schema die zu erstellenden User ein: Benutzername;Passwort;Kommentar;Gruppe Für jeden Benutzer bitte eine eigene Zeile benutzen! Beispiel: User1;xyz;Hilfsadmin;Administratoren User2;1234;Normaluser;Benutzer Danach erstellst Du das eigentliche Script: ' (C) 2005 by Markus Kafurke, www.marka-it.net msg = "Kurzbeschreibung:" & vbCr & "Dieses Skript legt automatisiert neue Konten an und liest die dafür nötigen Angaben aus A:\userliste.txt ." & vbCr & vbCr & "Skript jetzt ausführen?" antwort = MsgBox(msg, vbYesNo + vbQuestion) if antwort = vbNo then MsgBox "Abbruch", vbExclamation WScript.Quit end if protokoll = "A:\protokoll.txt" ' Das WScript.Network-Objekt liefert den Namen des Computers, ' der als Vorgabe angeboten wird 'SYS: Windows Script Host Runtime Library Set net = CreateObject("WScript.Network") ComputerName = InputBox("Bitte geben Sie den Computernamen ein!",,net.ComputerName) On Error Resume Next Set computer = GetObject("WinNT://" & ComputerName & ",computer") If Err.number = 0 Then MsgBox "Verbindung hergestellt." Else MsgBox "Keine Verbindung zu " & ComputerName WScript.Quit End If On Error Goto 0 dateiname = InputBox("Wo liegen die Kontoinformationen?",,"A:\user.txt") ' Datei öffnen 'SYS: Microsoft (r) Script Runtime Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FileExists(dateiname) Then MsgBox "Die Datei existiert am angegebenen Ort nicht!" WScript.Quit End If Set infos = fs.OpenTextFile(dateiname) ' Protokolldatei öffnen Set output = fs.CreateTextFile(protokoll, True) ' Datei zeilenweise bis zum Ende (atEndOfStream) lesen: Do Until infos.AtEndOfStream ' eine Zeile einlesen zeile = infos.ReadLine ' Informationen durch Semikola splitten details = Split(zeile, ";") ' Konto anlegen Set kontoneu = computer.Create("User", Trim(details(0))) kontoneu.SetPassword Trim(details(1)) kontoneu.Description = Trim(details(2)) On Error Resume Next kontoneu.SetInfo If Err.number = 0 Then WriteLog details(0) & " angelegt." AddToGroup Trim(details(3)), kontoneu.ADsPath Else WriteLog details(0) & " konnte nicht angelegt werden!" End If Err.Clear On Error Goto 0 Loop ' Dateien schließen infos.Close output.Close ' Protokoll anzeigen: 'SYS: Microsoft (r) Script Runtime Set wshshell = CreateObject("WScript.Shell") wshshell.Run """" & protokoll & """" Sub AddToGroup(gruppenname, kontoname) On Error Resume Next Set gruppe = GetObject("WinNT://" & ComputerName & "/" & gruppenname & ",group") gruppe.Add kontoname gruppe.SetInfo If Err.number = 0 Then WriteLog "Konto ist Mitglied in Gruppe " & gruppenname Else WriteLog "Konto konnte nicht zum Mitglied in Gruppe " & gruppenname & " gemacht werden." End If Err.Clear End Sub Sub WriteLog(text) ' eine Zeile ins Protokoll schreiben output.WriteLine text End Sub Diese Datei speicherst Du dann unter "useranlegen.vbs". Alternativ, um Tipparbeit zu sparen, hänge ich die Datei als *.txt an. Nicht vergessen, diese in useranlegen.vbs umzubenennen... Ein Doppelklick legt dann alle User wie gewünscht lokal an und speichert die ausgeführten Aktionen unter a:\Protokoll.txt. Ich nutze dies eigentlich recht häufig in Firmen, die zwar ein Netzwerk, aber kein AD haben. So spare ich mir die ganze Klck- und Tipparbeit! Beide Dateien auf Diskette oder USB-Stick speichern, und ab geht die Luzie! Hope, this helps useranlegen.txt bearbeitet 14. September 2009 von marka Zitieren Link zu diesem Kommentar
basti2005 0 Geschrieben 23. Oktober 2013 Melden Teilen Geschrieben 23. Oktober 2013 Das Thema hier ist zwar Schon etwas älter, aber vollt kann man mir hier doch etwas helfen. Ich möchte die Pfade der "userliste" so legen das sie immer von dem aktuellen ort ausgeführt wird wo die .vbs datei liegt. Ist das überhaubt möglich ? Da müsste ich doch nur Zeile 28 anpassen, oder ? dateiname = InputBox("Wo liegen die Kontoinformationen?",,"A:\user.txt") Zitieren Link zu diesem Kommentar
testperson 1.680 Geschrieben 23. Oktober 2013 Melden Teilen Geschrieben 23. Oktober 2013 Hi, den Pfad der vbs Datei bekommst du mit Dim sCurPath sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".") Aber wäre es nicht passender mit der Zeit zu gehen und die Powershell oder gar ein AD zu nutzen? Gruß Jan Zitieren Link zu diesem Kommentar
basti2005 0 Geschrieben 24. Oktober 2013 Melden Teilen Geschrieben 24. Oktober 2013 Genau das wollte ich auch machen das Script für eine AD verwenden. Nur leider scheitert es daran das er nicht das anlegt was in einer AD verlangt wird. Zitieren Link zu diesem Kommentar
testperson 1.680 Geschrieben 24. Oktober 2013 Melden Teilen Geschrieben 24. Oktober 2013 Hi, per VBS: http://www.faq-o-matic.net/2012/11/19/user-im-ad-mit-shares-und-loginscript-mittels-csv-datei-anlegen/ per Powershell: http://infrablog.escde.net/2013/01/25/benutzerverwaltung-im-ad-uber-powershell-skripte/ per CSVDE: http://www.faq-o-matic.net/2003/10/25/csvde-zum-import-und-export-von-ad-daten-nutzen/ Gruß Jan 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.