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
Benutzer automatisiert anlegen
Erstellt von
cschra
, 09. Sep 2005 08:24
2 Antworten in diesem Thema
#3
Geschrieben 09. September 2005 - 14:29
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:
Danach erstellst Du das eigentliche Script:
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
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:
' © 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 ® 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 ® 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
Angehängte Dateien
Bearbeitet von marka, 14. September 2009 - 12:46.
Grüße von der Nordsee
Markus
Kennt Ihr das TSP - Prinzip in Communities?
First thinking, second searching, last posting!
Kein Support per PN oder E-Mail, bitte im Forum posten, dann haben alle etwas davon
Markus
Kennt Ihr das TSP - Prinzip in Communities?
First thinking, second searching, last posting!
Kein Support per PN oder E-Mail, bitte im Forum posten, dann haben alle etwas davon











