Active Directory Nutzer via VB-Script hinzufügen
Hallo Zusammen,
ich versuche mich schon seit kurzer Zeit an einem Script das es mir vereinfacht Active Directory Nutzer anzulegen. Ich habe einige Beispiele gefunden im Internet und sie versucht umzuschreiben. Es soll eine Textdatei einlesen und darauß die Information für die Nutzer nehmen nur findet es die Textdatei nicht.
Ich habe aber im angegeben Pfad die Datei. Ich bedanke mich schon mal im Voraus für jede Hilfe
Grüß
ich versuche mich schon seit kurzer Zeit an einem Script das es mir vereinfacht Active Directory Nutzer anzulegen. Ich habe einige Beispiele gefunden im Internet und sie versucht umzuschreiben. Es soll eine Textdatei einlesen und darauß die Information für die Nutzer nehmen nur findet es die Textdatei nicht.
msg = "Kurzbeschreibung:" & vbCr & "Dieses Skript legt automatisiert neue Konten an und liest die dafür nötigen Angaben aus einer userliste ." & vbCr & vbCr & "Skript jetzt ausführen?"
antwort = MsgBox(msg, vbYesNo + vbQuestion)
if antwort = vbNo then
MsgBox "Abbruch", vbExclamation
WScript.Quit
end if
protokoll = "c:\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 = "c:\userlist"
' 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
Ich habe aber im angegeben Pfad die Datei. Ich bedanke mich schon mal im Voraus für jede Hilfe
Grüß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202881
Url: https://administrator.de/contentid/202881
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
13 Kommentare
Neuester Kommentar
Funktioniert einwandfrei bei mir. ;) Also ist das Script schonmal in Ordnung.
Bin als lokaler Admin auf dem DC angemeldet.
Jetzt könnte es bei dir eben noch ein Rechteproblem sein.
Gibt er bei dir zum Schluss eigentlich die Meldung, dass der User angelegt sei, oder kommt er erst gar nicht so weit? Die kam bei mir nämlich, aber im AD wurde mir der User nicht angezeigt. F5 half auch nicht. Wenn ich allerdings nach dem Benutzernamen gesucht habe, hat er ihn auch gefunden. Fenster zu und "Active Directory - Benutzer und -Computer" neu auf, und schon war er da. :D
Gruß
Bin als lokaler Admin auf dem DC angemeldet.
Jetzt könnte es bei dir eben noch ein Rechteproblem sein.
Gibt er bei dir zum Schluss eigentlich die Meldung, dass der User angelegt sei, oder kommt er erst gar nicht so weit? Die kam bei mir nämlich, aber im AD wurde mir der User nicht angezeigt. F5 half auch nicht. Wenn ich allerdings nach dem Benutzernamen gesucht habe, hat er ihn auch gefunden. Fenster zu und "Active Directory - Benutzer und -Computer" neu auf, und schon war er da. :D
Gruß