Jump to content

Domänen-Nutzer über ein 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

Wer kann schnell helfen?

Ich habe ein Script zum anlegen von Nutzern in einer Dömäne. Soweit funktioniert alles ganz gut, aber im letzten Teil sollen die Nutzer bestimmte Gruppen zugewiesen bekommen und das geht leider nicht. Da ich mich nicht so gut mit den VB-Scripts auskenne finde ich den Fehler nicht.

Als Betriebssystem wird beim Server WinNT 4 eingesetzt.

 

Hier das Script:

 

msg = "Kurzbeschreibung:" & vbCr & "Dieses Skript legt automatisiert neue Konten an und liest die dafür nötigen Angaben aus C:\Nutzer.TXT. LEGEN SIE DIESE DATEI AN, BEVOR SIE DAS SKRIPT STARTEN!" & vbCr & vbCr & "Wollen Sie das 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 wshnet = CreateObject("WScript.Network")

 

'DomainName = InputBox("Bitte geben Sie den Domänennamen ein!",,net.DomainName)

On Error Resume Next

Set domain = GetObject("WinNT://"DOMÄNE"")

If Err.number = 0 Then

MsgBox "Verbindung hergestellt."

Else

MsgBox "Keine Verbindung zu " & DomainName

WScript.Quit

End If

On Error Goto 0

 

dateiname = InputBox("Wo liegen die Kontoinformationen?",,"h:\nutzer_anlegen\pal29.txt")

 

' Datei öffnen

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 = domain.Create("User", Trim(details(0)))

kontoneu.SetPassword Trim(details(1))

kontoneu.fullname = Trim(details(2))

kontoneu.Description = Trim(details(3))

kontoneu.HomeDirDrive = "H:\"

kontoneu.HomeDirectory = "\\"SERVER"\%username%"

kontoneu.Profile = "\\"SERVER"\Benutzerprofile\%username%"

kontoneu.LoginScript = "start.cmd"

On Error Resume Next

kontoneu.SetInfo

 

If Err.number = 0 Then

WriteLog details(0) & " angelegt."

AddToGroup Trim(details(4)), 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:

Set wshshell = CreateObject("WScript.Shell")

wshshell.Run """" & protokoll & """"

 

 

Sub AddToGroup(gruppenname, kontoname)

On Error Resume Next

gruppen = Split(gruppenname, "|")

for each gruppename in gruppen

Set gruppe = GetObject("WinNT://"DOMÄNE" ,domain "/" & gruppename & ,group")

gruppe.Add kontoname

gruppe.SetInfo

next

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

 

' Ende des Scipts

 

Also, der Nutzer wird angelegt, aber keine Gruppe (außer DomänenBenutzer) zugeordnet. Warum?

 

Wer kann helfen?

Link zu diesem Kommentar

Hallo stmen!

 

Danke für die schnelle Antwort.

Leider führte Dein Vorschlag auch nicht zur Lösung. Der Zustand ist unverändert. Der Benutzer wird sauber in der Domäne eingerichtet und die Gruppen werden nicht mit übergeben.

 

Eine E-Mail kann ich Dir über das Forum leider nicht senden, da ich noch neu bin und est eine bestimmte Anzahl Beiträge erreicht habe.

 

Das Sript ist außerdem Vollständig dargestellt. Dentext einfach aus dem Forum kopieren und als *.vbs abspeichern.

 

Die Textdatei pal29.txt sieht folgendermaßen aus:

12345678;windows;Name1, Vorname1;Azubi PAL 29A;Gruppe1|Gruppe2|Gruppe3

87654321;windows;Mame2, Vorname2;Azubi PAL 29A;Gruppe1|Gruppe2|Gruppe3

 

Durch kopieren kann auch der Text in eine einfache Textdatei übernommen werden (gesamt 2 Zeilen).

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